|Compilers and Interpreters|
|Compiled programs (right) are translated into the machine language of the target computer. Interpreted programs (left and center) are either kept in their original source code or are precompiled into an intermediate form. In both cases, an interpreter is required to translate the program into machine language at runtime, whereas the compiled program is "ready to go."|
a computer program by which a high-level programming language, such as COBOL or FORTRAN, is converted into machine language that can be acted upon by a computer[kəm′pīl·ər] (computer science)
A program to translate a higher programming language into machine language. Also known as compiling routine.(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.