2.2.2 Eclipse Public License    
2.8/5 18


Polyglot is a highly extensible compiler front end for the Java programming language.




Polyglot is a highly extensible compiler front end for the Java programming language. The project is implemented as a Java class framework using design patterns to promote extensibility. 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; our experience suggests that the cost of implementing an extension scales well with the degree to which it modifies Java.

Polyglot compiles and runs on (at least) Linux, Solaris, Windows, and Mac OS X. Ant and the JFlex scanner generator are required to build it. On Windows, you will also need Cygwin.

Polyglot includes PPG, an extensible LALR parser generator based on the CUP LALR parser generator for Java (extended with improved debugging support).

Polyglot supports Java version 1.4, but a Polyglot extension that supports Java 5. has been developed at UCLA.

A version of Polyglot written in the J& language is also under development. It makes extending the base compiler even easier.

What's New in This Release:

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.
Last updated on June 11th, 2007

#compiler frontend #Java programming language #building Java extensions #Polyglot #compiler #frontend #Java

0 User reviews so far.