cd
cd
Content:
Sr. Content Module
No. Teaching
Weightage
Hours
(%)
Overview of the Compiler and its Structure:
Language processor, Applications of language processors,
Definition-Structure-Working of compiler, the science of
1. building
1 compilers, Basic understanding of interpreter and 3 15
assembler. Difference between interpreter and compiler.
Compilation of source code into target language, Cousins of
compiler, Types of compiler
2. Lexical
2 Analysis: The Role of the Lexical Analyzer,
Specification of Tokens, Recognition of Tokens, Input,
6 15
elementary scanner design and its implementation (Lex),
Applying concepts of Finite Automata for recognition of tokens.
3. Syntax
3 Analysis: Understanding Parser and CFG (Context Free
Grammars), Left Recursion and Left Factoring of grammar Top
Down and Bottom up Parsing Algorithms, Operator-Precedence
Parsing, LR Parsers, Using Ambiguous Grammars, Parser
Generators, Automatic Generation of Parsers. Syntax-Directed 12 25
Definitions, Construction of Syntax Trees, Bottom-Up
Evaluation of S-Attributed Definitions, L-Attributed Definitions,
syntax directed definitions and translation schemes
4. Error
4 Recovery Error Detection & Recovery, Ad-Hoc and
Systematic Methods 4 10
5. Intermediate-Code
5 Generation: Variants of Syntax Trees,
Three-Address Code, Types and Declarations, Translation of
Expressions, Type Checking, Syntax Directed Translation 5 10
Mechanisms, Attributed Mechanisms And Attributed Definition.
6. Run-Time
6 Environments: Source Language Issues, Storage
Organization. Stack Allocation of Space, Access to Nonlocal 4 10
Data on the Stack, Heap Management,
7. Code
7 Generation and Optimization: Issues in the Design of a
Code Generator, The Target Language, Addresses in the Target
Code, Basic Blocks and Flow Graphs, Optimization of Basic
6 15
Blocks, A Simple Code Generator, Machine dependent
optimization, Machine independent optimization Error detection
of recovery
w.e.f. 2024-25 http://syllabus.gtu.ac.in/ Page no. 1 of 2
GUJARAT TECHNOLOGICAL UNIVERSITY
Syllabus for Integrated MSc, 6th Semester
Branch: Information Technology
Subject Name: Compiler Design
Subject Code: 1360504
Text Books
1. Compiler Tools Techniques - A.V.Aho, Ravi Sethi, J.D.Ullman, Addison Wesley
2. The Theory And Practice Of Compiler Writing - Trembley J.P. And Sorenson P.G.
Mcgraw-Hill
Reference Books:
1. Modern Compiler Design - Dick Grune, Henri E. Bal, Jacob, Langendoen, WILEY India
2. Compiler Construction - Waite W.N. And Goos G., Springer Verlag
3. Compiler Construction-Principles And Practices - D.M.Dhamdhere, Mcmillian
4. Principles of Compiler Design, V. Raghavan, McGrawHill
Course Outcome:
After learning the course, the students should be able to:
Sr. CO statement
No.
CO-1 Understand the basic concepts; ability to apply automata theory and knowledge on
formal languages.
CO-2 Ability to identify and select suitable parsing strategies for a compiler for various
cases. Knowledge in alternative methods (top-down or bottom-up, etc).
CO-3 Understand backend of compiler: intermediate code, Code optimization Techniques
and Error Recovery mechanisms
CO-4 Understand issues of run time environments