Abstract
Many systems for program transformation exist that are often
specialized for a specific object language and/or kind of
transformation. All these systems share many ideas about
program transformation and use similar techniques, but are
often ad-hoc in many respects. The ultimate goal is to
achieve a specification language or family of specification
languages for the high-level, declarative specification of
program transformation systems in which generic, language
independent schemas of transformation can be captured, and
which admits efficient implementation of those transformations
that can scale up to large programs.
This book describes one contribution towards this goal, the
Stratego/XT language and toolset for the construction of
program transformation systems. In this chapter the
requirements and design space for transformation systems are
explored.
Preprint