Compiler Design
Compiler Design
DESIGN
Course Code : 6CS1013
Syllabus
Compiler Structure and Lexical Analysis: The evolution of Programming Languages, Analysis
of the source program, Phases of a compiler, grouping of phases, compiler writing tools –
Module -I
bootstrapping. The role of Lexical Analyzer, Input Buffering, Specification of Tokens using Regular
Expressions, Recognition of Tokens, Symbol Table.
Syntax Analysis: Role of the Syntax Analyzer – Syntax error handling. Review of Context Free
Module - Grammars - Parse Trees and Derivations, Eliminating Ambiguity. Basic parsing approaches -
II Eliminating left recursion, left factoring. Top-Down Parsing - Recursive Descent parsing, Predictive
Parsers, LL(1) Grammars.
Bottom-Up Parsing: Handle Pruning. Shift Reduce parsing – Operator precedence parsing
Module -
Concepts only. LR parsers – Constructing SLR parsing tables, Constructing Canonical LR parsing
III
tables and Constructing LALR parsing tables, Parser Generators.
Syntax Directed Translation, Intermediate Code Generation and Run-Time
Environments: Syntax directed definitions, S-attributed definitions, L-attributed definitions,
Module - Bottom-up evaluation of S-attributed definitions. Intermediate Code Generation - Intermediate
IV languages, Graphical representations, Three-Address code, Quadruples, Triples, Type Checking,
Run-Time Environments - Source Language issues, Storage organization, Storage-allocation
strategies, Introduction to Garbage Collection,
Code Generation and Code Optimization: Code Optimization - Principal sources of
Module - optimization, Machine dependent and machine independent optimizations, Local and global
Bloom’s
Course
CO Statement Taxonomy
Outcome
Level
Reference books
If one of the 2 criteria is not met, you will not get the
certificate even if the Final score >= 40/100.