COURSE OBJECTIVES

The aim of this Compiler Construction lab is to provide a foundational base of the different phases involved in compiler design and construction. It is achieved by way of making the students implement simple programs related to different phases associated with the design of compilers. The programming is mostly done using Java Programming language under Windows Operating System and tools such as JFlex and Coco/R are used in implementing Lexical and Syntax analyzers. At the end of the lab course the student is equipped with a basic idea and practical orientation of a simple compiler construction.

COURSE LEARNING OUTCOMES (CLO)

CLO: 1. Use compiler construction tools to automatically generate lexical analyzer and syntax analyzer. (C-1)
CLO: 2. Develop a lexical analyzer for given regular expressions. (C-3)
CLO: 3. Develop a syntax analyzer for a given context-free grammar. (C-3)
CLO: 4. Implement appropriate algorithms for lookup and insert operations on a symbol table. (C-3)

COURSE CONTENTS


1. Java File Handling
2. JFlap Tool
3. JFlex Tool
4. Lexical Analyzer Part 1
5. Lexical Analyzer Part 2
6. Coco/R Tool Part 1
7. Coco/R Tool Part 2
8. LL1 Parsing Part 1
9. LL1 Parsing Part 2
10. SLR Parsing Part 1
11. SLR Parsing Part 2
12. Symbol Table Part 1
13. Symbol Table Part 2