Anthony M. Sloane. Program Compilers. In Benjamin W. Wah, editor, Wiley Encyclopedia of Computer Science and Engineering. John Wiley & Sons, Inc., 2008.
Program compilers implement translations from the high-level language world of programmers to the low-level world of hardware. A compiler reads program text written in a source language and translates it into an equivalent program written in a different target language. A standard pipeline architecture for compiler construction consists of lexical analysis, syntax analysis, semantic analysis, translation and code generation phases, with optional optimisation phases interspersed. Support for the phases is provided by a symbol table containing properties of program entities. Some compiler phases can be automatically generated from formal specifications.