I’ve pulled all the Antlr parse tree editing routines into its own library yesterday. This library fills a gap between what is offered in the Antlr runtime (a psuedo XPath library, AddChild and Parent accessors for ParserRuleContext), and a full-blown transformation system like ASF+SDF.
This library contains:
- a beefed-up XPath version 2 library;
- a tree construction routine from an s-expression notation and an Antlr parser and lexer.
- Antlr parse tree node replace and delete;
- an exhanced parse tree node type that supports an observer pattern to keep data structures in sync when you modify a parse tree.
Right now it’s just in C#, but I plan at some point to translate it to Java because it is very useful.