Below is the syllabus for Compiler Design:-
Introduction to Compiling
Analysis of the source program, Phases of a compiler, Cousins of the Compiler, Grouping of Phases, Compiler construction tools.
Lexical Analysis –Regular Expression, Introduction to Finite Automata and Regular Expression, Conversion of Regular Expression to NFA, Role of Lexical Analyzer, Input Buffering, Specification of Tokens.
Role of the Parser, Writing Grammars, Symbol Table, Context-Free Grammars, Top-Down Parsing with or without Backtracking, Recursive Descent Parsing, Non-Recursive Descent Parsing, SLR Parser, Canonical LR Parser, LALR Parser.
Intermediate Code Generation and Code
Intermediate languages, Declarations, Assignment Statements, Boolean Expressions, Case Statements, DAG representation of Basic Blocks, A simple Code generator from DAG, Issues in the design of code generator, The target machine, Runtime Storage management, Error Handling- Type checking,
Code Optimization and Run-Time Environments
Principal Sources of Optimization, Optimization of Basic Blocks, Peephole Optimization, Introduction to Global Data Flow Analysis, Source Language issues, Storage Organization, Static Storage Management, Heap Storage management, Access to non-Local Names, Parameter Passing.
1. Alfred Aho, Ravi Sethi, Jeffrey D Ullman, “Compilers Principles, Techniques and Tools”, Pearson Education Asia, 2003.
1. Allen I. Holub “Compiler Design in C”, Prentice Hall of India, 2003.
2. C. N. Fischer and R. J. LeBlanc, “Crafting a Compiler with C”, Benjamin Cummings, 2003.
3. J.P. Bennet, “Introduction to Compiler Techniques”, Second Edition, Tata McGraw-Hill, 2003.
4. Henk Alblas and Albert Nymeyer, “Practice and Principles of Compiler Building with C”, PHI, 2001.
5. Kenneth C. Louden, “Compiler Construction: Principles and Practice”, Thompson Learning, 2003
Below is the link to download Compiler Design notes.