Syllabus


III Year I Semester



L
T
P
C

Subject Code: 16CS5T09



4
0
0
3

COMPILER DESIGN
SYLLABUS

Course Outcomes:

The student will be able to


CO#
COURSE OUTCOMES
BTL
CO-1
Compare different types of language processors and design a lexical analyzer.
Create
CO-2
Construct top down parsers.
Apply
CO-3
Construct SLR, CLR, LALR bottom up parsers.
Apply
CO-4
Generate intermediate code by analyzing semantic analysis phase.
Create
CO-5
Design a simple code generator by using symbol table.
Create
CO-6
Apply machine independent code optimization techniques.
Apply

*BTL-Bloom's Taxonomy Level


UNIT –I
Overview of language processing: pre-processors, compiler, assembler, interpreters, linkers &loaders, structure of a compiler, phases of a compiler.
Lexical Analysis: The role of lexical analysis, Input Buffering, specification of lexemes, tokens. Recognitions of tokens, Transition Diagrams, lexical analyzer generator tool-Lex

UNIT –II
Syntax Analysis: The role of a parser, Context Free Grammars(CFG)s,LMD, RMD, Parse Trees, classification of parsing techniques, Top down parsing: Recursive descent parsing, LL(1) parsing, error recovery in predictive parsing.

UNIT –III
Bottom up parsing: Shift Reduce Parsing, Introduction to LR Parser, Model of an LR Parsers, SLR parsing, More Powerful LR parsers: CLR, LALR parsers, Error Recovery in LR parsing, YACC tool.

UNIT – IV
Semantic Analysis: Syntax Directed Definition, Synthesized Attributes &Inherited attributes, Evolution order of SDD’s. 
Intermediate Code Generation: Variants of Syntax trees, DAGs, Three Address code, Quadruples, Triples, Indirect Triples, Types and Declarations, Type Checking.

UNIT – V
Symbol tables: Need of Symbol tables, Runtime Environments, Stack allocation of space, access to non-local data, Heap Management.
Code generation: Issues in design of code generation, The target Language, Basic blocks and Flow graphs, A Simple Code generator, Peephole Optimization.

UNIT –VI
Machine Independent Code Optimization: The principle sources of Optimization, Global common sub expression elimination, Copy propagation, Dead code elimination, Constant folding, Strength reduction, Loop optimization, Instruction Scheduling.

TEXT BOOKS:
1. “Compilers, Principles Techniques and Tools,” Alfred V Aho, Monical S. Lam, Ravi SethiJeffery D. Ullman,2nd edition,Pearson,2007
2. “Compiler Design,” K.Muneeswaran, OXFORD, 2012.

REFERENCE BOOKS:
1. “Principles of compiler design,” Nandhini Prasad, Elsevier, 2ndedition, 2012.
2. “Compiler Construction, Principles and practice,”Kenneth C Louden,CENGAGE, first edition 2006.
3.Implementations of Compiler,A New approach to Compilers including the algebraicmethods,”Yunlinsu,SPRINGER, 2011.

WEB RESOURCES:
 http://nptel.ac.in.courses/106108052/1 (Prof. Y.N. Srikanth, IISc Bangalore)

No comments:

Post a Comment