Chapter Program Transformation With Concrete Object Syntax
Strategies for Program Transformation
Abstract
Meta-programs manipulate structured representations (abstract
syntax) of programs. The distance between the concrete syntax
meta-programmers use to reason about programs and the notation
for abstract syntax manipulation provided by general purpose
(meta-) programming languages is too large for many
applications. In this chapter it is shown how the syntax
definition formalism SDF can be employed to fit a
meta-programming language with concrete syntax notation for
composing and analyzing object programs. As a case study, the
addition of concrete syntax to the program transformation
language Stratego is presented. The approach is then
generalized to arbitrary meta-languages.
Preprint