- Trending Categories
- Data Structure
- Operating System
- MS Excel
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is Compiler Design?
A compiler is a program that translates a high-level language (for example, C, C++, and Java) into a low-level language (object program or machine program).
The compiler also finds out the various errors encountered during the compilation of a program.
The compiler converts high-level language into low-level language using various phases. A character stream inputted by the customer goes through multiple stages of compilation which at last will provide target language.
The task of the compiler is to change the program written in one language without changing the meaning of the program. When you implement a program that is written in the HLL programming language then it implements into two parts. In the first element, the source code is compiled and translated into the object code (low-level language). In the second element, the object program is translated into the target code through the assembler.
Features of Compiler
There are various features of compilers which are as follows −
It compiles a large amount of code in less time.
It needed less amount of memory area to compile the source language.
It can compile only the modified code segment if frequent alterations are needed in the source code.
While managing the hardware interrupts best compilers connect closely with the operating system.
Advantages of Compiler
There are various advantages of the compiler which are as follows −
A compiler translates a code in a single run.
It consumes less time.
CPU utilization is more.
Both syntactic and semantic errors can be checked concurrently.
It is easily supported by many high-level languages like C, C++, JAVA, etc.
Disadvantages of Compiler
There are various disadvantages of the compiler which are as follows −
It is not flexible.
It consumes more space.
Error localization is difficult.
The source program has to be compiled for every modification.
It must generate the correct machine code which should run fast.
It should be portable.
It should give diagnostic and error messages.
It must have consistent optimization.
Types of Compiler
There are two types of compilers are as follows −
One pass compiler reads the code only once and then translates it. The one-pass compiler passes only once through the parts of each compilation unit. It translates each part into its final machine program. In the one-pass compiler, when the line source is processed, it is scanned and the token is extracted.
Compiler scans the input source once and creates the first modified form, thus scans the first-produced form and create a second modified form, etc., until the object form is produced. Such a compiler is known as a multi-pass compiler.
- Related Articles
- What is Design of Lexical Analysis in Compiler Design?
- What is Chomsky Hierarchy in compiler design?
- What is error handling in compiler design?
- What is Input Buffering in Compiler Design?
- What is Finite Automata in Compiler Design?
- What is Language Processing Systems in Compiler Design?
- What is minimizing of DFA in compiler design?
- What is the Representation of DFA in compiler design?
- What is Operator Precedence Parsing Algorithm in compiler design?
- What is Non-Immediate Left Recursion in compiler design?
- What is Components of LR Parsers in compiler design?
- What is types of LR Parser in compiler design?
- What is binding and binding time in compiler design?
- What is translation of control statements in compiler design?
- What is techniques of storage allocation in compiler design?