0% found this document useful (0 votes)
10 views1 page

Lecture Plan

The document outlines the lecture plan for the Compiler Design course (CSC302) for the Monsoon 2023-2024 semester, detailing course objectives and learning outcomes. It includes a breakdown of topics to be covered in each unit, such as lexical analysis, syntax analysis, error detection, code optimization, and code generation, along with the corresponding hours allocated for each topic. The document also lists the required textbook and reference materials for the course.

Uploaded by

hibeje8567
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)
10 views1 page

Lecture Plan

The document outlines the lecture plan for the Compiler Design course (CSC302) for the Monsoon 2023-2024 semester, detailing course objectives and learning outcomes. It includes a breakdown of topics to be covered in each unit, such as lexical analysis, syntax analysis, error detection, code optimization, and code generation, along with the corresponding hours allocated for each topic. The document also lists the required textbook and reference materials for the course.

Uploaded by

hibeje8567
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/ 1

LECTURE PLAN, MONSOON 2023-2024

Course Course
Name of Course L T P Credit
Type Code
CSC302 Compiler Design 3 0 0 9

Course Objective
The main objective of this course is to make the students understand various phases of a compiler with the associated
techniques and algorithms to impart knowledge about designing a new compiler.

Learning Outcomes
Upon successful completion of this course, students
 will have a broad understanding of language translator and their need.
 will have a detailed understanding of various phases of a compiler and their design techniques.
 will be able to design a complier for new high level language.

Unit Lecture
Topics to be Covered Learning Outcome
No. Hours
Introduction: Need of compilers; Cousins of The students will be introduced with the
1 compilers; Compiler writing tools, compiler 2 language translator, their need and various
phases. phases of a compiler.
Lexical analysis: Tokens, regular expressions, Students will be familiar with various elements
transition diagrams, Design of lexical of a scanner (lexical analyzer). They will also
2 5
analyzer generator. learn how to use transition diagram or finite
automata for designing a new lexical analyzer
Syntax analysis: Context free grammars, This will help the students in understanding
ambiguity, top down parsing, bottom up various parsing techniques, basic as well as
3 parsing, operator precedence parsing, LR 10 advanced level. They will also gain knowledge
parsers (SLR, LALR, LR). of using a specific parsing technique for a new
language construct.
Syntax Directed Translation (SDT): Scheme, This unit will help the students to understand
Implementation of SDT, postfix notation, intermediate code generator. They will learn
4 SDT to postfix code; Intermediate code 6 how to use Syntax Directed Translation for its
generation. design.

Error Detection and Recovery: Lexical-phase The students will familiarize with various kinds
errors, Syntactic-phase errors. of compiler errors and they will learn how to
5 3
design error handler associated with various
parsing techniques.
Code optimization: Sources, optimization of This unit will help the students to understand
basic blocks, loops in flow graphs, loop importance of code optimization. They will also
6 5
optimization. learn various code optimization techniques with
a special emphasis on loop optimization.
Code generation: Issues, target machine, Here the students will know how to use DAGs
runtime storage management, basic block and for optimization of a basic block of code. They
flow graphs, next use information, a simple will also learn about the analysis of flow graph
7 7
code generator, register allocation, DAG and their use for generating final code.
representation of basic blocks, peephole
optimization, code generation from DAGs.

Text Book:
1. Alfred Aho and Jeffrey Ullman, Principles of Compiler Design, Narosa, 2002
Reference Books:
2. Aho, Ullman, Sethi, Compiler Principles, Techniques and Tools, Addison-Wesley, 2004.
3. K. Muneeswaran, Compiler Design, Oxford University Press, 2013

You might also like