«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2004

Re: Da li je moguce da treba ovoliko dase stampa?

by Pesic Ivan
ponedeljak, 29. novembar 2004 - 17:36.

U Micro Javi je int predeklarisano ime, ali moze i da se REDEKLARISE
(tako
pise u specifikaciji za MicroJavu). Upravo zato bi int trebalo da
prepoznaje
kao identifikator, a ne kao kljucnu rec, jer se inace ne bi moglo
redeklarisati. Gresim li, jer u ovom primeru ste naveli int kao kljucnu
rec??


Kada naidjes na int treba da vratis sym.INT; pojam kljucna rec je opisnog
karaktera koji koristimo da bi "klasifikovali reci" ali ne treba da
kljucne reci prepoznajete kao poseban tip tokena. Sintaksni ili semanticki
analizator ce kasnije odluciti da li je int stvarno kljucna rec ili nesto
drugo.

Koliko se ja secam, profesor je u jednoj poruci jos poodavno rekao da
prostudiramo gramatiku i da bi svi terminali u njoj trebalo da budu
nase klase tokena. Dakle, tamo pise:
VarDecl = Type ident ["[" ... itd. da ne navodim sve
i
Type = ident
Dato je i sta se podrazumeva pod ident tako da je valjda jasno da su int i
char ustvari ident, tj. identifikatori.

A i vi ste nam savetovali da svaka kljucna rec bude poseban token radi lakse
sintaksne analize:

Ovo je opciono mada je moj predlog da kljucne reci predstavite kao posebne
simbole sa posebnim id-ovima tj.
sym.CLASS, sym.IF itd

Bice vam lakse kada dodje sintaksna analiza.

Ispravite me ako gresim.