JastAdd
This is our old website.
Broken links can occur.
A new website is under construction.

Key publications

Overviews

G. Hedin. An introductory tutorial on JastAdd attribute grammars, Postproceedings of GTTSE, Braga, Portugal, July 6-10, 2009. Preprint (May 1, 2010), Zip file (state machine example). The final publication will be available at www.springerlink.com.
Introduction to synthesized, inherited, reference, parameterized, collection, and circular attributes.

G. Hedin Declarative Computations based on Object-Oriented Grammars. Presentation given at the Dagstuhl seminar on Types for Tools. June 22, 2005.
Describes ReRAGs+CRAGs and their use in JastAdd

T. Ekman, G. Hedin: The JastAdd System - modular extensible compiler construction. Science of Computer Programming, Elsevier, October 2007. In Press. A preliminary version of this paper is included in Ekman's PhD thesis.
Gives a recent overview of the JastAdd system

G. Hedin, E. Magnusson, The JastAdd system - an aspect-oriented compiler construction system, Science of Computer Programming 47 (2003) 37-58, Elsevier.
Describes an earlier version of JastAdd that supported RAGs, static aspects, and combined declarative and imperative implementation.

Formalisms used in JastAdd

G. Hedin. Reference Attributed Grammars. Informatica 24(2000) 301-317, Slovenia.
Describes Reference Attributed Grammars (RAGs) and applications. The presentation is based on an earlier tool, Applab.

T. Ekman, G. Hedin. Rewritable Reference Attributed Grammars. Proceedings of ECOOP 2004, LNCS 3086, © Springer Verlag.
Describes Rewritable RAGs (ReRAGs) and applications

E. Magnusson, G. Hedin: Circular Reference Attributed Grammars - their Evaluation and Applications, Science of Computer Programming, Volume 68, Issue 1, August 2007, Pages 21-37, Elsevier.
Describes Circular RAGs (CRAGs) and applications

E. Magnusson, T. Ekman, G. Hedin: Extending Attribute Grammars with Collection Attributes - Evaluation and Applications Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007), Sept 2007, Paris.
Describes Collection attributes and applications

Key applications

E. Nilsson-Nyman, T. Ekman, G. Hedin, E. Magnusson: Declarative Intraprocedural Flow Analysis for Java Source Code. Proceedings of Language Descriptions Tools and Applications (LDTA 2008), April 2008, Budapest, Hungary.
Describes how circular and collection attributes are used for intraprocedural control flow and dataflow analysis for Java

T. Ekman, G. Hedin: The JastAdd Extensible Java Compiler. Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2007), October 2007, Montreal, Canada.
Describes JastAddJ, the extensible Java compiler implemented in JastAdd

T. Ekman, G. Hedin: Pluggable checking and inferencing of non-null types for Java. Journal of Object Technology, Vol. 6, No. 9, pages 455-475. Special Issue: TOOLS EUROPE 2007, October 2007.
Describes how JastAddJ is extended with NonNull type checking and inferencing

T. Ekman, G. Hedin: Modular Name Analysis for Java Using JastAdd. In postproceedings of the International Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2005) Braga, Portugal. LNCS 4143:422-436 Springer 2006. Also included in Ekman's PhD thesis
Describes how ReRAGs are used for resolving names in a Java compiler