JastAdd
JastAdd is an open source Java-based compiler compiler system. It is designed to support high-level extensible implementation of compilers and related tools like analyzers, transformation tools, etc.
Features
- object-oriented abstract syntax (based on Java)
- static aspects (aka introduction or open classes)
- declarative features (attributes, equations, and rewriting rules)
- context-dependent rewriting (implicit evaluation based on attribute dependencies)
- advanced attribute grammar features (like reference attributes, circular attributes, and nonterminal attributes)
- practical combination of declarative and imperative aspects
- combine with any Java-based parser generator
To learn more, start by reading the Concept Overview. Then look at the Tutorial Examples and the Key Publications.
The JastAdd tool is covered by the open source BSD license.
For more information, contact TorbjöEkman or Gö Hedin.
Latest news
- 2010-05-01: Preprint of tutorial with state machine example. Postproceedings of GTTSE 2009. To appear in LNCS, Springer.
- 2009-06-10: New release of JastAdd. Tutorial at GTTSE 2009. Paper on refactoring using JastAdd at ECOOP 2009.
- 2008-06-04: The latest version of Soot (2.3.0) uses JastAddJ to convert Java source to Jimple.
- 2008-05-30: JastAdd tutorial at ECOOP 2008 included in conference registration.
- 2008-04-23: Updated JastAdd, the JastAdd Extensible Java Compiler (JastAddJ). Both JastAdd and JastAddJ now support Java 5.
- 2008-04-21: New release of the Java non-null types tools
- 2008-04-19: Added example on intra procedural control flow and data flow analysis.
- 2008-02-19: New release of the Java non-null types tools
- 2007-10-19: Major release:. Updated JastAdd, the JastAdd Extensible Java Compiler (JastAddJ), Java non-null types tools, and Metrics implementation example.
- 2007-05-04: Improved version of JastAdd as well as the JastAdd extensible Java compiler
- 2007-05-04: Added an example computing various object-oriented metrics