Nordic Journal of Computing IMPLEMENTING JAVA COMPILERS USING ReRAGs

Gespeichert in:
Bibliographische Detailangaben
Titel: Nordic Journal of Computing IMPLEMENTING JAVA COMPILERS USING ReRAGs
Autoren: Anders Nilsson, Anders Ive, Torbjörn Ekman, Görel Hedin
Weitere Verfasser: The Pennsylvania State University CiteSeerX Archives
Quelle: http://www.cs.lth.se/home/Gorel_Hedin/publications/2004-NJC-ImplJava.pdf.
Bestand: CiteSeerX
Schlagwörter: Key words, Java compiler
Beschreibung: Rewritable Reference Attributed Grammars (ReRAGs) is a recently developed compiler-compiler technology based on object-orientation, aspect-orientation, reference attributed grammars, and conditional rewrites. In this paper we describe our experiences from using ReRAGs for implementing Java compilers. We illustrate how the usage of ReRAGs renders a rather compact, yet easy-to-understand and modular compiler specification where code analysis, restructurings, and optimizations can be conveniently described as aspects performing computations and transformations on the abstract syntax tree. Currently, we have implemented two compilers: one that generates C code with real-time support, and one that generates Java bytecode. Both share the same front end.
Publikationsart: text
Dateibeschreibung: application/pdf
Sprache: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.2752
Verfügbarkeit: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.2752
http://www.cs.lth.se/home/Gorel_Hedin/publications/2004-NJC-ImplJava.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Dokumentencode: edsbas.C440E109
Datenbank: BASE
Beschreibung
Abstract:Rewritable Reference Attributed Grammars (ReRAGs) is a recently developed compiler-compiler technology based on object-orientation, aspect-orientation, reference attributed grammars, and conditional rewrites. In this paper we describe our experiences from using ReRAGs for implementing Java compilers. We illustrate how the usage of ReRAGs renders a rather compact, yet easy-to-understand and modular compiler specification where code analysis, restructurings, and optimizations can be conveniently described as aspects performing computations and transformations on the abstract syntax tree. Currently, we have implemented two compilers: one that generates C code with real-time support, and one that generates Java bytecode. Both share the same front end.