[antlr-interest] Apparent bug in antlr 3.1.1

Terence Parr parrt at cs.usfca.edu
Wed Dec 17 16:19:21 PST 2008


Hi Bill, can you send me the typed in grammar personally so I can  
check it out?
Thanks,
T
On Dec 17, 2008, at 3:57 PM, Bill Cox wrote:

> Hi Folks,
>
> Working through the exercises in section 3.2 of TDAR, I get the  
> following error,
> compiling ExprParser.java:
>
> java org.antlr.Tool Expr.g
> ANTLR Parser Generator  Version 3.1.1
> javac ExprTest.java ExprLexer.java ExprParser.java
> ExprParser.java:417: cannot find symbol
> symbol  : method expr6()
> location: class ExprParser
>                     value = expr6();
>                             ^
> Note: ExprParser.java uses unchecked or unsafe operations.
> Note: Recompile with -Xlint:unchecked for details.
> 1 error
> make: *** [ETest.class] Error 1
>
> By changing the java file as shown in the following diff, I was able
> to build and run the example parser.
>
> thoris:~/src/antlr bill$ diff ExprParser.java ExprParser.java.patched
> 1c1
> < // $ANTLR 3.1.1 Expr.g 2008-12-17 15:43:40
> ---
>> // $ANTLR 3.1.1 Expr.g 2008-12-17 15:35:34
> 417c417
> <                      value = expr6();
> ---
>> 		    value = expr6;  // removed parens before semicolon
> 461c461
> < }
> \ No newline at end of file
> ---
>> }
>
> It looks as if antlr 3.1.1 is making a method call where it should be
> making a scalar variable reference to expr6, which is declared and  
> assigned-to
> in these lines:
>
>> fgrep expr6 ExprParser.java
>        int expr6 = 0;
>                    expr6=expr();
>                     value = expr6();
>
> I looked on altlr.org for the machine-readable Expr.g file to check my
> data-entry, and I didn't find it.
>
> CAVEAT: I'm learning java and antlr at the same time here, and could
> be wildly off base.
>
> Comments?
>
> Regards,
> Bill
>
> 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