Showing posts with label Principles of Compiler Design. Show all posts
Showing posts with label Principles of Compiler Design. Show all posts

Tuesday, June 24, 2014

PCD notes

Wednesday, June 18, 2014

Syllabus PCD

 CS2352 PCD 
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.
TEXT BOOK:
1. Alfred V. Aho, Ravi Sethi Jeffrey D. Ullman, “Compilers- Principles, Techniques, and
Tools”, Pearson Education Asia, 2007.
REFERENCES:
1. David Galles, “Modern Compiler Design”, Pearson Education Asia, 2007
2. Steven S. Muchnick, “Advanced Compiler Design & Implementation”, Morgan
Kaufmann Pulishers, 2000.
3. C. N. Fisher and R. J. LeBlanc “Crafting a Compiler with C”, Pearson Education,
2000.