Stratego/XT. A Language and Toolset for Program Transformation

Date and time: 
Mon, Oct 30 2006 - 1:00pm to Tue, Oct 31 2006 - 12:45pm
220 Deschutes
Eelco Visser & Martin Bravenboer
Utrecht University, The Netherlands
  • Yannis Smaragdakis

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 offers a collection of flexible, reusable transformation components, as well as declarative languages for deriving new components. Complete program transformation systems are composed from these components. In this presentation we give an overview of the techniques and applications of Stratego/XT. In the first part of the presentation the features of Stratego are explained by means of transformations on Java programs. The second part is a live demonstration of these transformations and their components.