Advanced

Implementing Java Compilers Using ReRAGs

Nilsson, Anders LU ; Ive, Anders LU ; Ekman, Torbjörn LU and Hedin, Görel LU (2004) In Nordic Journal of Computing 11(3). p.213-234
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... (More)
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. (Less)
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
Java, compiler construction, Object-Orientation
in
Nordic Journal of Computing
volume
11
issue
3
pages
213 - 234
publisher
Publishing Association Nordic Journal of Computing
ISSN
1236-6064
language
English
LU publication?
yes
id
9e40d8b1-a653-4a89-b88b-df7abe4bd286 (old id 630039)
date added to LUP
2007-12-04 09:55:21
date last changed
2016-04-16 05:08:01
@article{9e40d8b1-a653-4a89-b88b-df7abe4bd286,
  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.},
  author       = {Nilsson, Anders and Ive, Anders and Ekman, Torbjörn and Hedin, Görel},
  issn         = {1236-6064},
  keyword      = {Java,compiler construction,Object-Orientation},
  language     = {eng},
  number       = {3},
  pages        = {213--234},
  publisher    = {Publishing Association Nordic Journal of Computing},
  series       = {Nordic Journal of Computing},
  title        = {Implementing Java Compilers Using ReRAGs},
  volume       = {11},
  year         = {2004},
}