04-Lesson Plan - CSE A Sec

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Department of Computer Science and Engineering

Academic Year: 2021-2022 Even

LESSON PLAN

Faculty Name : Dr. M. Amutha


Subject Code & Name : CS8602 & Compiler Design
Year / Semester : III/VI
Degree & Branch : B.E. CSE A sec

LECTURE HOURS

No. of Hours Allotted as per


Unit No. of Hours Planned
Syllabus
I 9 10
II 12 14
III 8 9
IV 8 9
V 8 8
Total No. ofHours 45 50

COURSE OBJECTIVES:

1. To learn the various phases of compiler.


2. To learn the various parsing techniques.
3. To understand intermediate code generation and run-time environment.
4. To learn to implement front-end of the compiler.  
5. To learn to implement code generator.
Sl. Proposed Proposed Teaching
Topic(s)
No. Date Hours Aids
UNIT I INTRODUCTION TO COMPILERS
1. 16.03.22 1 Structure of a compiler BP
2. 16.03.22 1 Lexical Analysis BP
3. 17.03.22 1 Role of Lexical Analyzer BP
4. 21.03.22 1 Input Buffering BP
5. 22.03.22 1 Specification of Tokens BP
6. 23.03.22 1 Recognition of Tokens – Lex BP
Form No. AC 05a Rev.No. 01 Effective Date: 02/08/2021
7. 23.03.22 1 Finite Automata BP
8. 24.03.22 1 Regular Expressions to Automata BP
9. 28.03.22 1 Minimizing DFA. BP
10. 29.03.22 1 Unit I Revision -
UNIT II SYNTAX ANALYSIS
11. 30.03.22 1 Role of Parser BP
12. 30.03.22 1 Grammars BP
13. 31.03.22 1 Error Handling
14. 04.04.22 1 Context-free grammars BP
15. 05.04.22 1 Writing a grammar BP
16. 06.04.22 1 Top Down Parsing BP
General Strategies Recursive Descent
17. 06.04.22 1 BP
Parser Predictive Parser
18. 07.04.22 1 LL(1) Parser BP
19. 11.04.22 1 Shift Reduce Parser BP
20. 12.04.22 1 LR Parser-LR (0) BP
21. 13.04.22 1 Item Construction of SLR Parsing Table BP
22. 13.04.22 1 Introduction to LALR Parser BP
1 Error Handling and Recovery in Syntax
23. 18.04.22 BP
Analyzer, YACC
24. 19.04.22 1 Unit II Revision BP
Unit III Intermediate Code Generation
25. 20.04.22 1 Syntax Directed Definitions BP
1 Evaluation Orders for Syntax Directed
26. 20.04.22 BP
Definitions
27. 21.04.22 1 Intermediate Languages BP
28. 25.04.22 1 Syntax Tree BP
29. 26.04.22 1 Three Address Code BP
30. 27.04.22 1 Types and Declarations BP
31. 27.04.22 1 Translation of Expressions. BP
32. 04.05.22 1 , Type Checking BP
33. 04.05.22 1 Unit III Revision BP
Unit IV Runtime Environment and code Generation
34. 05.05.22 1 Storage Organization BP
35. 09.05.22 1 Stack Allocation Space BP
36. 10.05.22 1 Access to Non-local Data on the Stack BP

Form No. AC 05a Rev.No. 01 Effective Date: 02/08/2021


37. 11.05.22 1 Heap Management BP
38. 11.05.22 1 Issues in Code Generation BP
39. 12.05.22 1 Target Machine BP
40. 16.05.22 1 .A Sample Code Generation BP
41. 17.05.22 1 Design of a simple Code Generator BP
42. 18.05.22 1 Unit IV Revision
Unit V Code Optimization
43. 18.05.22 1 Principal Sources of Optimization BP
44. 19.05.22 1 Types of code optimization BP
45. 23.05.22 1 Peep-hole optimization BP
46. 24.05.22 1 DAG BP
47. 25.05.22 1 Optimization of Basic Blocks BP
48. 25.05.22 1 Global Data Flow Analysis BP
49. 30.05.22 1 Efficient Data Flow Algorithm BP
50. 31.05.22 1 Unit V Revision BP

Outcomes: At the end of the course, the students will be able to,
1. Understand the structure of compiler and develop a lexical analyzer by performing lexical
analysis and implement a lexical analyzer using the modern tool LEX.
2. Apply the knowledge of parsing in the design of parsers to implement the syntax analyzer by
the usage of modern tool YACC.
3. Identify the three address code and evaluation orders for syntax directed definitions and
generation of three address code
4. Understand the concepts of storage organization, stack management, heap management and
application of these concepts in the design of code generator
5. Development of various code optimization techniques by applying the knowledge in principal
sources of optimization and DAG.

DELIVERY METHODS
BP Board Presentation
SP Slide Presentation

TEXT BOOKS:
Form No. AC 05a Rev.No. 01 Effective Date: 02/08/2021
1. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques and Tools‖,
Second Edition, Pearson Education, 2009.
REFERENCES:
1. Randy Allen, Ken Kennedy, Optimizing Compilers for Modern Architectures: A Dependence based
Approach, Morgan Kaufmann Publishers, 2002.
2. Steven S. Muchnick, Advanced Compiler Design and Implementation‖, Morgan Kaufmann Publishers -
Elsevier Science, India, Indian Reprint 2003.
3. Keith D Cooper and Linda Torczon, Engineering a Compiler‖, Morgan Kaufmann Publishers Elsevier
Science, 2004.
4. V. Raghavan, Principles of Compiler Design‖, Tata McGraw Hill Education Publishers,
2010.
5. Allen I. Holub, Compiler Design in C‖, Prentice-Hall Software Series, 1993.

Faculty Signature Head of the Department

Form No. AC 05a Rev.No. 01 Effective Date: 02/08/2021

You might also like