Skip to content
Polyglot Extensible Compiler Framework for Java
Java Julia Lex Shell HTML Perl
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings Enabled redundant null check in Eclipse. Feb 23, 2016
META-INF Expose polyglot.pth.polyglot as API. Feb 22, 2017
bin Added efg (ExtFactory generator) a tool for generating extensions' Ex… Feb 9, 2017
doc Link to Jif. Jul 31, 2015
eclipse Updated Eclipse classpath template to include itextpdf.jar. Feb 22, 2017
examples Fixed build.xml for jar-all. Nov 7, 2014
lib Merge branch 'master' of… Feb 13, 2017
skel Added ExtensionInfo.keywords(), which retrieves a set of keywords for Jul 30, 2014
src/polyglot For whatever reason, URL toURI() doesn't set path for some jar resour… Mar 5, 2019
tests Fixed an InternalCompilerError that occurred in the DefiniteAssignmen… Jul 18, 2017
testsjl5 Fix subtyping for intersection types Apr 19, 2018
testsjl7 jl7c crashes on this test case Aug 29, 2017
tools Revert "catch IOException on file close" Oct 11, 2018
.gitignore Tweak @override use; update .gitignore Oct 14, 2016
.project Reverted commit e7b7187. Jun 30, 2015
CHANGES Bumped to 2.7.1, and updated README and CHANGES to match. Jun 23, 2016
LICENSE Changed file permissions. Apr 15, 2014
LICENSE.Eclipse Changed file permissions. Apr 15, 2014
LICENSE.LGPL Changed file permissions. Apr 15, 2014
README Bumped to 2.7.1, and updated README and CHANGES to match. Jun 23, 2016 Fixed the pointer to the web site. Jun 11, 2014 Bumped to 2.7.1, and updated README and CHANGES to match. Jun 23, 2016
build.xml Support for modifying pthScript grammar. Feb 22, 2017

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 for more information and documentation about Polyglot.

You can’t perform that action at this time.