Polyglot is a highly extensible compiler front end for the Java programming language. Using Polyglot, language extensions can be implemented without duplicating code from the framework itself. Polyglot has been used to implement domain-specific languages, to explore language design ideas, to simplify Java for pedagogical purposes, and for various code transformations such as optimization and fault injection. Polyglot has been used for both major and minor language extensions.
Miscellaneous bugfixes. An assumption that return statements occur only within methods has been fixed. A copy(NodeFactory) method has been added to the Node interface to generate a new version of a node with a different node factory.
URL: Polyglot extensible compiler framework