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

  • Authors:
  • Martin Bravenboer;Karl Trygve Kalleberg;Rob Vermaas;Eelco Visser

  • Affiliations:
  • Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science (EWI), Delft University of Technology, Mekelweg 4, 2628 CD Delft, The Netherlands;Department of Informatics, University of Bergen, PB 7800 N-5020 Bergen, Norway;Machina, Utrecht, The Netherlands;Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science (EWI), Delft University of Technology, Mekelweg 4, 2628 CD Delft, The Netherlands

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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, 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.