Compiler

From Conservapedia
This is an old revision of this page, as edited by RolandPlankton (Talk | contribs) at 16:03, March 19, 2012. It may differ significantly from current revision.

Jump to: navigation, search

A compiler is a computer program which translates source code written in a high-level programming language into executable machine code. The act of doing this is called compilation.

Outline of the compilation process

In the freely available online book "Basics of Compiler Design"[1], Professor Torben Mogensen identifies seven phases within a compiler, with the various phases being performed in one or more passes over the program.

Lexical analysis: convert source code into sequence of tokens, such as variable names, keywords, numbers, and special symbols such as '+'.
Syntax analysis or parsing: structure tokens into parse tree or syntax tree which represents the structure of the program.
Semantic analysis: annotate parse tree with semantic actions, and perform various consistency checks.
Intermediate code generation: use the annotated parse tree to generate code in some simple machine-independent intermediate language.
Register allocation: map the symbolic names used in the intermediate code on to the registers available in the target machine code.
Assembly code generation: translate the intermediate code into assembly language for the target machine.
Assembly and linking: translate the assembly language into executable machine code.

References

  1. Basics of Compiler Design. Retrieved on 2012-03-19.