Friday, June 8, 2012

R10 Compiler Design Syllabus


COMPILER DESIGN

Unit – I : Overview of language processing – preprocessors – compiler – assembler – interpreters – linkers & loaders - structure of a compiler – phases of a compiler.

Unit – II : Lexical Analysis – Role of Lexical Analysis – Lexical Analysis Vs. Parsing – Token, patterns and Lexemes – Lexical Errors – Regular Expressions – Regular definitions for the language constructs – Strings, Sequences, Comments – Transition diagram for recognition of tokens, Reserved words and identifiers, Examples.

Unit – III : Syntax Analysis – Role of a parser – classification of parsing techniques – Top down parsing – First and Follow- LL(1) Grammars, Non-Recursive predictive parsing – Error recovery in predictive parsing.

Unit – IV : Introduction to simple LR – Why LR Parsers – Model of an LR Parsers – Operator Precedence- Shift Reduce Parsing – Difference between  LR and LL Parsers, Construction of  SLR Tables.

Unit – V : More powerful LR parses, construction of CLR (1), LALR Parsing tables, Dangling ELSE Ambiguity, Error recovery in LR Parsing.

Unit – VI : Semantic analysis, SDT, evaluation of semantic rules, symbol tables, use of symbol tables. Runtime Environment: storage organization, stack allocation, access to non-local data, heap management, parameter passing mechanisms.

Unit – VII: Intermediate code , three address code, quadraples, triples, abstract syntax trees, basic blocks, CFG. Machine independent code optimization - Common sub expression elimination, constant folding, copy propagation, dead code elimination, strength reduction, loop optimization, procedure inlining.

Unit – VIII: Machine dependent code optimization: Peephole optimization, register allocation, instruction scheduling, inter procedural optimization, garbage collection via reference counting.

Text books:
1.    Compilers, Principles Techniques and Tools- Alfred V Aho, Monical S Lam, Ravi Sethi, Jeffrey D. Ullman,2nd ed,  Pearson,2007.
2.    Principles of compiler design, V. Raghavan, 2nd ed, TMH, 2011.
3.    Principles of compiler design, 2nd ed, Nandini Prasad, Elsevier
Reference books:
2.    Compiler construction, Principles and Practice, Kenneth C Louden, CENGAGE
3.    Implementations of Compiler, A new approach to Compilers including the algebraic methods, Yunlinsu, SPRINGER

3 comments: