Buna ziua tuturor,
Sper ca ati revenit din pauza.
Intrucat din cauza caderii de retea UPC - Vodafone am intarziat, trebuie sa ne miscam mai repede.
Deschideti manualele la Cap al III-lea, la pg 25.
Capitolul acesta este foarte asemanator cu precedentul. Veti lucra intr-un folder Lab3 care contine vechiul fisier simple.y. Vom scrie un set de specificatii pentru Lex, intr-un fisier simple.lex.
Fisierul are tot trei parti, cititi la pagina 29.
Atentie: simple.tab.h este un fisier creat de bison, care cuprinde o serie de informatii privind acei tokens, atomii lexicali de recunoscut de catre Flex/Lex. Cititi-l. Si nu uitati sa il includeti in fisierul pentru Flex asa cum se vede la pg. 26.
Descrierile atomilor lexicali se numesc Expresii regulare.
Aveti doua exemple : DIGIT este o cifra de la 0 la 9 si se noteaza [0-9]. ID este un identificator si se noteaza, se descrie ca fiind ceva ce incepe cu o litera , urmeaza litere sau cifre oricate.
Notatia: [a-z] adica orice litera de la a la z. Urmat de [a-z0-9] adica orice caracter a..z 0..9 si urmat de * care inseamna oricate chestii din paranteza anterioara.
Explicatii cum se formeaza expresiile regulare gasiti la pagina 28-29. De studiat, atentie, originalul cartii are cateva greseli de tipar (autorul american recunoaste ... mai gresesc si americanii).
Intrebare de control: Expresiile regulare inseamna multimi de stringuri asa cum expresiile aritmetice inseamna numere.
[] Adevarat ?
[] False ?
Ce ati alege !
Generati sursele si realizati compilatorul cu comenzile de la pagina 30. Toate se folosesc impreuna chiar si cand modificati doar un fisier !
Ultima o puteti modifica asa:
$ gcc -o simple.exe simple.tab.o lex.yy.o -lm -lfl
daca vreti ca binarul de Linux sa poarte numele simple.exe
Acum il puteti porni:
$ ./simple.exe p1.sim
....
$ ./simple.exe p10.sim
Checkpoint: Trimiteti pe e-mail cel putin cele 10 outputuri produse de rularea compilatorului nostru pe cele 10 fisiere cu extensia .sim.
Urmariti cum analizatorul sintactic verifica sintaxa si cum programul se conformeaza sau nu regulilor gramaticale.
Nou: Mai stati on line, incarc pe WeTransfer filme de ajutor pentru capitolul al treilea. Ora 16:30 Sambata. Plus inva vreo 1/2 ora.
Niciun comentariu:
Trimiteți un comentariu