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
*BTL-Bloom's Taxonomy Level
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.
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:
WEB RESOURCES:
http://nptel.ac.in.courses/106108052/1 (Prof. Y.N. Srikanth, IISc Bangalore)
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