CS712/CS812
Project Phase 2
Fall 2018
Due Sunday October 14


Add features to your T compiler:

  1. (50 points) This will be a re-evaluation of the first three work items from the Phase 1 assignment.

  2. (10 points) main block declarations of arrays.

  3. (10 points) array creation. (You only need to support the creation of arrays where a single dimension length is specified.)

  4. (10 points) array reference (without run-time type checking).

  5. (10 points) cast of array types (without run-time type checking).

  6. (10 points) array length field.

  7. (20 bonus points) Object type and run-time type checking for array assignment and cast.
You should complete items 2-4 in the above work list in the order that they are presented. That is, declaration of arrays will be used to test array creation, which will be used to test array reference. Also, items 2-3 should be completed prior to doing either item 5 or item 6, because items 2-3 will be used to test items 5-6.

There are some initial test files available on agate in ~cs712/public/tests/phase2.

To get full credit, your code must be adequately documented and structured. If I can't easily read and understand your code, you may lose points.

You must give me back the system in the same form that I gave it to you. I must be able to install it and run it in the exact same way as when it was delivered to you. I would also like you to keep the source code organized in the same directory hierarchy. If you fail to do this, a significant deduction will be made to your grade.

Note that there is a script, distribute.sh, in tc/bin, which will generate a tar file for you. This tar file is what I require you to submit to me for grading.

To turn in this assignment, type (on agate.cs.unh.edu):
~cs712/bin/submit phase2 tc.tar

Submissions can be checked by typing (on agate.cs.unh.edu):
~cs712/bin/scheck phase2

The assignment is due on Sunday October 14. There is a grace period to 8am on Monday October 15 when no late penalty will be assigned. Submissions between 8am October 15 and 8am October 16 will have a late penalty of 10 points. Submissions between 8am October 16 and 8am October 17 will have a late penalty of 30 points. No submissions will be accepted after 8am on Wednesday October 17.

Remember: you are expected to do your own work on this assignment.


Last modified on September 18, 2018.

Comments and questions should be directed to pjh@cs.unh.edu