Professional Documents
Culture Documents
Lab 3
Lab 3
(f)lex (1)
Priprema za laboratoriju 1. Analizirati sledee flex programe: lab311.l
REC [a-zA-Z]+ %{ int nreci; %} %% {REC} printf("(%d) %s: %d ", ++nreci, yytext, yyleng);
lab312.l
%{ int nreci; %} %% [a-zA-Z]+ printf("(%d) %s: %d ", ++nreci, yytext, yyleng);
2.
3.
Odrediti ponaanje leksikog analizatora koji je definisan sledeim kodom i uporediti ga sa analizatorom iz take 2: lab33.l
%% . \n ECHO; ECHO;
4.
Rad u laboratoriji 1. 2. Kreirati direktorijum ~/TeOR/ImePrezime/Lab3. U kreiranom direktorijumu kreirati testni fajl test.txt:
jedan dva tri 123 456 789 cetiri pet sest 012 345 678
3. 4.
Koristei neki od editora, kreirati fajl lab311.l iz pripreme i snimiti fajl u direktorijum ~/TeOR/ImePrezime/Lab3. Koritenjem flex-a, generisati fajl lex.yy.c koji predstavlja leksiki analizator:
flex lab311.l
U sluaju greaka, vratiti se na korak 3. 5. 6. 7. 8. 9. Uveriti se u postojanje fajla lex.yy.c naredbom ls. Kompajlirati leksiki analizator koritenjem GNU C kompajlera:
gcc lex.yy.c -lfl -o lab311