Jakarta Tool Suite
Program-Transformation.Org: The Program Transformation Wiki
Bali
Bali generate from a single grammar specification:
- lexical analyzer (JLex)
- parser (CUP)
- class hierarchies for tree nodes, including unparsing methods (pretty printer)
Jak language
The Jak language extends the Java Language with support for the implementation of meta-programs for the Java language. Jak for this purpose embeds the concrete syntax of Java in Java. These concrete syntax fragments are parsed at compile time to an SST (Surface Syntax Tree, comparable to a parse tree). By invoking the typecheck method an SST can be turned into an Abstract Syntax Tree. This happends at run-time. The SST can be pretty-printed by invoking the print method on an SST node.
Resources
Website with Software and Publications: