Re: Oporavak od gre¹aka (CUP)
Ja mislim da ne moze jer ce posle BEGIN procitati statements pa naici na gresku. Oporavice se do prve ; (kao statement) ali ako recimo poslednji statement, pre END nema ; onda ne moze. Ja radim byaccj i tu moze da se oporavi ako stavis smenu tipa
main_function ::=BEGIN statemens error END
Mozda moze i nekako elegantnije, ali meni je ovo prvo palo na pamet. Mozda ce i kod tebe da uspe...
Pozz
Vaso Putica <vaso@putica.com> wrote: Je l' ima neko ideju za¹to dobijam gre¹ku "Couldn't repair and continue
parse Object" sa ovom gramatikom i test programom? Zar ne bi trebalo da
"main_function ::= BEGIN error END" odradi oporavak po¹to "error SEMI"
ne mo¾e jer nedostaje ; iza x?
// CUP ----------------------------------
start with program;
program ::= prog_decl main_function;
prog_decl ::= PROGRAM ID SEMI;
main_function ::= BEGIN END;
main_function ::= BEGIN statements END;
main_function ::= BEGIN error END {:
System.out.println("main_function_error");
:};
statements ::= statement statements;
statements ::= statement;
statement ::= ID EQ INTEGER_LITERAL SEMI;
statement ::= error SEMI {: System.out.println("statement error"); :};
// microJava ----------------------------------
program pp;
begin
z=4;
x
end.
-----------------------------------------------------------------
unsubscribe:
minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
-----------------------------------------------------------------
---------------------------------
Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.
main_function ::=BEGIN statemens error END
Mozda moze i nekako elegantnije, ali meni je ovo prvo palo na pamet. Mozda ce i kod tebe da uspe...
Pozz
Vaso Putica <vaso@putica.com> wrote: Je l' ima neko ideju za¹to dobijam gre¹ku "Couldn't repair and continue
parse Object" sa ovom gramatikom i test programom? Zar ne bi trebalo da
"main_function ::= BEGIN error END" odradi oporavak po¹to "error SEMI"
ne mo¾e jer nedostaje ; iza x?
// CUP ----------------------------------
start with program;
program ::= prog_decl main_function;
prog_decl ::= PROGRAM ID SEMI;
main_function ::= BEGIN END;
main_function ::= BEGIN statements END;
main_function ::= BEGIN error END {:
System.out.println("main_function_error");
:};
statements ::= statement statements;
statements ::= statement;
statement ::= ID EQ INTEGER_LITERAL SEMI;
statement ::= error SEMI {: System.out.println("statement error"); :};
// microJava ----------------------------------
program pp;
begin
z=4;
x
end.
-----------------------------------------------------------------
unsubscribe:
minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
-----------------------------------------------------------------
---------------------------------
Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.
- Follow-Ups:
- Re: Oporavak od gre¹aka (CUP)
- From: Vaso Putica <vaso@putica.com>
- Re: Oporavak od gre¹aka (CUP)
- References:
- Oporavak od grešaka (CUP)
- From: Vaso Putica <vaso@putica.com>
- Oporavak od grešaka (CUP)
Previous by date: Pitanje
Next by date: Re: Oporavak od gre¹aka (CUP)
Previous by thread: Oporavak od grešaka (CUP) Next by thread: Re: Oporavak od gre¹aka (CUP)
Previous by thread: Oporavak od grešaka (CUP) Next by thread: Re: Oporavak od gre¹aka (CUP)