built. A good place to start reading the compiler is
"base/toplev.scm" which is the top-level driver of the program.
-"fggen" contains the Flow Graph (FG) generator. This converts SCode
-to the internal FG format which is used in the front end of the
-compiler.
-
-"fgopt" contains a number of passes that analyze and optimize the FG
-intermediate representation. Most of the Scheme-specific technology
-is here.
+"midend" contains the higher level transformations, based on an
+s-expression syntax called KMP-Scheme. Complex operations are
+transformed into simpler operations in a sequence Textual
+transformations. The oder of the transformations is specified in
+"midend/midend.scm". The first stage, "midend/inlate.scm", converts
+an SCode program into KMP-Scheme. The last stage,
+"midend/rtlgen.scm", converts a limited subset of KMP-Scheme into RTL
+code.
"rtlbase" contains the definition of the Register Transfer Language
(RTL) data abstractions. This is a second intermediate language which
is a fairly standard intermediate representation for compilers.
-"rtlgen" contains the pass that converts the FG format to RTL. This
-corresponds directly to what most compilers consider the "code
-generator".
-
"rtlopt" contains several passes that analyze and optimize the RTL
representation. Such things as common subexpression elimination,
lifetime analysis, dead code elimination, and register allocation and