Stratego Compiler

Stratego -- Strategies for Program Transformation


The Stratego Compiler translates a Stratego specification to a C program. The compiler is completely implemented in Stratego (except for the parser, which is implemented in SDF). The Stratego Compiler is part of the Stratego/XT distribution. The main components of the Stratego Compiler are part of the strc package. This package is one of the core packages of Stratego/XT.

The entry point to the Stratego Compiler is the strc command.


The compiler components of the strc package compile an Stratego program in abstract syntax to a C program. The components are separated in:

The stratego-front packages defines the concrete syntax of Stratego and provides tools for parsing and desugaring Stratego programs.

Data flow

A data flow diagram of components of the Stratego Compiler is automatically generated by xdoc. The most recent version is available here.

The following (out of date) data-flow diagram below depicts the architecture of the compiler. Boxes depict data and ellipses depict executable compiler components. Solid arrows depict data-flow. Dashed arrows depict control-flow. The components are driven by the main compiler component sc, which is not shown in the diagram.