[antlr-interest] Find X :-)
John B. Brodie
jbb at acm.org
Tue May 18 08:25:00 PDT 2010
On Tue, 2010-05-18 at 17:10 +0200, Sameh W. Zaky wrote:
> OK, Sorry for that!
>
> Just after I have sent this message I realized that the problem is that
> ANTLR cannot find my method myLookUpMethod..
> I have defined it in @members{} part of the grammar file.. But ANTLR still
> cannot find it.. Any idea?
since it is in the lexer, the method needs to be defined in a
@lexer::members{} section....
@members{} defaults to the parser when placed in a combined grammar.
>
> On Tue, May 18, 2010 at 4:35 PM, Sameh W. Zaky <sameh.wz at gmail.com> wrote:
>
> > Dear All,
> >
> > I have in my grammar:
> >
> > fragment UNIT_NAME :;
> >
> > ID : ('a'..'z'|'_')*
> > {
> > if ( myLookUpMethod( *X* ) ) $type=UNIT_NAME;
> > }
> > ;
> > ===============================
> >
> > Instead of *X*, I wanna refer to the text that is in red.. For example,
> > the token "w_aw_s" is ID. I want to take the text of this token "w_aw_s"
> > and look it up in a certain array and if it is in this array then I set its
> > type to UNIT_NAME.
> >
> > P.S.: I tried to replace *X* with *$text* but I receive the error:
> >
> > [16:15:56] symbol : method myLookUpMethod(java.lang.String)
> > [16:15:56] location: class SimpleTestLexer
> > [16:15:56] if(myLookUpMethod(getText())) _type=UNIT_NAME;
> > [16:15:56] ^
> > [16:15:56] 1 error
> >
> > Find X :-)
> >
> > Many Thanks !
> > --
> > Sameh W. Zaky
> >
>
>
>
More information about the antlr-interest
mailing list