No you do this in the parser by allowing the keywords where ID is expected then by predicating the WHERE keyword in the LINQ rules:
.... ((WHERE)=>where_clause)? .... id : ID | WHERE | .... I have fully working C# lexer, parser, tree walker if that is what you are trying to build. It is a commercial product though. Jim > -----Original Message----- > From: [email protected] [mailto:antlr-interest- > [email protected]] On Behalf Of chris king > Sent: Wednesday, February 16, 2011 1:32 PM > To: [email protected] > Subject: [antlr-interest] Context Sensitive Keyword Support? > > Does ANTLR support context sensitive keywords? For example, in C# > "where" is a keyword only in a LINQ expression. To support this ANTLR > would need to change the lexer behavior given feedback from the parser > letting it know what context it is in. From what I hear ANTLR lexes the > entire file before passing it onto the parser. If that's true than I > guess it doesn't support this language concept. In that case, is there > a way to work around? > > Thanks, > Chris > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your- > email-address List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- 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.
