[antlr-interest] Problem "debugging" ANTLR error messages.
Terence Parr
parrt at cs.usfca.edu
Wed Feb 3 10:56:05 PST 2010
Hi Soren :) Heh, it's weird. i get no error when i run your grammar with
stmt : variable_decl ';' NEWLINE* | method_call ';' NEWLINE* | assignment ';' NEWLINE*;
could it be a weird char in your file?
Ter
On Feb 3, 2010, at 5:16 AM, Søren Andersen wrote:
> Hello,
>
> I'm new on this mailing list, so be nice :)
>
> I'm toying with a Java-like language for fun, and I'm having a problem with ANTLR crashing when trying to use it.
>
> Consider the following grammar:
>
> grammar test;
>
> ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
> ;
>
> INT : '0'..'9'+
> ;
>
> NEWLINE : '\r'? '\n';
>
> class_decl
> : 'class' name '{' NEWLINE* method* '}';
> method : type name '(' formalArgs? ')' NEWLINE* '{' NEWLINE+ stmt* '}' NEWLINE* ;
> formalArgs
> : type name (',' type name)*;
> type : ID NEWLINE*;
> name : ID NEWLINE*;
>
> stmt : variable_decl ';' NEWLINE* | method_call ';' NEWLINE*;
>
> assignment
> : name '=' expression;
> variable_decl
> : type name '=' expression;
>
> creation
> : 'new' name '(' arglist? ')' NEWLINE*;
> method_call
> : recievers name '(' arglist? ')' NEWLINE*;
> arglist : expression (',' expression)*;
> recievers
> : (name '.')* | '(' creation ')' '.' (name '.')* ;
> expression
> : method_call | creation | name;
>
> This works perfectly, and as expected!
> However, change the stmt rule to:
>
> stmt : variable_decl ';' NEWLINE* | method_call ';' NEWLINE* | assignment ';' NEWLINE*;
>
> And suddenly ANTLR says:
>
> [14:14:32] error(10): internal error: Exception test.g:19:64: unexpected char: 0xA0 at org.antlr.grammar.v2.ANTLRLexer.nextToken(ANTLRLexer.java:347): unexpected stream error from parsing test.g
>
> [14:14:32] error(150): grammar file test.g has no rules
> [14:14:32] error(100): test.g:0:0: syntax error: assign.types: <AST>:0:0: unexpected end of subtree
> [14:14:32] error(100): test.g:0:0: syntax error: define: <AST>:0:0: unexpected end of subtree
>
> I'm having a hard time figuring out why... Any tips? I mean - had the grammar become ambiguous or something, I'd understand - but this looks like ANTLR is crashing?
> I'm using ANTLRworks 1.3.1.
>
> Regards,
>
> Søren
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
More information about the antlr-interest
mailing list