CD_Micro
CD_Micro
NAMBUR-522508
ANDHRA PRADESH, INDIA
Course Objectives:
1. Impart the knowledge of Compilers and their structure
2. Learn to design Parsers, Language generators & Recognizers
3. Study of Parsers with equipped Translation Schemes
4. Understand storage allocations, IR and Code Generation
5. Learn and understand different techniques of Code Optimization
UNIT - I
Introduction to Compilers: Programming language basics, Language Translators,
Language Processing System, The structure of a Compiler, Passes of a compiler.
Lexical Analysis: The Role of the Lexical Analyzer, Input Buffering, Specification of
Tokens, Recognition of Tokens, Types of Finite Automata, Regular Expressions to Finite
Automata, Compiler construction tools, Lexical errors, The Lexical-Analyzer Generator.
UNIT - II
Grammars: Introduction, Context-Free Grammars, Writing a Grammar, Derivations, Parse
Trees, Ambiguous Grammars, Elimination of left recursion, left factoring.
Top-Down Parsing: Introduction to Syntax Analyzer, Classification of Parsers, Predictive
parsers.
UNIT - III
Bottom-Up Parsing: Introduction, Constructing Shift Reduce Parsing tables, LR parsers,
The canonical collection of LR(0) items, Constructing LR(0) Parsing tables, Constructing
SLR Parsing tables, The canonical collection of LR(1) items, Constructing Canonical LR
Parsing tables, Constructing LALR Parsing tables, YACC-automatic parser generator.
Semantic Analysis: Syntax-Directed Definitions, Evaluation Orders for SDD’s, Syntax-
Directed Translation Schemes.
UNIT - IV
Intermediate Code Generation: Syntax Tree, Three Address Code, Three Address Code
for various control flow statements.
Run-Time Environments: Storage Organization, Storage-allocation strategies, Access to
Nonlocal Data on the Stack, Introduction to Garbage Collection.
Code Generation: Issues in the Design of a Code Generator, Addressing modes, A Simple
Code Generator.
UNIT - V
Code Optimization: The Principal sources of optimizations, Loop optimizations, Peephole
optimization, Optimization of Basic blocks, Directed Acyclic Graph (DAG) representation of
basic block.
Text Books:
1. Compilers: Principles, Techniques and Tools, Second Edition, Alfred V. Aho,
MonicaS. Lam, Ravi Sethi, Jeffry D. Ullman, Pearson.
Reference Books:
1. Compiler Construction-Principles and Practice, Kenneth C Louden, Cengage
Learning.
2. The Theory and Practice of Compiler writing, J. P. Tremblay and P. G.
Sorenson,TMH
3. Lex &yacc – John R. Levine, Tony Mason, Doug Brown, O’reilly
Micro Syllabus of Compiler Design
III B.Tech II Semester
****