Re: simple :)
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
-----------------------------------------------------------------
<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
-----------------------------------------------------------------
- Follow-Ups:
- Re: simple :)
- From: "Ivan Lukić" <ivan.lukic83@gmail.com>
- Re: simple :)
- References:
- simple :)
- From: "Ivan Lukić" <ivan.lukic83@gmail.com>
- simple :)
Previous by date: simple :)
Next by date: Re: simple :)
Previous by thread: simple :) Next by thread: Re: simple :)
Previous by thread: simple :) Next by thread: Re: simple :)