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

za profesora, projekat januar, konflikti i oporavak od greske

by Nemanja Avramovic
nedelja, 27. decembar 2009 - 20:31.

Postovani profesore,
u postavci projekta pise:
Sintaksne greske koje parser prepoznaje i akcije kojima se oporavlja su:
a. Neispravna definicija
i. globalne promenljive ili globalne konstante => ignorisati karaktere do ;
ii. globalne klase => ignorisati karaktere do }
iii. lokalnih promenljivih => ignorisati karaktere do ; ili {

Da li je trebalo da pise } umesto { u tacki pod iii.  ?
Jer, nije lako izvodivo da se obavi uspesan oporavak od greske, ako parser konzumira terminal LBRACE koji je potreban za dalju obradu. Ne vidim nacin da se samo detektuje LBRACE i izvrsi reduce smene za gresku. Svakako nije resenje koristiti:
error LBRACE


Takodje me interesuje, posto ste naglasili da nije dozvoljeno koristiti opciju precedence, da li nam je dozvoljeno da ostavimo jedan ili vise nerazresenih konflikata, pa da samo stavimo pri pokretanju CUP alata -expect N , tako da nam CUP svojom logikom obradi konflikte?