Like us at Facebook
Loading Search Engine

Compiler Design

To read online Click Here

We hope its the best note for you !!! If not, then help us getting a better one.

To know how you can help Click Here


Syllabus

MODULE – 1  (Lecture hours: 13)
Introduction: Overview and phases of compilation.                                                 (2-hours) Lexical  Analysis:  Non-deterministic  and  deterministic  finite  automata  (NFA  &  DFA),
regular grammar, regular expressions and regular languages, design of a lexical analyser as a DFA, lexical analyser generator.                                                               (3-hours)
Syntax Analysis: Role of a parser, context free grammars and context free languages, parse trees and derivations, ambiguous grammar.
Top Down Parsing: Recursive descent parsing, LL(1) grammars, non-recursive predictive parsing, error reporting and recovery.
Bottom Up Parsing: Handle pruning and shift reduces parsing, SLR parsers and construction or SLR parsing tables, LR(1) parsers and construction of LR(1) parsing tables, LALR parsers and construction of efficient LALR parsing tables, parsing using ambiguous grammars, error reporting and recovery, parser generator.


MODULE – 2  (Lecture hours: 14)


Syntax Directed Translation: Syntax directed definitions (SDD), inherited and synthesized attributes, dependency graphs, evaluation orders for SDD, semantic rules, application of syntax directed translation.
(5-hours) Symbol Table: Structure and features of symbol tables, symbol attributes and scopes.
(2-hours)

Intermediate Code Generation: DAG for expressions, three address codes - quadruples and triples,  types  and  declarations,  translation  of  expressions,  array  references,  type checking and conversions, translation of Boolean expressions and control flow statements, back patching, intermediate code generation for procedures.
(7-hours)

MODULE – 3  (Lecture hours: 8)
Run Time Environment: storage organizations, static and dynamic storage allocations, stack allocation, handlings of activation records for calling sequences.
(3-hours) Code Generations: Factors involved, registers allocation, simple code generation using stack
allocation, basic blocks and flow graphs, simple code generation using flow graphs.
(3-hours) Elements of Code Optimization: Objective, peephole optimization, concepts of elimination

of local common sub-expressions, redundant and un-reachable codes, basics of flow of control optimization.    (2-hours)