Compiler
<programming, tool> A program that converts another program from some
source language (or
programming language) to
machine language (object code).
Some compilers output
assembly language which is then converted to
machine language by a separate
assembler.
A compiler is distinguished from an assembler by the fact that each input statement does not, in general, correspond to a single machine instruction or fixed sequence of instructions. A compiler may support such features as automatic allocation of variables, arbitrary arithmetic expressions, control structures such as FOR and WHILE loops, variable
scope, input/ouput operations,
higher-order functions and
portability of source code.
AUTOCODER, written in 1952, was possibly the first primitive compiler.
Laning and Zierler's compiler, written in 1953-1954, was possibly the first true working algebraic compiler.
See also
byte-code compiler,
native compiler,
optimising compiler.