SUB
19CSC - COMPILER DESIGN LAB
CODE
L T P C
3 2 0 4
COURSE OBJECTIVES:
Upon completion of this course, the students will be familiar with,
Compiler writing tools.
Implement the different Phases of compiler
Control flow and data flow analysis
Storage allocation strategies
Simple optimization techniques
COURSE OUTCOMES:
Upon completion of this course, the students will be able to,
CO1: Implement the different Phases of compiler using tools
CO2: Analyze the control flow and data flow of a typical program
CO3: Illustrate storage allocation strategies
CO4: Optimize a given program
CO5: Generate an assembly language program equivalent to a source language program
COURSE CONTENT:
LIST OF EXPERIMENTS 45 hrs
1. Token Separation and Symbol Table Manipulation.
2. Develop a lexical analyzer to recognize a few patterns in C. (Ex. identifiers, constants,
comments, operators etc.)
3. Implementation of Lexical Analyzer using Lex Tool
4. Implement a recursive descent parser for an expression grammar that generates arithmetic
expressions with digits, +, -, / and *.
5. Implement SLR parser for a given grammar
6. Generate YACC specification for a few syntactic categories.
7. Implementation of Calculator using LEX and YACC
8. Syntax tree creation
9. Three address code generation from assignment statement with array references & while
statements
10. Construction of flow graph from list of three address statements.
11. Implement control flow analysis and Data flow Analysis
12. Translation of three address code to assembly language with fixed number of registers.
13. Stack and heap management at run time.
14. Implementation of Simple Code Optimization Techniques (Constant Folding., etc.)
15. Implement the back end of the compiler which takes the three address code and produces the
8086 assembly language instructions that can be assembled and run using a 8086 assembler.
The target assembly instructions can be simple move, add, sub, jump. Also simple
addressing modes are used.
Practical: 45 Periods Total: 45 Periods
MAPPING OF PROGRAMME OUTCOMES WITH COURSE OUTCOMES <Times New roman>Font Size, 8.
Programme Outcomes / Programme Specific Outcomes
Mapping PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
K3 K4 K5 K5 K5 K5 K2 A5 A5 K5 K3 A3 K5 K5 K5
CO1
Course Outcomes
CO2 /
CO3
CO4
CO5
Average
Correlation Level