6CS63/06IS662 - Compiler Design |
PART – A |
UNIT 1 |
INTRODUCTION, LEXICAL ANALYSIS: Language processors; The
structure of a Compilers; The evolution of programming languages; The
science of building a compiler; Applications of Compiler technology;
Programming language basics; Lexical analysis: The Role of Lexical
Analyzer; Input Buffering; Specifications of Tokens; Recognition of Tokens |
UNIT 2 |
SYNTAX ANALYSIS – 1: Introduction; Context-free Grammars; Writing a
Grammar; Top-down Parsing. |
UNIT 3 |
SYNTAX ANALYSIS – 2: Bottom-up Parsing; Introduction to LR Parsing:
Simple LR. |
UNIT 4 |
SYNTAX ANALYSIS – 3: More powerful LR parsers; Using ambiguous
grammars; Parser Generators. |
PART – B |
UNIT 5 |
SYNTAX-DIRECTED TRANSLATION: Syntax-Directed definitions;
Evaluation order for SDDs; Applications of Syntax-directed translation;
Syntax-directed translation schemes. |
UNIT 6 |
INTERMEDIATE CODE GENERATION: Variants of syntax trees;
Three-address code; Types and declarations; Translation of expressions;
Type checking; Control flow; Back patching; Switch statements;
Intermediate code for procedures. |
UNIT 7 |
RUN-TIME ENVIRONMENTS: Storage Organization; Stack allocation
of space; Access to non-local data on the stack; Heap management;
Introduction to garbage collection. |
UNIT 8 |
CODE GENERATION: Issues in the design of Code Generator; The
Target language; Addresses in the target code; Basic blocks and Flow graphs;
Optimization of basic blocks; A Simple Code Generator. |
REFERENCE |
TEXT BOOKS: |
1. Compilers- Principles, Techniques and Tools – Alfred V Aho,
Monica S. Lam, Ravi Sethi, Jeffrey D Ullman – 2nd Edition,
Addison-Wesley, 2007.
|
Reference Books |
1. Crafting a Compiler with C – Charles N. Fischer, Richard J.
leBlanc, Jr., Pearson Education, 1991.
2. Modern Compiler Implementation in C – Andrew W Apple
Cambridge University Press, 1997.
3. Compiler Construction Principles & Practice – Kenneth C
Louden – Thomson Education, 1997. |