|
Name of Subject : COMPILER CONSTRUCTION (7 CS 1) |
|
Unit |
|
Contents |
|
Compiler, Translator, Interpreter definition, Phase of compiler introduction to one pass & Multipass compilers, |
|
I |
|
Bootstrapping, Review of Finite automata lexical analyzer, Input, buffering, Recognition of tokens, Idea about LEX: |
|
A lexical analyzer generator, Error handling. |
|
Review of CFG Ambiguity of grammars, Introduction to parsing. Bottom up parsing Top down parsing techniques, |
|
Shift reduce parsing, Operator precedence parsing, Recursive descent parsing predictive parsers. LL grammars & |
|
II |
|
passers error handling of LL parser. LR parsers, Construction of SLR, Conical LR & LALR parsing tables, parsing |
|
with ambiguous grammar. Introduction of automatic parser generator: YACC error handling in LR parsers. |
|
Syntax directed definitions; Construction of syntax trees, L-attributed definitions, Top down translation. |
|
Specification of a type checker, Intermediate code forms using postfix notation and three address code, |
|
III |
|
Representing TAC using triples and quadruples, Translation of assignment statement. Boolean expression and |
|
control structures. |
|
Storage organization, Storage allocation, Strategies, Activation records, Accessing local and non local names in a |
|
IV |
|
block structured language, Parameters passing, Symbol table organization, Data structures used in symbol tables. |
|
Definition of basic block control flow graphs, DAG representation of basic block, Advantages of DAG, Sources of |
|
V |
|
optimization, Loop optimization, Idea about global data flow analysis, Loop invariant computation, Peephole |
optimization, Issues in design of code generator, A simple code generator, Code generation from DAG.