[antlr-interest] keywords

Abhijit Nandkumar Ghonge Abhijit_Ghonge at infosys.com
Thu Aug 3 05:37:45 PDT 2006


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



options{

       k = 6;

    testLiterals = false;

    caseSensitive = false;

    caseSensitiveLiterals = false;

    charVocabulary = '\3'..'\377'; // extended ASCII (3-255 in octal
notation)

}





 /*================LANGUAGE STRUCTURE===================*/



ENDIF  :      "endif" ;



THEN   :      "then" ;



ELSE   :      "else" ;



WHILE  :      "while" ;



IF            :      "if" ;



DO            :      "do" ;



GOTO   :      "goto" ;



PRINT  :      "print"       ;



       But the problem is that, the antlr cannot differentiate between
the keywords and the LITERAL token defined:



protected

VALID_ID_CHARS options { testLiterals = true;}

       :      ('a'..'z' | '_')

       ;



protected

CHARLITERAL options { testLiterals = true;}

       :      ('a'..'z' | '_' | '0'..'9' |'@'| '$')

       ;





LITERAL     options { testLiterals = true;}

      :     VALID_ID_CHARS (CHARLITERAL)*

      ;



Can I use my keywords as literals directly in the parser and still
manage to make them case insensitive. Please help.



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***
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20060803/531ab2f5/attachment-0001.html


More information about the antlr-interest mailing list