Polyglot is a highly extensible compiler front end for the Java programminglanguage. It is implemented as a Java class framework using design patterns topromote extensibility. Using Polyglot, language extensions can be implementedwithout duplicating code from the framework itself. Polyglot has been used toimplement domain-specific languages, to explore language design ideas, tosimplify Java for pedagogical purposes, and for various code transformationssuch as optimization and fault injection.Polyglot has been used for both major and minor language extensions;our experience suggests that the cost of implementingan 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 buildit.On Windows, you will also need Cygwin.
Polyglot supports Java 1.4, Java 5, and Java 7, including featuressuch as generics and annotations. Support for Java 5 and Java 7 is providedas Polyglot extensions, but other Polyglot extensions can build on anyversion of the language, and can generate any version of Java as output.
Polyglot includes PPG, an extensible LALR parsergenerator based on the CUPLALR parser generator for Java (extended with improved debugging support).The Accrue analysis framework (from Harvard) extends Polyglot with interprocedural,object-sensitive program analysis.
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 supports Java 1.4, Java 5, and Java 7, including features such as generics and annotations. Pelican Node.js CICD Vim Ceph API CodeCommit OpenStack Pure Storage Git tshark S3 Mac OS GCP https remote access cloudflare tcpdump email HTTP postfix Python pypi KVM AWS EC2 Firebase Ubuntu CodeBuild CodePipeline Bash open source Windows WiFi openssl API Gateway Chrome Ansible NFS Docker minecraft Powershell Lambda.