Polyglot extensible compiler framework
Polyglot is a framework that provides a front-end for the Java language and a means to develop extensions to Java. It has been used to develop variants of Java that support static information flow control, parameterized types, and pattern matching. It is also used by the source-to-bytecode compiler in the newest release of the Soot framework.