Anna University
CS2352
PRINCIPLES OF COMPILER DESIGN
Important
Topics May/June 2013
UNIT I LEXICAL
ANALYSIS
Introduction to Compiling- Compilers-Analysis of the
source program-The phases- Cousins-The grouping of phases- Compiler construction tools.
The role of the lexical analyzer- Input buffering-Specification of
tokens-Recognition of tokens-A
language for specifying lexical analyzer.
UNIT II SYNTAX
ANALYSIS and RUN-TIME ENVIRONMENTS
Syntax Analysis- The role of the
parser-Context-free grammars-Writing a grammar-Topdown parsing-Bottom-up Parsing-LR
parsers-Constructing an
SLR(1) parsing table. Type Checking- Type Systems - Specification
of a simple type checker. Run-Time Environments-Source language
issues-Storage organization-Storage-allocation strategies.
UNIT III
INTERMEDIATE CODE GENERATION
Intermediate
languages-Declarations-Assignment statements - Boolean expressions- Case statements- Backpatching-Procedure calls
UNIT IV CODE
GENERATION
Issues in the design of a code
generator- The target machine-Run-time storage management-Basic blocks and flow
graphs- Next-use information-A
simple code generator-Register
allocation and assignment-The
dag representation of basic blocks - Generating code from dags.
UNIT V CODE
OPTIMIZATION
Introduction-The principle sources of
optimization-Peephole
optimization- Optimization of basic blocks-Loops in flow
graphs- Introduction to global data-flow analysis-Code improving
transformations.