Pre-requisites : CS201, CS203

Syllabus :
Overview of different phases of a compiler: front-end back-end Lexical analysis: specification of tokens, recognition of tokens, input buffering, automatic tools Syntax analysis: context free grammars, top down and bottom up parsing techniques, construction of efficient parsers, syntax-directed translation, automatic tools Semantic analysis: declaration processing, type checking, symbol tables, error recovery Intermediate code generation: run-time environments, translation of language constructs Code generation: flow-graphs,register allocation, code-generation algorithms Introduction to code optimization techniques.

Texts :
1. Alfred V. Aho, Monica S. Lam, Ravi Sethi,Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd Edition,Prentice Hall, 2009.

References :
1. V. Raghavan, Principles of Compiler Design, McGrawHill, 2010.
2. C.N. Fischer, R.J. Le Blanc, Crafting a Compiler with C, Pearson Education, 2009.
3. K. D. Cooper, L. Torczon, Engineering a Compiler, Morgan Kaufmann Publishers, 2004.