[antlr-interest] Context Sensitive Keyword Support?

Jim Idle jimi at temporal-wave.com
Wed Feb 16 13:38:58 PST 2011


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: antlr-interest-bounces at antlr.org [mailto:antlr-interest-
> bounces at antlr.org] On Behalf Of chris king
> Sent: Wednesday, February 16, 2011 1:32 PM
> To: antlr-interest at antlr.org
> 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


More information about the antlr-interest mailing list