E. Visser.
A Survey of Strategies in Rule-Based Program Transformation Systems. Journal of Symbolic Computation, 40(1):831--873, 2005. Special issue on Reduction Strategies in Rewriting and Programming
(
techrep)
Abstract
Program transformation is the mechanical manipulation of a program in
order to improve it relative to some cost function and is understood
broadly as the domain of computation where programs are the data. The
natural basic building blocks of the domain of program transformation
are
transformation rules expressing a `one-step' transformation
on a fragment of a program. The ultimate perspective of research in
this area is a high-level, language parametric, rule-based program
transformation system, which supports a wide range of transformations,
admitting efficient implementations that scale to large programs.
This situation has not yet been reached, as trade-offs between
different goals need to be made. This survey gives an overview of
issues in rule-based program transformation systems, focussing on the
expressivity of rule-based program transformation systems and in
particular on transformation
strategies available in various
approaches. The survey covers term rewriting, extensions of basic term
rewriting, tree parsing strategies, systems with programmable
strategies, traversal strategies, and context-sensitive rules.
This paper is a revision of
A Survey of Rewriting Strategies in Program Transformation Systems.
Moved Permanently
The document has moved here.
Apache Server at www.cs.uu.nl Port 80