Compiler Design

Below is the syllabus for Compiler Design:-

 

UNIT I

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.

 

UNIT II

Syntax Analysis                                                     
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.

 

UNIT III

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,

 

UNIT IV

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. 

 

TEXTBOOK

1.    Alfred Aho, Ravi Sethi, Jeffrey D Ullman, “Compilers Principles, Techniques and Tools”, Pearson Education Asia, 2003.

 

REFERENCES

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.

Related Links