Institution: University of Nevada, Reno
Course: CS660: Compiler Construction
Author: Chase Carthen
Author: Nolan Burfield
Author: Vinh Le
Date: 12/15/15
========================================
On ubuntu it can be installed with these commands
$ sudo apt-get install python-pip spim
$ sudo pip install ply bintrees strconv termcolor
To run this compiler:
$ python driver.py input_file
$ spim a input_asm
The spim command will verify the results
Flags offered by this compiler can be referenced using the
$ python driver.py -h
Python - Main Language of this Compiler Project
**PiP - This module allows for easy of use in installing these python modules. **
**PLY - This module mimics the C equivalent of Flex and Yacc **
**Bintrees - This module allows for an easy of use Red-Black Tree **
**StrConv - This module allows for the type inference needed for type checking **
**TermColor - Chase has OCD for coloring text **
Type Definitions - Capable of handling simple variable types(char, int).
N-Arrays - Fully Functional.
Functions - Fully Functional.
Constants - Fully Functional.
Recognize Syntax Errors - Can locate errors and provide IMPROVED feedback.
Constant Value Arithmetic - Capable of optimizing simple arithmetic.
For Loop - Fully Functional.
While Loop - Fully Functional.
Function Declarations - Fully Functional.
Function Definitions - Fully Functional.
Variable Declarions/Calls - Fully Functional.
If/Else - Fully Functional.
Simple Assignment - Fully Functional.
Type Checking - Fully Functional.
**Pointer - Simple 1D Pointers **
**Structs - No Array of Structs **
Assignment Completed in Python 2.7
Extra credit: 1D Pointers, Structs, Multiple Dimensions, Recursion