Compilation is a form of synthesis in which a program in a high-level language is transformed to machine code. This translation is usually achieved in several phases in which a high-level language is first translted into an intermediate representation. Instruction selection then translates the intermediate representation into machine instructions.
The compilation process usually also involves a number of
ProgramRephrasings?. For example,
ProgramNormalizations such as
IrCanonicalization? and
AlgebraicSimplification? and various forms of
ProgramOptimizations.
In the
GlasgowHaskellCompiler? compilation is expressed as much as possible as a series of transformations.
CategoryTransformation | --
EelcoVisser - 03 May 2001