2020-11-15
W celu kompilacji wszystkich programów załączonych jako rozwiązania do zadań z listy należy wykonać polecenie make
. Wówczas stworzone zostaną pliki wykonywalne ex-*.o
. Poniżej, w osobnych sekcjach jest opisane działanie każde z nich i w jaki sposób należy je uruchamiać.
Napisz we FLEX-ie program, który czyta dowolny plik tekstowy, usuwa w nim wszystkie białe znaki na końcu i na początku wiersza, zmienia wszystkie wystąpienia ciągów tabulatorów i spacji na dokładnie jedną spację, likwiduje puste linie, oraz na końcu dopisuje liczbę linii i słów (ciągi znaków oddzielone białymi znakami).
W celu uruchomienia programu należy wykonać polecenie
./ex-1.o < plik-wejściowy > plik-wyjściowy
oczywiście po skompilowaniu.
Napisz w FLEX-ie program który usuwa wszystkie komentarze w plikach źródłowych języka Python.
W celu uruchomienia programu należy wykonać polecenie
./ex-2.o < plik-wejściowy > plik-wyjściowy
oczywiście po skompilowaniu.
Napisz w FLEX-ie program, który usuwa wszystkie komentarze w programach napisanych w języku C++, a po włączeniu odpowiedniej opcji pozostawia komentarze dokumentacyjne (wg. Doxygen-a co najmniej następujące
/**
,/*!
,///
i//!
) i usuwa pozostałe.
W celu uruchomienia programu należy wykonać polecenie
./ex-3.o < plik-wejściowy > plik-wyjściowy
oczywiście po skompilowaniu.
Żeby komentarze dokumentacyjne nie zostały usunięte należy dodać parametr o jakiejkolwiek wartości, przykładowo:
./ex-3.o a < plik-wejściowy > plik-wyjściowy
Używając FLEX-a zaimplementuj prosty kalkulator postfiksowy (odwrotna notacja polska) dla liczb całkowitych wykonujący operacje dodawania (
+
), odejmowania (-
), mnożenia (*
), dzielenia całkowitoliczbowego (/
), potęgowania (^
) i modulo (%
). Wyrażenie do policzenia powinno być napisane w jednej linii. Program powinien wyświetlać dla każdej linii wynik albo komunikat o błędzie (jak najbardziej szczegółowy).
Klasycznie uruchamiając program wykonany w Flexie
./ex-4.o
program będzie czytał stdin
jako plik wejściowy linijka po linijce.