Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

JavaRAG: A Java Library for Reference Attribute Grammars

Fors, Niklas LU orcid ; Cedersjö, Gustav LU and Hedin, Görel LU orcid (2015) ACM International Conference on Modularity p.55-67
Abstract
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.
Please use this url to cite or link to this publication:
author
; and
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
host publication
Proceedings of the International Conference on Modularity
pages
55 - 67
publisher
Association for Computing Machinery (ACM)
conference name
ACM International Conference on Modularity
conference location
Fort Collins, United States
conference dates
2015-03-16 - 2015-03-19
external identifiers
  • scopus:84986537205
ISBN
978-1-4503-3249-1
DOI
10.1145/2724525.2724572
project
ELLIIT LU P05: Scalable Language Tools for Cyber-Physical Systems
language
English
LU publication?
yes
id
d286e640-a232-4650-997f-c39776c1ae8e (old id 5257043)
date added to LUP
2016-04-04 10:17:21
date last changed
2022-04-23 22:48:24
@inproceedings{d286e640-a232-4650-997f-c39776c1ae8e,
  abstract     = {{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.}},
  author       = {{Fors, Niklas and Cedersjö, Gustav and Hedin, Görel}},
  booktitle    = {{Proceedings of the International Conference on Modularity}},
  isbn         = {{978-1-4503-3249-1}},
  language     = {{eng}},
  pages        = {{55--67}},
  publisher    = {{Association for Computing Machinery (ACM)}},
  title        = {{JavaRAG: A Java Library for Reference Attribute Grammars}},
  url          = {{http://dx.doi.org/10.1145/2724525.2724572}},
  doi          = {{10.1145/2724525.2724572}},
  year         = {{2015}},
}