Implementing java compilers using ReRAGs

  • Authors:
  • Anders Nilsson;Anders Ive;Torbjörn Ekman;Görel Hedin

  • Affiliations:
  • Department of Computer Science, Lund University, Box 118, SE-221 00 Lund, Sweden;Department of Computer Science, Lund University, Box 118, SE-221 00 Lund, Sweden;Department of Computer Science, Lund University, Box 118, SE-221 00 Lund, Sweden;Department of Computer Science, Lund University, Box 118, SE-221 00 Lund, Sweden

  • Venue:
  • Nordic Journal of Computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

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.