A generator of efficient strongly typed abstract syntax trees in Java

Abstract : Abstract syntax trees are a very common data-structure in language related tools. For example compilers, interpreters, documentation generators, and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. We present a Java back-end for ApiGen, a tool that generates implementations of abstract syntax trees. The generated code is characterized by strong typing combined with a generic interface and maximal sub-term sharing for memory efficiency and fast equality checking. The goal of this tool is to obtain safe and more efficient programming interfaces for abstract syntax trees. The contribution of this work is the combination of generating a strongly typed data-structure with maximal sub-term sharing in Java. Practical experience shows that this approach is beneficial for extremely large as well as smaller data types.
Document type :
Journal articles
Complete list of metadatas

Cited literature [19 references]  Display  Hide  Download

https://hal.inria.fr/inria-00000700
Contributor : Pierre-Etienne Moreau <>
Submitted on : Tuesday, November 15, 2005 - 9:47:58 AM
Last modification on : Thursday, January 11, 2018 - 6:19:57 AM
Long-term archiving on: Friday, April 2, 2010 - 7:13:57 PM

Identifiers

  • HAL Id : inria-00000700, version 1

Collections

Citation

Mark van den Brand, Pierre-Etienne Moreau, Jurgen Vinju. A generator of efficient strongly typed abstract syntax trees in Java. IEE Proceedings - Software Engineering, Institution of Electrical Engineers (IEE), 2005, IEE Proceedings - Software Engineering, 152 (2), pp.70--87. ⟨inria-00000700⟩

Share

Metrics

Record views

685

Files downloads

482