Milestone 7 (final), csc431, Fall 2019
1 Goal
1.1 Grading rubric
1.2 Test Cases
1.3 Delivery
1.4 Demo
7.5.0.16

Milestone 7 (final), csc431, Fall 2019

1 Goal

The goal of milestone 7 is to produce a compiler for the R5 language, including lexically scoped functions.

1.1 Grading rubric

Here’s the general breakdown of the points, as in earlier assignments:

1.2 Test Cases

Here’s a bundle containing test cases:

m7-test-cases.tgz

1.3 Delivery

Your code should be finished and checked into github some time on Monday. Don’t make any changes to your code after Monday.

Your code should include a "README" file that describes how to compile the code. Don’t forget to include a list of any software that needs to be installed before compiling.

After compiling, it should be possible to compile a single source file by running

blungentle <source-file>

This should generate two files: "output.s", containing the assembly that you generated, and an executable file named either "a.out" or "a.exe", depending on whether you’re running on MacOS/Linux or Windows.

Your "blungentle" file can be either a script or an executable, whatever makes more sense for your program. It is not necessary to make this file relocatable; it’s okay for it to depend on the file’s location.

It should be possible to run this file from another directory, so if for instance I am in the directory "/tmp/" and your project is in "/Users/zemelda/431", I should be able to run

/Users/zemelda/431/blungentle ./foo.sep

... and the two output files should be generated in the current directory. Post to piazza if you have any questions about how to get the directories to work out correctly here.

1.4 Demo

As we discussed in class, we’re going to run demos from 10:00 AM until 11:00 AM on Wednesday, December 11th, in the Lecture room. You should be prepared with a script that runs all tests, along with the ability to compile individual test programs.