[antlr-interest] Keyword match
Alexey Demakov
demakov at ispras.ru
Wed Aug 24 04:57:40 PDT 2005
If you have no identifier rule in lexer, you should define all keywords in lexer rules:
BASE : "base" ;
Otherwise keywords should be in tokens section:
tokens
{
BASE = "base";
}
And use tokens instead of strings in parser:
ss_base :
BASE l_name=localName
{
// do something with l_name
}
;
I beleive that strings in parser rules are processed correctly only when
they are belong to some lexer rule where literals are tested.
Regards,
Alexey
-----
Alexey Demakov
TreeDL: Tree Description Language: http://treedl.sourceforge.net
RedVerst Group: http://www.unitesk.com
----- Original Message -----
From: "Ersin Er" <ersin_er at yahoo.com>
To: <antlr-interest at antlr.org>
Sent: Wednesday, August 24, 2005 3:48 PM
Subject: Re: [antlr-interest] Keyword match
> Hi,
>
> I have more information about the problem now:
>
> If I do not have an identifier rule and if I have keywords in the
> grammar then the problem I explained in my previous mail (below) occurs
> (and this is normal I think). If I have include the indentifier rule in
> the lexer and if I do the testLiterals stuff and when I try to test the
> parser it just HANGS without any messages.
>
> Now, is there any suggestions?
>
> -- Ersin
>
> --- Ersin Er <ersin_er at yahoo.com> wrote:
>
> > Hi all,
> >
> > I have problem with keyword in my language. Here is a simple
> > production
> > (some action code ommited for briefness):
> >
> > ss_base :
> > "base" l_name=localName
> > {
> > // do something with l_name
> > }
> > ;
> >
> > What ANTLR says about this grammar is:
> >
> > "unexpected char 'b'"
> >
> > The 'b' here is the 'b' of the "base". I face the same problem with
> > all
> > my keywords. ANTLR allways complain about the first character of any
> > keyword in the parser productions. I did the testLiterals trick but
> > it
> > did not help and in fact I do not have an identifier type)
> >
> > Can you help please?
> >
> > Greetings.
> >
> > -- Ersin
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Mail - Helps protect you from nasty viruses.
> > http://promotions.yahoo.com/new_mail
> >
>
>
> --
> Ersin ER
> Arastirma Gorevlisi
> Hacettepe Universitesi
> Bilgisayar Muhendisligi Bolumu
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
More information about the antlr-interest
mailing list