[antlr-interest] ANTLR Two Simple Questions :-)

Sameh W. Zaky sameh.wz at gmail.com
Tue May 18 10:25:39 PDT 2010


That was helpful, thanks :-)

On Tue, May 18, 2010 at 5:31 PM, Jim Idle <jimi at temporal-wave.com> wrote:

> Well, err the method inArray() is an imaginary method that you will write.
> It just needs to take a string and see if that string is currently something
> that should be a UNIT_NAME. If it is real simple then you could just use a
> standard List object of your choice.
>
>
>
> Please replay to the list and not my personal email - thanks J
>
>
>
> Jim
>
>
>
> From: Sameh W. Zaky [mailto:sameh.wz at gmail.com]
> Sent: Tuesday, May 18, 2010 7:21 AM
> To: Jim Idle
> Subject: Re: [antlr-interest] ANTLR Two Simple Questions :-)
>
>
>
> Dear Jim,
>
>
>
> thanks for your reply.
>
>
>
> Concerning point (1):
>
>
>
> I did as you said:
>
>
>
> fragment UNIT_NAME       :;
>
>
>
> ID      :           ('a'..'z'|'_')*
>
>          {
>
>                      if(inArray($text)) $type=UNIT_NAME;
>
>          }
>
>          ;
>
>
>
> But when I click 'run' to run a test I get the error:
>
> D:\My Documents\Downloads\Simple Test
> Grammar\output\SimpleTestLexer.java:604: cannot find symbol
>
> [16:15:56] symbol  : method inArray(java.lang.String)
>
> [16:15:56] location: class SimpleTestLexer
>
> [16:15:56]                              if(inArray(getText()))
> _type=UNIT_NAME;
>
>
>
> Any idea, how I can overcome this?
>
>
>
> Thanks again for your time :-)
>
>
>
> On Mon, May 17, 2010 at 6:54 PM, Jim Idle <jimi at temporal-wave.com> wrote:
>
>
>
> > -----Original Message-----
> > From: antlr-interest-bounces at antlr.org [mailto:antlr-interest-
> > bounces at antlr.org] On Behalf Of Sameh W. Zaky
> > Sent: Monday, May 17, 2010 7:33 AM
> > To: antlr-interest at antlr.org
> > Subject: [antlr-interest] ANTLR Two Simple Questions :-)
> >
> > Dear All,
> >
> > I am a Masters student, I use Java, and I am trying to make my parser
> > with
> > the help of ANTLR. I need this for my Masters project.
> > I am using ANTLRWorks 1.3.1
> > I had 2 questions concerning it:
> >
> > 1) How can I have a dynamic token name (or dynamic lexer)?
> > *Example: (the symbol SERVICE, will have different token values,
> > depending
>
> > on certain list (array) whose contents change over time)*
>
> Match the possible sequences generally, then change the token type if the
> strings match your dynamic list:
>
> fragment SERVICE : ;
> ID : ('a'..'z')+
>   {
>      If (myLookupMethod($text)) { $type = SERVICE; }
>   }
>  ;
>
> So the token ID will be returned if the matched text is not in your list
> and the token SERVICE will be returned if it is.
>
>
>
> > 2) Given a certain grammar, how can I (or: is it possible to) get the
> > list
> > of all possible next tokens?
>
> Read:
> http://www.antlr.org/wiki/display/ANTLR3/Custom+Syntax+Error+Recovery
>
> Do I get a masters too? ;-)
>
> Jim
>
>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>
>
>
> --
> Sameh W. Zaky
>
>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>



-- 
Sameh W. Zaky


More information about the antlr-interest mailing list