---++ Introduction 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 [[StrategoXTPackages][packages of Stratego/XT]]. The entry point to the Stratego Compiler is the [[%MANUAL%/ref-strc.html][strc]] command. ---++ Architecture The compiler components of the strc package compile an Stratego program in abstract syntax to a C program. The components are separated in: * [[Stratego FrontEnd]] * [[Stratego Optimizer]] * [[Stratego BackEnd]] The [[StrategoFront][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 [[ExtendibleDocumentationGenerator][xdoc]]. The most recent version is available [[http://www.levellers.nl/strc.ps][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.
http://www.stratego-language.org/sc/architecture.gif
CategoryCompiler