Stratego/XT 0.17. A language and toolset for program transformation

Martin Bravenboer, Karl Trygve Kalleberg, Rob Vermaas, Eelco Visser
2008 Science of Computer Programming  
Stratego/XT is a language and toolset for program transformation. The Stratego language provides rewrite rules for expressing basic transformations, programmable rewriting strategies for controlling the application of rules, concrete syntax for expressing the patterns of rules in the syntax of the object language, and dynamic rewrite rules for expressing context-sensitive transformations, thus supporting the development of transformation components at a high level of abstraction. The XT toolset
more » ... offers a collection of flexible, reusable transformation components, and tools for generating such components from declarative specifications. Complete program transformation systems are composed from these components. This paper gives an overview of Stratego/XT 0.17, including a description of the Stratego language and XT transformation tools; a discussion of the implementation techniques and software engineering process; and a description of applications built with Stratego/XT.
doi:10.1016/j.scico.2007.11.003 fatcat:jhkofle3nneklm5miuafaicb4y