JavaRAG: A Java Library for Reference Attribute Grammars

Niklas Fors, Gustav Cedersjö, Görel Hedin

Research output: Chapter in Book/Report/Conference proceedingPaper in conference proceedingpeer-review


Reference attribute grammars (RAGs) is a powerful formalism for developing modular extensible compilers and program analysis tools. This paper presents JavaRAG, an implementation of RAGs as a Java library that is independent of the abstract syntax tree structure. This makes it possible to extend legacy compilers implemented in Java with RAG computations. We have evaluated the approach by integrating with EMF, ANTLR, and hand-built abstract syntax trees, and we compare performance and specification size with JastAdd and Kiama which are other RAG-based tools. Our JavaRAG library is open source and is used in a compiler for the dataflow language CAL.
Original languageEnglish
Title of host publicationProceedings of the International Conference on Modularity
PublisherAssociation for Computing Machinery (ACM)
ISBN (Print)978-1-4503-3249-1
Publication statusPublished - 2015
EventACM International Conference on Modularity - Fort Collins, United States
Duration: 2015 Mar 162015 Mar 19


ConferenceACM International Conference on Modularity
Country/TerritoryUnited States
CityFort Collins

Subject classification (UKÄ)

  • Computer Science


Dive into the research topics of 'JavaRAG: A Java Library for Reference Attribute Grammars'. Together they form a unique fingerprint.

Cite this