Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Implementing Java Compilers Using ReRAGs

Nilsson, Anders LU ; Ive, Anders LU ; Ekman, Torbjörn LU and Hedin, Görel LU orcid (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
; ; and
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
2016-04-01 16:57:24
date last changed
2021-05-06 17:48:22
@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}},
  keywords     = {{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}},
}