«« ( Date ) »» // «« ( Thread ) »» // ir4pp1 - 2007

Re: simple :)

by Stanislav Vuckovic
ponedeljak, 10. decembar 2007 - 17:59.

Moze Leksicki analizator da vrati sym.INVALID. To se specificira poslednjim redom u specifikaciji regularnih izraza u lex fajlu na sl nacin!

<YYINITIAL> . {return new Symbol(sym.INVALID, yytext());}

Obrati paznju na tacku posle <YYINITIAL>, ona znaci "bilo kakav unos, osim novog reda"! Posto leksicki analizator uporedjuje novo procitani token sa regularnim izrazima po redosledu po kojem su regularni izrazi navedeni u .lex specifikaciji, ova gornja specifikacija mora da bude poslednja (a mozda i ne mora, posto je lekser alav, tj na engleskom greedy, neka me ispravi asistent)

Pozdrav!




----- Original Message -----
From: Ivan Lukic
To: ir4pp1@rti.etf.bg.ac.yu
Sent: Monday, December 10, 2007 5:35 PM
Subject: [ir4pp1] simple :)


E pa da i ja nesto priupitam,
jel moze neko da mi objasni cemu ne sluzi while petlja unutar scan() koda
(govorimo o simple.cup fajlu)?
Da budem precizniji mislim na pelju while ( simbol.sym == sym.INVALID ).
Receno je da nam to sluzi u slucaju leksicke greske,ali kad sam gledao
leksicki generator nigde nisam mogao da nadjem gde se vraca sym.INVALID.
(valjda kod . bi trebalo, na samom kraju simple.lex fajla,ali toga nema).
Dakle ako leksicki generator ne moze da vrati sym.INVALID cemu sluzi ta petlja,
odnosno interesuje me da li je sym.INVALID neka podrazumevana vrednost u ovom slucaju
i da li moze da bude prosledjenja u parser iako nije definisana?

Samo toliko :)

Pozdrav svima



------------------------------------------------------------------------------


-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
-----------------------------------------------------------------