Followings are the syllabus and reference books for Compiler Construction and Language Processor
Introduction to Compiling
Compilers, Analysis of the source program, The phases of the compiler, Cousins of the compiler.
The role of the lexical analyzer, Tokens, Patterns, Lexemes, Input buffering, Specifications of a token, Recognition of a
tokens, Finite automata, From a regular expression to an NFA, From a regular expression to NFA, From a regular
expression to DFA, Design of a lexical analyzer generator (Lex).
The role of a parser, Context free grammars, Writing a grammar, Top down Parsing, Non-recursive Predictive parsing
(LL), Bottom up parsing, Handles, Viable prefixes, Operator precedence parsing, LR parsers (SLR, LALR), Parser
generators (YACC). Error Recovery strategies for different parsing techniques.
Syntax directed translation
Syntax director definitions, Construction of syntax trees, Bottom-up evaluation of S attributed definitions, L attributed
definitions, Bottom-up evaluation of inherited attributes.
Type systems, Specification of a simple type checker, Equivalence of type expressions, Type conversions
Run time environments
Source language issues (Activation trees, Control stack, scope of declaration, Binding of names), Storage organization
(Subdivision of run-time memory, Activation records), Storage allocation strategies, Parameter passing (call by value,
call by reference, copy restore, call by name), Symbol tables, dynamic storage allocation techniques.
Intermediate code generation
Intermediate languages, Graphical representation, Three-address code, Implementation of three address statements
(Quadruples, Triples, Indirect triples).
Introduction, Basic blocks & flow graphs, Transformation of basic blocks, Dag representation of basic blocks, The
principle sources of optimization, Loops in flow graph, Peephole optimization.
Issues in the design of code generator, a simple code generator, Register allocation & assignment.e generator, Register allocation & assignment.
Books and Links:
1. Aho, Sethi, Ullman - “Compiler Principles, Techniques and Tools” - Pearson Education.
2. Holub - “Compiler Design in C” - PHI.