Tip Tokena
Na vezbama iz pp Jovan Popovic je izmedju ostalog
preporucio da tokene podelimo u nekoliko osnovnih
tipova kao sto bi bili "operatori, kljucne reci, promenljive,
konstante...". To bi navodno olaksalo realizaciju sintaksnog
analizatora. Ja sam to shvatio na sledeci nacin :
Prema prezentaciji o Jlex-u u kojoj pise
" Kako razlikovati tip tokena?
Izvodenjem novih klasa iz klase Yytoken
Analizator vraca podklase
Postavljanjem atributa tip u klasu Yytoken
Tipovi se navode u klasi sym.java "
Dakle za svaki tip tokena kao sto je operator, kljucna rec,...
trebalo bi izvesti potklasu iz klase Yytoken. To bi znacilo
da u okviru svake potklase treba da postoji dodatni atribut
koji bi sluzio za razlikovanje podtipova, npr u slucaju
operatora koji je konkretno operator u pitanju (+, -,*, /,++...),
u slucaju kljucne reci o kojoj kljucnoj reci se radi
(class, public, package) itd. Sta u tom slucaju znaci ona
teza iz prezentacije :
" Postavljanjem atributa tip u klasu Yytoken ",
jel se misli na tip koji bi odredio da li se radi o operatoru,
kljucnoj reci, promenljivoj, ... ili bi taj tip nosio kompletnu
informaciju kao sto je konkretna vrsta operatora, koja je
konkretna kljucna rec itd.
Sta dalje, znaci ono :
" Tipovi se navode u klasi sym.java "?
Na koje se tipove misli ?
Na kraju potpuno me je zbunila postavka domaceg u kojoj
se i ne pominje klasa Yytoken, nego klasa Symbol.
Ona ima atribut int sym koji bi trebao da govori o tipu
tokena. Kako onda realizovati ono sa deljenjem u osnovne
tipove koji dalje imaju svoje podtipove za svaku konkretnu
instancu. Da li iz klase Symbol treba izvoditi potklase
za svaki osnovni tip tokena kao sto bi radili za klasu
Yytoken ?
U uputstvu za domaci pise " Projektovati klasu
java_cup.runtime.Symbol ...".
Sta predstavlja java_cup.runtime? Jel to ime paketa u
kojem treba da se nalazi klasa Symbol? Da li je to vec
negde definisan paket u okviru okruzenja za JLex ?
Pozdrav
preporucio da tokene podelimo u nekoliko osnovnih
tipova kao sto bi bili "operatori, kljucne reci, promenljive,
konstante...". To bi navodno olaksalo realizaciju sintaksnog
analizatora. Ja sam to shvatio na sledeci nacin :
Prema prezentaciji o Jlex-u u kojoj pise
" Kako razlikovati tip tokena?
Izvodenjem novih klasa iz klase Yytoken
Analizator vraca podklase
Postavljanjem atributa tip u klasu Yytoken
Tipovi se navode u klasi sym.java "
Dakle za svaki tip tokena kao sto je operator, kljucna rec,...
trebalo bi izvesti potklasu iz klase Yytoken. To bi znacilo
da u okviru svake potklase treba da postoji dodatni atribut
koji bi sluzio za razlikovanje podtipova, npr u slucaju
operatora koji je konkretno operator u pitanju (+, -,*, /,++...),
u slucaju kljucne reci o kojoj kljucnoj reci se radi
(class, public, package) itd. Sta u tom slucaju znaci ona
teza iz prezentacije :
" Postavljanjem atributa tip u klasu Yytoken ",
jel se misli na tip koji bi odredio da li se radi o operatoru,
kljucnoj reci, promenljivoj, ... ili bi taj tip nosio kompletnu
informaciju kao sto je konkretna vrsta operatora, koja je
konkretna kljucna rec itd.
Sta dalje, znaci ono :
" Tipovi se navode u klasi sym.java "?
Na koje se tipove misli ?
Na kraju potpuno me je zbunila postavka domaceg u kojoj
se i ne pominje klasa Yytoken, nego klasa Symbol.
Ona ima atribut int sym koji bi trebao da govori o tipu
tokena. Kako onda realizovati ono sa deljenjem u osnovne
tipove koji dalje imaju svoje podtipove za svaku konkretnu
instancu. Da li iz klase Symbol treba izvoditi potklase
za svaki osnovni tip tokena kao sto bi radili za klasu
Yytoken ?
U uputstvu za domaci pise " Projektovati klasu
java_cup.runtime.Symbol ...".
Sta predstavlja java_cup.runtime? Jel to ime paketa u
kojem treba da se nalazi klasa Symbol? Da li je to vec
negde definisan paket u okviru okruzenja za JLex ?
Pozdrav
- Follow-Ups:
- Re: Tip Tokena
- From: "Jovan Popovic" <jovan@etf.bg.ac.yu>
- Pitanje u vezi domaceg (CUP)
- From: "Misa Vasic" <misav@verat.net>
- Re: Tip Tokena
Previous by date: Premestanje web sajta predmeta
Next by date: u ponedeljak nece biti casova
Previous by thread: Premestanje web sajta predmeta Next by thread: Pitanje u vezi domaceg (CUP)
Previous by thread: Premestanje web sajta predmeta Next by thread: Pitanje u vezi domaceg (CUP)