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

Re: Za asistenta

by Jovan Popovic
petak, 13. januar 2006 - 15:42.

kada se oporavljate od gresaka u iskazima stavicete nesto kao
stmt ::= error SEMI

i parser e se oporaviti od iskaya oblika:
f(2,5 ,,, ;

ako parser ne uspe da se oporavi u toj smeni imacete neku smenu oblika

stmt ::= IF error END_IF

i on ce pokusati da se oporavi pomocu ove smene u ulazima oblika:

if(x<y)
x = a+b;
g=3;
f(2,5 ,,,
endif

ovde nece uspeti da se oporavi pomocu
error SEMI
ali bi u kontroli koja ga okruzuje mogao da se oporavi pomocu IF error
END_IF

Slicno vazi i za glavnu funkciju, ako se ne oporavi do prve ; oporavice se
izmedju BEGIN END sekcije.

> Ponovicu pitanje:
>
>
>
> Kako da se parser na greske u iskazima u glavnom programu i f-ji razlicito
> ponasa, tj. koja je svrha preskakanja linija do kraja bloka kontrole i
> kako
> to da se izvede?
>
> Isto vazi i za klase, tj ako imam 5 metoda i greska je u potpisu prve,
> zasto
> da se ostale 4 ne provere?
>
>
>
>
>
> Hvala,
>
> Nikola
>
>
>
>