A compiler is a special program that processes statements written
in a particular programming language and turns them into machine language or "code"
that a computer's processor uses. Typically, a programmer
writes language statements in a language such as Pascal or C one line at a time using an editor . The
file that is created contains what are called the source statements .
The programmer then runs the appropriate language compiler, specifying the name
of the file that contains the source statements.
When executing (running), the compiler first parses (or analyzes)
all of the language statements syntactically one after the other and then, in
one or more successive stages or "passes", builds the output code,
making sure that statements that refer to other statements are referred to
correctly in the final code. Traditionally, the output of the compilation has
been called object code or sometimes an object module .
(Note that the term "object" here is not related to object-oriented programming .)
The object code ismachine code that the processor can process
or "execute" one instruction at a time.
More recently, the Java programming language, a language used in object-oriented programming ,
has introduced the possibility of compiling output (called bytecode ) that can run on any computer
system platform for which a Java virtual machine or
bytecode interpreter is provided to convert the bytecode into instructions that
can be executed by the actual hardware processor. Using this virtual machine,
the bytecode can optionally be recompiled at the execution platform by a just-in-time compiler .
Traditionally in some operating systems, an additional step was
required after compilation - that of resolving the relative location of
instructions and data when more than one object module was to be run at the
same time and they cross-referred to each other's instruction sequences or
data. This process was sometimes called linkage editing and
the output known as a load module .
A compiler works with what are sometimes called 3GL and higher-level languages. Anassembler works on programs written using
a processor's assembler language.
0 comments:
Post a Comment