> Did I miss something? yes, because of me. I failed to mention part of the problem: identifiers can be keywords as long as the keyword has an underbar or a shift-number character like asterisk, percent, dollar, etc. after it. (I didn't design the script language, so I can't change that).
----- Original Message ----- From: Indhu Bharathi To: 'Avid Trober' ; [email protected] Sent: Wednesday, June 10, 2009 10:59 PM Subject: RE: [antlr-interest] Excluding keywords As stated in the link you provided, there is nothing you have to do to get this functionality. But 'identifier' should be a lexer rule. I guess your grammar should be something like this: APPLY : 'apply'; BROWSE : 'browse' . ID : ('A'..'Z' | 'a'..'z') ('A'..'Z' | 'a'..'z' | '0'..'9' | '_')*; Now, if you write a rule like r : ID; only ID that is not a keyword will match this. Am I oversimplifying the problem. Did I miss something? Cheers, Indhu From: [email protected] [mailto:[email protected]] On Behalf Of Avid Trober Sent: Thursday, June 11, 2009 9:10 AM To: [email protected] Subject: [antlr-interest] Excluding keywords I saw something close to my problem on the wiki, http://www.antlr.org/pipermail/antlr-interest/2006-June/016563.html But, I've got an "extra rule", filter. Must I resort to an action, or is there a way to do this purely in the grammar file? filter : // identifier, but *not* a keyword ; keyword : APPLY | BROWSE | CLOSE | OPEN ; identifier : ('A'..'Z' | 'a'..'z') ('A'..'Z' | 'a'..'z' | '0'..'9' | '_')* ; --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en -~----------~----~----~----~------~----~------~--~---
List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
