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.

Reply via email to