Polyglot is an extensible compiler framework that supports the easy creation of compilers for languages similar to Java, while avoiding code duplication. The Polyglot framework is useful for domain-specific languages, exploration of language design, and for simplified versions of Java for pedagogical use. We have used Polyglot to implement several major and minor modifications to Java; the cost of implementing language extensions scales well with the degree to which the language differs from Java. This paper focuses on the design choices in Polyglot that are important for making the framework usable and highly extensible. Polyglot source code is available.
%0 Book Section
%1 springerlink:10.1007/3-540-36579-6_11
%A Nystrom, Nathaniel
%A Clarkson, Michael
%A Myers, Andrew
%B Compiler Construction
%C Berlin / Heidelberg
%D 2003
%E Hedin, Görel
%I Springer
%K AST Compiler Java Polygot transformation
%P 138-152
%R 10.1007/3-540-36579-6_11
%T Polyglot: An Extensible Compiler Framework for Java
%U http://dx.doi.org/10.1007/3-540-36579-6_11
%V 2622
%X Polyglot is an extensible compiler framework that supports the easy creation of compilers for languages similar to Java, while avoiding code duplication. The Polyglot framework is useful for domain-specific languages, exploration of language design, and for simplified versions of Java for pedagogical use. We have used Polyglot to implement several major and minor modifications to Java; the cost of implementing language extensions scales well with the degree to which the language differs from Java. This paper focuses on the design choices in Polyglot that are important for making the framework usable and highly extensible. Polyglot source code is available.
%@ 978-3-540-00904-7
@incollection{springerlink:10.1007/3-540-36579-6_11,
abstract = {Polyglot is an extensible compiler framework that supports the easy creation of compilers for languages similar to Java, while avoiding code duplication. The Polyglot framework is useful for domain-specific languages, exploration of language design, and for simplified versions of Java for pedagogical use. We have used Polyglot to implement several major and minor modifications to Java; the cost of implementing language extensions scales well with the degree to which the language differs from Java. This paper focuses on the design choices in Polyglot that are important for making the framework usable and highly extensible. Polyglot source code is available.},
added-at = {2012-08-16T11:22:25.000+0200},
address = {Berlin / Heidelberg},
affiliation = {Cornell University Cornell},
author = {Nystrom, Nathaniel and Clarkson, Michael and Myers, Andrew},
biburl = {https://www.bibsonomy.org/bibtex/2842b9493832bac1e32c7e22c0de30953/gron},
booktitle = {Compiler Construction},
description = {Abstract - SpringerLink},
doi = {10.1007/3-540-36579-6_11},
editor = {Hedin, Görel},
interhash = {f81ff97fa43d14023f2d5eb9aa272d91},
intrahash = {842b9493832bac1e32c7e22c0de30953},
isbn = {978-3-540-00904-7},
keyword = {Computer Science},
keywords = {AST Compiler Java Polygot transformation},
pages = {138-152},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
timestamp = {2012-08-16T11:22:25.000+0200},
title = {Polyglot: An Extensible Compiler Framework for Java},
url = {http://dx.doi.org/10.1007/3-540-36579-6_11},
volume = 2622,
year = 2003
}