Compiler Design

Lexical analysis, parsing, syntax-directed translation, Runtime environment, Intermediate code generation, Local optimization, Data flow analysis: constant propagation, liveness analysis, common subexpression elimination.

Detailed Syllabus covered in Notes

Introduction and various phases of Compiler, Introduction to lexical analyzer and Grammars, Ambiguous grammars and making them unambiguous, Elimination of left recursion and left factoring the grammars


Introduction to Parser and LL(1) parsing, examples on how to find first and follow in LL(1), Construction of LL(1) parsing table, Recursive descent parser, Operator Grammar and Operator precedence parser, LR parsing, LR(0) items and LR(0) parsing table, LR(0) parsing example and SLR(1) table, Examples of LR(0) and SLR(1), CLR(1) and LALR(1) Parsers, conflicts and examples of CLR(1) and LALR(1), examples of CLR(1) and LALR(1) and comparison of all the parsers


Syntax-directed translation examples, examples of SDT, S attributed and L attributed definition, SDT to add type information into the symbol table, introduction to intermediate code, various representation of 3 address code, Back patching, and conversation to 3 address code, 2-dimensional array to 3-address code, Runtime Environment.

Related Links