Compiler Design lab is a part of III B. Tech II semester for IT students. Every software has to be translated to its equivalent machine instruction form so that it will be executed by the underlying machine. There are many different types of system softwares that help during this translation process. Compiler is one such an important System Software that converts High level language programs to its equivalent machine (low level) language. It is impossible to learn and use machine language in software development for the users. Therefore we use high level computer languages to write programs and then convert such programs into machine understandable form with the help of mediator software’s such as compilers, interpreters, assemblers etc. Thus compiler bridges the gap between the user and the machine, i.e., computer.
The compiler goes through the following sequence of steps called phases of a compiler.
1) Lexical Analysis
2) Syntax Analysis
3) Semantic Analysis
4) Intermediate Code Generation
5) Code Optimization
6) Code Generation.
In performing its role, compiler also uses the services of two essential components namely, Symbol Table and Error Handler
The objective of the Compiler Construction Laboratory is to understand and implement the principles, techniques, and also available tools used in compiler construction process.
The expected outcomes from the students are:
- Design Lexical analyzer for given language using C and LEX tool
- Develop a syntax analyzer for a given context-free grammar.
- Master building symbol tables and generating intermediate code
- Design and convert BNF rules into YACC form to generate various parsers.