JavaRAG: A Java Library for Reference Attribute Grammars
(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:
https://lup.lub.lu.se/record/5257043
- author
- Fors, Niklas LU ; Cedersjö, Gustav LU and Hedin, Görel LU
- organization
- publishing date
- 2015
- 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}}, }