Step 8: Final turn-in - Due Date: Friday, Dec. 12th, 11:59pm

This step does not introduce any new requirements to your project. We will simply be testing your project on all the test cases published so far from steps 4, 5 and 6, as well as some hidden test cases. You should use this opportunity to write additional test cases for your compiler to ensure that it is robust and can handle a wide variety of situations (e.g., functions with many arguments, functions with many local variables, mutually recursive functions, function calls that have complex expressions as arguments).

Remember that the code you generate does not have to precisely match the code the reference compiler generates. It merely has to produce equivalent Tiny code that produces the same output when run on the simulator. Spending time trying to make your code match exactly is probably not productive.

We will test your compiler using the same rules as Step 7. By default we will test your compiler with the 4-register version of Tiny. If your register allocation routines do not work, we will test your code with the 1000-register version of Tiny, and you will receive 70% credit.