polyglot-compiler/polyglot

Polyglot Extensible Compiler Framework for Java

Java

115

1,177 commits

updated Aug 29, 2026

See the code

README

Polyglot is a highly extensible compiler front end for the Java programming language. It 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.

See the web site at http://www.cs.cornell.edu/Projects/polyglot for more information and documentation about Polyglot.

Contributors

liujed

265 commits

chinawat

258 commits

andrewcmyers

247 commits

owenarden

121 commits

polyglot-compiler/polyglot

Polyglot Extensible Compiler Framework for Java

Java

115

1,177 commits

updated Aug 29, 2026

See the code

README

Polyglot is a highly extensible compiler front end for the Java programming language. It 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.

See the web site at http://www.cs.cornell.edu/Projects/polyglot for more information and documentation about Polyglot.

Contributors

liujed

265 commits

chinawat

258 commits

andrewcmyers

247 commits

owenarden

121 commits

Languages

Java

90.9%

Julia

5.3%

Lex

3.1%