- A program that translates source code into object code. The compiler derives its name from the way it works, looking at the entire piece of source code and collecting and reorganizing the instructions.
- A computer program that transforms human readable source code of another computer program into the machine readable code that a CPU can execute.
- Computer program that translates a computer program written in one computer language (called the source language) into an equivalent program written in another computer language (called the output, object, or target language).
Types of Compiler
- One-pass compiler, like early compilers for Pascal
- The compilation is done in one pass, hence it is very fast.
- Threaded code compiler (or interpreter), like most implementations of FORTH
-
This kind of compiler can be thought of as a database lookup program.
It just replaces given strings in the source with given binary code.
The level of this binary code can vary; in fact, some FORTH compilers
can compile programs that don't even need an operating system.
- Incremental compiler, like many Lisp systems
-
Individual functions can be compiled in a run-time environment
that also includes interpreted functions. Incremental compilation
dates back to 1962 and the first Lisp compiler, and is still
used in Common Lisp systems.
- Stage compiler that compiles to assembly language of a theoretical machine, like some Prolog implementations
-
This Prolog machine is also known as the Warren abstract machine (or WAM).
Byte-code compilers for Java, Python (and many more) are also a subtype of this.
- Just-in-time compiler, used by Smalltalk and Java systems
-
Applications are delivered in byte code,
which is compiled to native machine code just prior to execution
- A retargetable compiler is a compiler that can relatively easily be modified to generate code for different CPU architectures. The object code produced by these is frequently of lesser quality than that produced by a compiler developed specifically for a processor. Retargetable compilers are often also cross compilers. GCC is an example of a retargetable compiler.
- A parallelizing compiler converts a serial input program into a form suitable for efficient execution on a parallel computer architecture.
Walang komento:
Mag-post ng isang Komento