Chapter Program Transformation

Strategies for Program Transformation


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.