CS1356 COMPILER DESIGN LAB 0 0 3 100
1 & 2 Implement a lexical analyzer in “C”.
3. Use LEX tool to implement a lexical analyzer.
4. Implement a recursive descent parser for an expression grammar that generates arithmetic expressions with digits, + and *.
5. Use YACC and LEX to implement a parser for the same grammar as given in problem
6. Write semantic rules to the YACC program in problem 5 and implement a calculator that takes an expression with digits, + and * and computes and prints its value.
7 & 8. Implement the front end of a compiler that generates the three address code for a simple language with: one data type integer, arithmetic operators, relational operators, variable declaration statement, one conditional construct, one iterative construct and assignment statement.
9 &10. Implement the back end of the compiler which takes the three address code generated in problems 7 and 8, 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.
1 & 2 Implement a lexical analyzer in “C”.
3. Use LEX tool to implement a lexical analyzer.
4. Implement a recursive descent parser for an expression grammar that generates arithmetic expressions with digits, + and *.
5. Use YACC and LEX to implement a parser for the same grammar as given in problem
6. Write semantic rules to the YACC program in problem 5 and implement a calculator that takes an expression with digits, + and * and computes and prints its value.
7 & 8. Implement the front end of a compiler that generates the three address code for a simple language with: one data type integer, arithmetic operators, relational operators, variable declaration statement, one conditional construct, one iterative construct and assignment statement.
9 &10. Implement the back end of the compiler which takes the three address code generated in problems 7 and 8, 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.
EmoticonEmoticon