Parse-Tree Annotations Meet Re-Engineering Concerns

Authors
Jan Kort and Ralf Lämmel

Abstract
We characterise a computational model for processing annotated parse trees. The model is basically rewriting-based, i.e., the basic units of functionality for processing parse trees are rewrite rules that perform tree matching and tree building. The original ingredients of the model are provisions for dealing with annotations along the ordinary rewrite steps. There are progression methods, which define generically how to compute the annotations of the output from the annotations of the input. There are also access methods, which can be used in the rewrite rules in order to retrieve annotations from the input and establish annotations in the output. Our approach extends the basic rewriting paradigm with support for the separation of concerns that involve annotations. This is motivated in the context of transformations for software re-engineering. In this area, annotations can be used to implement concerns such as layout preservation, pattern simplification, change logging, remote referencing, postprocessing directives, and access restrictions.

Bibtex entry
@inproceedings{KortL03,
  author    = {Jan Kort and
               Ralf L{\"a}mmel},
  title     = {Parse-Tree Annotations Meet Re-Engineering Concerns},
  pages     = {161-168},
  booktitle = {3rd IEEE International Workshop on Source Code Analysis
               and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam,
               The Netherlands},
  publisher = {IEEE Computer Society},
  year      = {2003},
}

Links