Compiler Design (IT-603)

rgpv bhopal, diploma, rgpv syllabus, rgpv time table, how to get transcript from rgpv, rgpvonline,rgpv question paper, rgpv online question paper, rgpv admit card, rgpv papers, rgpv scheme
B.Tech RGPV notes AICTE flexible curricula Bachelor of technology
Course Objectives:
1. To teach the students the basic concepts of Compiler, programming languages and
develop an understanding of the compilation phases
2. To make students understand what is syntax analysis and various types of parsers
3. To introduce syntax trees and dependency graphs
4. To introduce intermediate code generation, memory management and the role of symbol
table and its organization
5. To introduce Code generation and code optimization
Syllabus
UNIT 1:
Introduction to Compiler, analysis of source program, phases and passes, Bootstrapping, lexical
analyzers, data structures in compilation – LEX: lexical analyzer generator, Input buffering,
Specification and Recognition of tokens, YACC, The syntactic specification of programming
languages: Context free grammars, derivation and parse trees, capabilities of CFG.
UNIT 2:
Syntax Analysis: working of Parser, Top down parsing, Bottom-up parsing, Operator precedence
parsing, predictive parsers, LR parsers (SLR, Canonical LR, LALR), constructing SLR parsing
tables, constructing Canonical LR parsing tables, Constructing LALR parsing tables, using
ambiguous grammars, an automatic parser generator.
UNIT 3:
Syntax Directed Translation: Definitions, Inherited Attributes, L-attributed definitions, Sattributed definitions, Dependency graph, Construction of syntax trees, Top down translation,
postfix notation, bottom up evaluation.
UNIT 4:
Intermediate Code Generation: Three address code, quadruple & triples, translation of assignment
statements, Boolean expression and control structures, Backpatching, Run Time Memory
Management: Static and Dynamic storage allocation, stack based memory allocation schemes,
Symbol Table management.
UNIT 5:
Code Optimization and Generation: organization of code optimizer, basic blocks and flow graphs,
DAG representation of basic blocks, loops in flow graph, peephole optimization, Basic of block
optimization.
NOTES
- Unit 1
- Unit 2
- Unit 3
- Unit 4
- Unit 5
Course Outcomes:
Upon completion of this course, students will be able to
1. Demonstrate an understanding of the compilation phases.
2. Specify and analyze the lexical, syntactic and semantic structures of advanced language
features.
3. Write a scanner, parser, and semantic analyser without the aid of automatic generators.
4. Describe techniques for intermediate code and machine code optimization.
5. Design the structures and support required for compiling advanced language features.
Books Recommended
1. A. V. Aho, R. Sethi & J. D. Ullman, Compilers: Principles, Techniques and Tools, Pearson Ed.
2. Alfred V. Aho, Jeffrey D. Ullman, Principles of Compiler Design, Narosa Publishing House.
3. Ronald Mak, Writing Compilers and Interpreters, Wiley IndiacEdition.
4. Louden, Compiler Construction, Cengage learning.