[antlr-interest] Rematching AST Nodes

Courtney Falk court at infiauto.com
Mon May 2 05:29:16 PDT 2011


> You grammar doesn't have an 'aaa' token.  It does have CHARACTERS
> tokens.  If 'aaa' is special, then you need to match it in your grammar
> like a keyword.  Then you can reference it in your tree grammar.
> Otherwise you will need to match any CHARACTERS token in your rematch
> rule and do what you need to when the value is 'aaa' and do something
> else when it is not.
>
> Your tree grammars can only work with the tokens your lexers produce
> (and the same set that your parsers use as well).

That's unfortunate.  I'm working on a workaround using semantic 
predicates.  The huge downside is that I have to implement in a separate 
piece of Java code the boolean validation function for the semantic 
predicate.  Then in a second separate piece of Java code I implement the 
string parsing function.  This solution is far less elegant than 
implementing everything as ANTLR logic.


Court


More information about the antlr-interest mailing list