This document contains a list of 20 exercises for a compiler lab, including implementing a symbol table, lexical analyzer using LEX, arithmetic expression and variable recognition using YACC, a calculator using LEX and YACC, stack storage allocation, converting BNF to YACC form, type checking, data and control flow analysis, shift-reduce parsing, code optimization, constructing a DAG, and implementing a compiler back end to generate three-address code.
This document contains a list of 20 exercises for a compiler lab, including implementing a symbol table, lexical analyzer using LEX, arithmetic expression and variable recognition using YACC, a calculator using LEX and YACC, stack storage allocation, converting BNF to YACC form, type checking, data and control flow analysis, shift-reduce parsing, code optimization, constructing a DAG, and implementing a compiler back end to generate three-address code.
This document contains a list of 20 exercises for a compiler lab, including implementing a symbol table, lexical analyzer using LEX, arithmetic expression and variable recognition using YACC, a calculator using LEX and YACC, stack storage allocation, converting BNF to YACC form, type checking, data and control flow analysis, shift-reduce parsing, code optimization, constructing a DAG, and implementing a compiler back end to generate three-address code.
1 Implementation of Symbol Table 2 Implementation of lexical analyzer in C 3 LEX program to count the number of vowels 4 LEX program to find the data type of a given input 5 LEX program to check for valid identifier 6 LEX program to display Upper case letters 7 Implementation of lexical analyzer using LEX 8 YACC program to find valid arithmetic expression 9 YACC program to recognize valid variable 10 Implementation of Calculator using LEX and YACC 11 Implementation of Stack storage allocation strategy 12 Conversion of BNF into YACC form 13 Type Checking (Structure equivalent) 14 Type Checking (Structure not equivalent) 15 Data flow analysis 16 Control flow analysis 17 Implementation of Shift-Reduce Parser 18 Implementation of Code optimization technique 19 Construction of DAG 20 Implementation of back end of the compiler(Three address code)