Project 1 was practice and not a part of this compiler.
Project 2 - The language has the following features -
o Global declarations for both functions and variables (c declaration should be fine and simple.)
o Usual mathematical expressions (bracketing, +, -, *, /, unary negation (eg: -2))
o Have Integers and Boolean types
o Looping options
o Conditionals
o Should allow all kinds of nesting.
o Type checking.
o Input/Output commands
o Recursion.
Part 1
A C program to do the following :
Input: A regular expression on the alphabet {a,b...}. Output: The minimal DFA for the regular expression
In addition, a program to simulate the DFA on any possible input!
Part 2
Grammar(tentative) for the language we have designed. Identification of the tokens! A lex code which will produce the tokens for the language!
Project 3 a) A parser for the language which identifies multiple syntax errors.
b) A program to display the syntax tree corresponding to a syntactically correct program.
Project 4
Design a target code generator given the parser you have designed in Assignment 3 as input. The target code generator should produce MIPS assembly code as output. The generated code should be compatible with and executable on the MIPS simulation platform SPIM. Also, incorporate type (int should be coercible into chars) and nested scope analysis on the given input parser. If you cannot handle the entire parser created by you in assignment 3, take the largest subset of it that you can handle.