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

Compiler Design For Cse

The document describes a Compiler Design lab course that focuses on implementing various phases of a compiler through programming assignments. The course objectives are to implement compiler phases like lexical analysis, syntax analysis, and simple optimizations. The 14 listed experiments involve developing programs for lexical analysis, parsing, automata conversions, optimization techniques, and code generation. The expected outcome is for students to gain skills in implementing lexical analysis, syntax analysis, intermediate code generation, optimizations, and machine code generation.

Uploaded by

RONIN T
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
41 views1 page

Compiler Design For Cse

The document describes a Compiler Design lab course that focuses on implementing various phases of a compiler through programming assignments. The course objectives are to implement compiler phases like lexical analysis, syntax analysis, and simple optimizations. The 14 listed experiments involve developing programs for lexical analysis, parsing, automata conversions, optimization techniques, and code generation. The expected outcome is for students to gain skills in implementing lexical analysis, syntax analysis, intermediate code generation, optimizations, and machine code generation.

Uploaded by

RONIN T
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 1

Course L-T-P - Year of

Course Name
code Credits Introduction
CS431 COMPILER DESIGN LAB 0-0-3-1 2016
Pre-requisite : CS331 System Software Lab
Course Objectives:
 To implement the different Phases of compiler.
 To implement and test simple optimization techniques.
 To give exposure to compiler writing tools.
List of Exercises/Experiments :
1. Design and implement a lexical analyzer for given language using C and the lexical
analyzer should ignore redundant spaces, tabs and new lines.
2. Implementation of Lexical Analyzer using Lex Tool
3. Generate YACC specification for a few syntactic categories.
a) Program to recognize a valid arithmetic expression that uses operator +, – , * and
/.
b) Program to recognize a valid variable which starts with a letter followed by any
number of letters or digits.
c) Implementation of Calculator using LEX and YACC
d) Convert the BNF rules into YACC form and write code to generate abstract
syntax tree
4. Write program to find ε – closure of all states of any given NFA with ε transition.
5. Write program to convert NFA with ε transition to NFA without ε transition.
6. Write program to convert NFA to DFA
7. Write program to minimize any given DFA.
8. Develop an operator precedence parser for a given language.
9. Write program to find Simulate First and Follow of any given grammar.
10. Construct a recursive descent parser for an expression.
11. Construct a Shift Reduce Parser for a given language.
12. Write a program to perform loop unrolling.
13. Write a program to perform constant propagation.
14. Implement Intermediate code generation for simple expressions.
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 an 8086 assembler. The target assembly instructions can be simple move, add,
sub, jump etc.
Expected Outcome:
The Student will be able to :
i. Implement the techniques of Lexical Analysis and Syntax Analysis.
ii. Apply the knowledge of Lex & Yacc tools to develop programs.
iii. Generate intermediate code.
iv. Implement Optimization techniques and generate machine level code.

You might also like