Basic concepts of compilers and interpreters. Different phases of compilation.
Lexical analyzer concept; Design using FSM.
Parser: Top down and Bottom up; Recursive descent; LL (1); LR (1); LALR (1); Comparison, Symbol
tables: organization and management techniques. Runtime storage management - static
allocation; dynamic allocation, activation records; heap allocation, recursive procedures
Semantic Analysis - attributed translation: procedure calls. Syntax directed translation and intermediate
codes.
Code Optimization: Basic blocks, loop optimization, flow graph. Machine dependent optimization,
code generation. Error handling - detection, reporting, recovery and repair.
Compiler Writing Tools: LEX; YACC.
Books: Principles of Compiler Design by Aho & Ullman