[antlr-interest] Problem while compiling/debugging: int cannot be dereferenced
John B. Brodie
jbb at acm.org
Sat May 14 15:06:56 PDT 2011
You have chosen a rule name that clashes with a Java class name, e.g.
Integer.
Select another name for your current Integer lexer rule.
In my opinion this is not an ANTLR problem, rather it is a user error.
On Sat, 2011-05-14 at 23:45 +0200, Dominik Halfkann wrote:
> Here are the generated java parts. But I think it's weird, if it's not an
> ANTLR problem, that would mean ANTLR builts java-files with errors, doesn't
> it? :o
> Moreover, I've copy-pasted this gramma part from an example (
> http://www.antlr.org/wiki/display/ANTLR3/Expression+evaluator), so this
> shouldn't happen at all. :(
> I will check the problem with eclipse late on, but It's weird that the
> generated .java is incorrect imo.
>
> public final int mathAtom() throws RecognitionException {
> int value = 0;
> Token i=null;
> int e = 0;
>
> [...]
> i=(Token)match(input,Integer,FOLLOW_Integer_in_mathAtom984); if
> (state.failed) return value;
> [...]
> value = Integer.parseInt((i!=null?i.getText():null));
> [...]
> }
>
> 2011/5/14 Jeff Hair <knifed at gmail.com>
>
> > http://www.coderanch.com/t/379354/java/java/int-not-dereferenced-means
> >
> > <http://www.coderanch.com/t/379354/java/java/int-not-dereferenced-means>Doesn't
> > look like it's an ANTLR problem. Check the data type of value.
> >
> > On Sat, May 14, 2011 at 8:50 AM, Dominik Halfkann <
> > dominik.halfkann at googlemail.com> wrote:
> >
> >> Hello everybody,
> >>
> >> I have a problem with ANTLR and I hope it's ok that I'm asking that here.
> >> I
> >> also posted something in the forum, but it seems to be very inactive
> >> depending on other posts I saw there...
> >>
> >> (from http://www.jguru.com/forums/view.jsp?EID=1639158)
> >> When I want to debug/compile my grammar, I allways get the error message:
> >>
> >> [14:03:38] D:\[...]\ANTLR Parser\output\SGLParser.java:2532: int
> >> cannot be dereferenced
> >> [14:03:38] value =
> >> Integer.parseInt((i!=null?i.getText():null));
> >>
> >> I don't have an explanation for that, maybe someone can help me here. Here
> >> are the important code fragments:
> >>
> >> grammar SGL;
> >> options {
> >> backtrack = true;
> >> memoize = true;
> >> }
> >>
> >> [...]
> >>
> >> mathAtom returns [int value]
> >> : '(' e=mathExpression ')' {$value = $e.value;}
> >> | i=Integer {$value = Integer.parseInt($i.text);}
> >> ;
> >>
> >> [...]
> >>
> >> Integer
> >> : '0'..'9'+
> >> ;
> >>
> >>
> >> Thank you in advance
> >>
> >> Dominik
> >>
> >> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> >> Unsubscribe:
> >> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
> >>
> >
> >
>
> 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