MMC304

PRINCIPLES OF COMPILER DESIGN

OBJECTIVE: To study the general features of Compilers.

1. LEXICAL ANALYSIS [10]
Introduction on the phase of the compiler — Lexical Analysis, Regular Expression, Nondeterministic Automata, Deterministic Automata equivalent to NFA’s . Minimizing the states of DFA, Implementation of Lexical Analyzer

2. SYNTAX ANALYSIS [10]
Syntax Analysis — Topdown Parsing Concepts ,Recursive Descent Parsing, Predictive Parsers, Nonrecursive Predictive Parsing — Bottom Up Parsing, Handle pruning, Shift reduce parsing — Operator Precedence Parsing — Error recovery in Parsing, LR Parsers, Parser Generators — YACC

3. INTERMEDIATE CODE GENERATION [10]
Syntax directed Definitions, Construction of Syntax trees — Top down Translation, Bottom up Evaluation of Inherited Attributes, Recursive Evaluators, Assigning Space at Compiler Construction time — Type checking — Overloading of functions and operators, polymorphic function.

4. STORAGE ORGANIZATION [10]
Storage Organization, Storage Allocation strategies, Parameter Passing, Symbol tables, Dynamic Storage Allocation, Intermediate Languages - Representation of Declarations, Assignment statement, Boolean Expression, Back Patching, Procedure calls.

5. CODE GENERATION AND OPTIMIZATION [10]
Design of the code generators ,Runtime storage management, Basic blocks and Flow graphs, Register Allocation and Assignment , DAG representation of Basic blocks, Peephole optimization, Code optimization — The principle Sources of Optimization, Optimization of basic blocks, Global data flow Analysis, Loop optimizations.

TEXT BOOKS:
1. Alfred Aho, Ravi Sethi, Jeffy D Uliman, “Compilers Principles, Techniques and Tools” 1986Addison Wesley.
2.Dhamdhere D.M, “Compiler Construction Principles and Practice “, 1981,Macmillan India.

REFERENCE:
1. Reinhard Wilhelm, Dicter Mauser ,“ Compiler Design”, 1995, Addison Wesley.