0% found this document useful (0 votes)
47 views2 pages

CD Syllabus

Uploaded by

Ajay Kannepally
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views2 pages

CD Syllabus

Uploaded by

Ajay Kannepally
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

R22 B.Tech.

CSE Syllabus JNTU Hyderabad

CS702PC: COMPILER DESIGN

B.Tech. IV Year I Sem. L T P C


3 0 0 3
Prerequisites
1. A course on “Formal Languages and Automata Theory”.
2. A course on “Computer Organization and architecture”.
3. A course on “Data Structures”.

Course Objectives:
 Introduce the major concepts of language translation and compiler design and impart the
 knowledge of practical skills necessary for constructing a compiler.
 Topics include phases of compiler, parsing, syntax directed translation, type checking use of
symbol tables, code optimization techniques, intermediate code generation, code generation
and data flow analysis.

Course Outcomes:
 Demonstrate the ability to design a compiler given a set of language features.
 Demonstrate the knowledge of patterns, tokens & regular expressions for lexical analysis.
 Acquire skills in using lex tool & yacc tool for developing a scanner and parser.
 Design and implement LL and LR parsers
 Design algorithms to do code optimization in order to improve the performance of a program in
terms of space and time complexity.
 Design algorithms to generate machine code.

UNIT - I
Introduction: The structure of a compiler, the science of building a compiler, programming language
basics
Lexical Analysis: The Role of the Lexical Analyzer, Input Buffering, Recognition of Tokens, The
Lexical-Analyzer Generator Lex, Finite Automata, From Regular Expressions to Automata, Design of a
Lexical-Analyzer Generator, Optimization of DFA-Based Pattern Matchers.

UNIT - II
Syntax Analysis: Introduction, Context-Free Grammars, Writing a Grammar, Top-Down Parsing,
Bottom-Up Parsing, Introduction to LR Parsing: Simple LR, More Powerful LR Parsers, Using
Ambiguous Grammars and Parser Generators.

UNIT - III
Syntax-Directed Translation: Syntax-Directed Definitions, Evaluation Orders for SDD's, Applications
of Syntax-Directed Translation, Syntax-Directed Translation Schemes, Implementing L-Attributed
SDD's.
Intermediate-Code Generation: Variants of Syntax Trees, Three-Address Code, Types and
Declarations, Type Checking, Control Flow, Switch-Statements, Intermediate Code for Procedures.

UNIT - IV
Run-Time Environments: Stack Allocation of Space, Access to Nonlocal Data on the Stack, Heap
Management, Introduction to Garbage Collection, Introduction to Trace-Based Collection.
Code Generation: Issues in the Design of a Code Generator, The Target Language, Addresses in the
Target Code, Basic Blocks and Flow Graphs, Optimization of Basic Blocks, A Simple Code Generator,
Peephole Optimization, Register Allocation and Assignment, Dynamic Programming Code-Generation

Page 121 of 154


R22 B.Tech. CSE Syllabus JNTU Hyderabad

UNIT - V
Machine-Independent Optimization: The Principal Sources of Optimization, Introduction to Data-Flow
Analysis, Foundations of Data-Flow Analysis, Constant Propagation, Partial-Redundancy Elimination,
Loops in Flow Graphs.

TEXT BOOK:
1. Compilers: Principles, Techniques and Tools, Second Edition, Alfred V. Aho, Monica S. Lam,
Ravi Sethi, Jeffry D. Ullman.

REFERENCE BOOKS:
1. Lex & Yacc – John R. Levine, Tony Mason, Doug Brown, O’reilly
2. Compiler Construction, Louden, Thomson.

Page 122 of 154

You might also like