[antlr-interest] keywords

Abhijit Nandkumar Ghonge Abhijit_Ghonge at infosys.com
Thu Aug 3 23:23:50 PDT 2006


Abhijit Nandkumar Ghonge asked:
>Hi,
>
>            I'm a newbie in Antlr. I have a grammer that uses keywords
>like if , while and so on . But all of these are case insensitive. If I
>directly use these in my parser as literals, can they be case
>insensitive.
>
>            Right now I have defined the keywords in the lexer with
>options caseSensitive set to false. E.g
>...snipped...

Hi!

For Antlr v2 you should define your keywords in a tokens section
rather than defining them in individual rules. Something like:

tokens {
   ENDIF = "endif";
   THEN = "then";
// ... and the rest of the keywords go here ...
}

Also you want the `options { testLiterals = true; }` phrase on just
the LITERAL rule and not on its protected sub-rules.

   -jbb


Hi John,
	I put all my keywords in the tokens section. Now its giving me
this error:

unexpected char: 'i'

at position of if statement. I tried to debug in Antlr Studio, the
control enters the assignmentstmnt instead of the ifstmnt and throws the
error.


Abhijit.


**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***


More information about the antlr-interest mailing list