Stratego -- Strategies for Program Transformation

Note that Stratego is now part of the Spoofax Language Workbench, which provides an Eclipse plugin for developing SDF and Stratego, and creating Eclipse IDE plugins for your own language. See the Spoofax website for information and downloads: This website is still available for historical purposes. Refer the new site for up-to-date documentation.

Stratego is a language for program transformation and XT is a collection of tools for building and generating program transformation components. Important components of the tool collection are the ATerm exchange format and the syntax definition formalism SDF. Together these ingredients provide a very powerful toolbox for constructing program transformation systems.

However, they are tools that need to be applied in construction, not a ready made environment that magically solves your particular transformation problem. The system is not restricted to a single trick, nor is there a single way to solve a problem using these tools. To learn to use these tools you'll need to invest some effort in learning the concepts and architecture of Stratego/XT.

Note: This documentation here is kept in sync with the latest integration build. If you are looking for documentation for an older, stable release of Stratego, consult the corresponding release page of your version (bottom of that page).

Some documentation is not up to date or has been subsumed within the previously mentioned documents. See obsolete documentation.