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

Compiler Syllabus

The document outlines the course structure for 'Compiler Design' in the B. Tech Computer Science & Engineering program, detailing prerequisites, course objectives, and content divided into five units. Key topics include lexical analysis, top-down and bottom-up parsing, intermediate code generation, and code optimization. Upon completion, students will be equipped with skills in compiler phases, parser development, and optimized code generation.

Uploaded by

Manjula
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)
23 views2 pages

Compiler Syllabus

The document outlines the course structure for 'Compiler Design' in the B. Tech Computer Science & Engineering program, detailing prerequisites, course objectives, and content divided into five units. Key topics include lexical analysis, top-down and bottom-up parsing, intermediate code generation, and code optimization. Upon completion, students will be equipped with skills in compiler phases, parser development, and optimized code generation.

Uploaded by

Manjula
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

B.

Tech Computer Science & Engineering

B. Tech III Year II Semester


20CSE113 COMPILER DESIGN
L T P C

3 0 0 3

Pre-requisite 20CSE110

Course Description:
The course is intended to learn the basic techniques that underlie the practice of Compiler
design. This course explores the principles, algorithms, and data structures involved in the design and
construction of compilers. Topics include lexical analysis, context-free grammars, Syntax Analyzer,
LR and LALR parsers, other parsing techniques, symbol tables, error recovery, and an introduction to
intermediate code generation and code generation.

Course Objectives:
1. To provide knowledge on list the different stages in the process of compilation and lexical
analysis.
2. To design top-down parsers.
3. To design bottom-up parsers and Identify synthesized and inherited attributes.
4. To learn the use of intermediate code generation and runtime environments and
implementation intermediate code generation.
5. To develop skill to apply the concept of optimization and develop algorithms to generate code
for a target machine.

UNIT I INTRODUCTION TO COMPILER AND LEXICAL ANALYSIS 9 hours

Introduction to Compiler - Phases of a compiler - Lexical Analysis : The Role of the Lexical Analyzer
- Input Buffering - Specification of Tokens - The Lexical - Analyzer Generator Lex.
UNIT II TOP DOWN PARSING 9 hours
Introduction: The Role of the Parser - Context free grammar - Eliminating Ambiguity - Eliminating
of Left Recursion and Left Factoring -Top-Down Parsing: Recursive descent parsing - Non-Recursive
Predictive parsing - LL (1) Grammars.

UNIT III BOTTOM UP PARSING AND SYNTAX DIRECTED 9 hours


TRANSLATION
Bottom-Up Parsing : Shift reduce parsing – Operator precedence parser - LR parsers: Simple LR
parser - Canonical LR parser - LALR parser - The Parser Generator YACC - Syntax Directed
Translation : Syntax directed definition - S-attributed and L - attributed definitions - Construction of
syntax trees.

P a g e 112 | 216
B. Tech Computer Science & Engineering

UNIT IV INTERMEDIATE CODE GENERATOR AND RUN TIME 9 hours


ENVIRONMENTS
Intermediate Code Generation: Intermediate Languages - Boolean expressions - Flow-of-Control
Statements - Assignment Statements - Run time Environments : Storage organization - Storage
Allocation strategies - Symbol table structure - Symbol table attributes and management.

UNIT V CODE OPTIMIZATION AND CODE GENERATION 9 hours


Code Optimization: Basic Blocks and Flow Graphs - Optimization of Basic Blocks - The principle
sources of optimization - Introduction to data flow analysis, DAG - Code Generation: Issues in the
Design of a Code Generator - The Target Language - A Simple Code Generator - Peephole
optimization - Register allocation and assignment.

Course Outcomes:
Upon successful completion of the course, students will be able to
1. Understand the phases of compiler and Lexical Analyzer.
2. Develop the parser using Top-Down Parsing.
3. Design Bottom-up Parser followed by syntax directed translation schemes.
4. Demonstrate the ability to write intermediate code for a given high level programming
language.
5. Develop the optimized code generation for intermediate code.

Text Book(s)
1. Alfred V. Aho - Monica S.Lam - Ravi Sethi - Jeffrey D. Ullman,“Compilers-Principles -
Techniques and Tools”, 2nd edition, Pearson Education, 2018.
2. Principles of compiler design - A.V. Aho, J.D.Ullman Pearson Education, 2002.

Reference Books
1. Modern Compiler Design, Grune, D., Van Reeuwijk, K., Bal, H.E., Jacobs, C.J.H.,
Langendoen, K. Springer-Verlag New York, 2012.
2. Modern Compiler Implementation in C, Andrew N.Appel, Cambridge University Press,
2005.
3. Lex & Yacc, John R. Levine, Tony Mason, Doug Brown, O’reilly, Second edition, 1992.

Mode of Evaluation: Assignments, Mid Term Tests, End Semester Examination.

P a g e 113 | 216

You might also like