Oporavak od gresaka - zagrade
Za oporavak od gresaka u izrazima uveo sam smenu
exprFakt : '('error')'
Medjutim kod izraza :
a=((2+3+) : (4-5));
postoje dve greske - prva unutar zagrade (2+3+) i od nje se uspesno oporavi, a druga zbog znaka ":".
Ali kod ovog drugog oporavka parser upari prvu zagradu sa pretposlednjom zagradom (iako bi meni vise odgovaralo da je upari sa poslednjom), i tako proglasi ono izmedju za error a to je u ovom slucaju
(2+3+) : (4-5
I tako na kraju kad naidje na poslednju zagradu on prijavi sintaksnu gresku.
Kako ovo moze da se unapredi tj. kad naidje na zagradu ispred broja 4 da nju uzme u obzir i da zna da se ona uparuje sa zagradom posle broja 5.
Oporavak bi mogao da se razresi uvodjenjem smene
naredbaDodele : ID '=' error ';'
ali prijava te greske bi navela programera na pogresan zakljucak da mu je neispravna naredba dodele iako je greska u izrazu.
Pozdrav
Pera
exprFakt : '('error')'
Medjutim kod izraza :
a=((2+3+) : (4-5));
postoje dve greske - prva unutar zagrade (2+3+) i od nje se uspesno oporavi, a druga zbog znaka ":".
Ali kod ovog drugog oporavka parser upari prvu zagradu sa pretposlednjom zagradom (iako bi meni vise odgovaralo da je upari sa poslednjom), i tako proglasi ono izmedju za error a to je u ovom slucaju
(2+3+) : (4-5
I tako na kraju kad naidje na poslednju zagradu on prijavi sintaksnu gresku.
Kako ovo moze da se unapredi tj. kad naidje na zagradu ispred broja 4 da nju uzme u obzir i da zna da se ona uparuje sa zagradom posle broja 5.
Oporavak bi mogao da se razresi uvodjenjem smene
naredbaDodele : ID '=' error ';'
ali prijava te greske bi navela programera na pogresan zakljucak da mu je neispravna naredba dodele iako je greska u izrazu.
Pozdrav
Pera
Previous by date: Termin odrzavanja kolokvijuma iz PP
Next by date: Re: Termin odrzavanja kolokvijuma iz PP
Previous by thread: Re: Termin odrzavanja kolokvijuma iz PP Next by thread: Cisto da razjasnim sebi
Previous by thread: Re: Termin odrzavanja kolokvijuma iz PP Next by thread: Cisto da razjasnim sebi