< 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 function s 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 .
(1994-11-07)