Types of Compiler
Incremental Compiler:
- Incremental Compiler is a compiler, which performs the recompilation of only modified source rather than compiling the whole source program
- The basic features of incremental compiler are
It tracks the dependencies between output and the source program
It produces the same result as full recompile
It performs less tasks than the recompilation
The process of incremental compilation is effective for maintenance
Cross Compiler:
- A compiler, that run on one machine and produce the target code for another machine. Such a compiler is called cross compiler
- In image source language L, the target language N gets generated, which runs on machine M
Bootstrapping:
- The process of writing a compiler (or Assembler) in the target programming language which has to be compiled is known as "Bootstrapping"
- A compiler leads to a self-hosting compiler by applying Bootstrapping technique
- Many compilers for many programming languages are bootstrapped
Advantages of Bootstrapping
- It is a non-trivial test of the language being compiled
- Compiler developers only need to know the language being compiled
- Compiler development can be done in the higher level language being compiled
- Improvements to the compiler's back-end improve not only general purpose programs but also the compiler itself
- It is a comprehensive consistency check as it should be able to reproduce its own object code