The Khepera Transformation System
A system for DSL implementation by source-to-source transformation
Khepera is a tool kit for rapid implementation and long-term maintenance of domain-specific languages via source-to-source transformation, separated into three phases: parsing, AST transformation, and pretty-printing.
Transformation language
For the implementation of AST transformations, the Khepera system offers a special `little language' that is compiled into C code. This transformation language allows transformation rules to be specified that perform conditional pattern-matches on trees. A special construct for iterating over children is provided, as well as a construct for escaping to C.
Homepage
http://www.cs.unc.edu/~faith/khepera.html