Stratego/XT
About
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.
Download
See the Stratego/XT home page for more details.
License
Stratego/XT is licensed under the GNU Lesser General Public License, version 2.1.