Re: Izmene mikrojave ispravke
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
> -----------------------------------------------------------------
>
>
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
> -----------------------------------------------------------------
>
>
- References:
- Izmene mikrojave ispravke
- From: Igor Stojkovic <stojkovic7@verat.net>
- Izmene mikrojave ispravke
Previous by date: Re: u vezi sutrasnjih predavanja i vezbi
Next by date: Re: Jos par pitanja za asistenta
Previous by thread: Re: Izmene mikrojave ispravke Next by thread: u vezi sutrasnjih predavanja i vezbi
Previous by thread: Re: Izmene mikrojave ispravke Next by thread: u vezi sutrasnjih predavanja i vezbi