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

Compiler Engineering Syllabus

The document outlines the syllabus for the Compiler Engineering course (CSE402) for the sixth semester, detailing course objectives, unit topics, textbooks, references, and learning outcomes. It covers various aspects of compiler construction including scanners, parsers, optimization techniques, and instruction scheduling. The course aims to equip learners with practical skills in developing parsers and optimizing code for compilers.

Uploaded by

126003020
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)
12 views2 pages

Compiler Engineering Syllabus

The document outlines the syllabus for the Compiler Engineering course (CSE402) for the sixth semester, detailing course objectives, unit topics, textbooks, references, and learning outcomes. It covers various aspects of compiler construction including scanners, parsers, optimization techniques, and instruction scheduling. The course aims to equip learners with practical skills in developing parsers and optimizing code for compilers.

Uploaded by

126003020
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

XXXIX Academic council Meeting

L T P C
4 0 0 4

Course Code: CSE402


Semester: VI

COMPILER ENGINEERING
Course Objectives
This course will help the learner to explain various phases in translating source language to
target language construct scanner and parser, design Adhoc syntax directed translator, and
identify the opportunities for optimization.

UNIT - I 15 Periods
Overview: Introduction - Compiler structure - Overview of translation Scanners: Introduction -
Implementing Scanners - Using Lex: Regular expressions - A word count program Parsers:
Introduction - Review of top down parsing - Bottom up parsing

UNIT - II 15 Periods
Using YACC: A YACC parser-The lexer - Arithmetic expression and ambiguity - Variables and
typed tokens Context Sensitive Analysis: Introduction - Adhoc syntax directed translation.
Intermediate Representations: Introduction - Graphical IRs - Linear IRs - Mapping values to
names - Symbol tables

UNIT - III 15 Periods


Introduction to optimization: Introduction - Background - Scope of optimization - Local
optimization - Regional optimization - Global optimization - Inter procedural optimization.
Instruction Selection: Introduction - Code generation - Extending the Simple Tree Walk
scheme - Instruction selection via Tree Pattern matching - Instruction selection via Peephole
Optimization

UNIT - IV 15 Periods
Instruction Scheduling: Instruction Scheduling problems - Local List scheduling - Regional
Scheduling: Register Allocation: Background issues - Local Register Allocation and
Assignment - Global register Allocation and Assignment

TEXTBOOKS
1. Keith D.Cooper and Linda Torczon. Engineering a Compiler, Morgan Kauffman
Publishers, Second Edition, 2013.
2. Levine, John R., Tony Mason, and Doug Brown. Lex & yacc, O’Reilly Media, Inc.,
Second Edition, 2013.


SASTRA

REFERENCES
1. Dick Grune, Kees Van Reewijk, Henry E.Bal, C. J.H. Jacobs, Koen G. Langendoen,
Modern Compiler Design, Springer, Second Edition, 2012.
2. Das, Vinu V. Compiler Design using FLEX and YAC, Prentice Hall of India Learning
Pvt.Ltd, 2007.
3. Alfred V.Aho, Ravi Sethi, Jeffrey D. Ullman, Monica S. Lam. Compilers: Principles,
Techniques and Tools, Pearson Education, Second Edition, 2006.

ONLINE MATERIALS
1. http://nptel.ac.in/courses/Webcourse-contents/IIT-KANPUR/compiler-
desing/ui/TOC.html
2. http://nptel.ac.in/courses/106108052/

UNITWISE LEARNING OUTCOMES


Upon successful completion of each unit, the learner will be able to
Unit I • Describe the phases of compiler
• Design and develop scanners using Lex
• Construct LL and LR parsers
Unit II • Develop parser using Lex & YACC
• Describe the significance of ad-hoc syntax directed translation
• Construct intermediate representations
Unit III • Identify the different techniques for code optimization for compiler construction
• Demonstrate the techniques used for instruction selection in the backend phase
of compiler
Unit IV • Implement the local list scheduler and explain about regional scheduler
• Elucidate the register allocation process in the backend phase of a compiler

COURSE LEARNING OUTCOMES


Upon successful completion of this course, the learner will be able to

• Demonstrate the scanner construction from using Lex


• Develop parser using Lex & YACC
• Apply context sensitive analysis for type Inferencing
• Construct intermediate code representation for a given source code
• Identify appropriate techniques for code optimization
• Explain about the instruction selection, instruction scheduling, and register allocation
components in the backend phase of a compiler



You might also like