What is compiler?
A compiler is a computer program
(or set of programs) that transforms source code
written in a programming language (the source language) into another computer language (the target language, often having a
binary form known as object code).
The most common reason for wanting to transform source code is to create an executable
program.
The name "compiler" is primarily used
for programs that translate source code from a high-level programming language to a lower level language
(e.g., assembly language
or machine code).
If the compiled program can run on a computer whose CPU or operating system
is different from the one on which the compiler runs, the compiler is known as
a cross-compiler.
A program that translates from a low level language to a higher level one is a decompiler.
A program that translates between high-level languages is usually called a language translator,
source to source translator, or
language converter. A language rewriter
is usually a program that translates the form of expressions without a change
of language.
Program faults caused by incorrect compiler
behavior can be very difficult to track down and work around; therefore,
compiler implementors invest a lot of time ensuring the correctness of
their software.