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

Re: Izmene mikrojave ispravke

by Jovan Popovic
ponedeljak, 09. januar 2006 - 14:26.

Tacka treba da bude iza end reci na kraju fajla, stavio sam to u primere u
postavci.

Ako parser naidje na gresku pokusace da se oporavi tako sto redukuje prvu
error smenu koju moze da iskoristi.
Na primer za iskaz, ako nema znaka ";" na kraju iskaza taj iskaz ce
spojiti sa sledecim i prijavice gresku. Ako ni jedan iskaz u bloku nema ;
na kraju ici ce do prve zatvorene zagrade i proglasice gresku u celom
bloku. ako nema zatvorene zagrade nastavice da parsira do tacke na kraju
fajla ili end kljucne reci, i prglasice ceo fajl kao pogresan.
Na primer, za ulaz:

begin
x = y;
x++
z++
.

oporavice se pomocu smene:
program -> error '.'
Ili neke slicne, i prijavice da je ceo fajl neispravan iako je do greske
doslo u iskazu x++

Pozdrav


> Hello ri4pp,
>
> Neki od vas su se zalili da ih zbunjuje end. (sa tackom) zato sto tako
> nije u
> postavci. Pa ovo je iz postavke tj. iz Izmene mikrojave.doc
>
> 2) Umesto main funkcije koristi se blok begin end.
>
> Dakle end. je definitivno sa tackom.
>
> Pre nego sto nastavim samo da pomenem da sam jos uvek na problemu pod A)
> pa
> mozda nesto od ovoga sto cu reci ne vazi za B i C.
>
> Mene malo zbunjuje ono sto je napisano za oporavak od gresaka u
> postavci. Sta
> da radimo sa slucajevima koji nisu spomenuti? Npr. sta ako program ne
> pocinje
> recju program ili ima nepravilno ime ili tom redu fali ';' na kraju
> reda?
>
> Sta ako deklaraciji ili iskazu fali ; na kraju? Ako ne pazimo na to opet
> ce se
> prijaviti greska zato sto nikako ne moze da se legalan izraz iz jednog
> reda
> (samo bez ';') nastavi legalnim izrazom u sledecem redu ali se nece
> prijaviti da
> fali ';'. Npr. za
>
> z = x+y
> x++;
>
> prijavice se sintaksna greska zbog x koje kao IDENT prati prvi IDENT y.
>
> Isto vazi i za zagrade tj. sta ako fali zatvorena zagrada? Negde posle
> zagrade
> ce naci gresku sigurno ali da bi je ispravio trazice ')' a nje mozda
> uopste
> nema.
>
> --
> Best regards,
> Igor mailto:stojkovic7@verat.net
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
> -----------------------------------------------------------------
>
>