CS712/CS812
Project Phase 4
Summer 2021
Due Sunday August 1/8


Add features to your T compiler:

  1. (20 points) declaration of methods and constructors without parameters..

  2. (20 points) method call without parameters, including method overriding.

  3. (20 points) constructor call without parameters.

  4. (20 points) method and constructor declaration and call with parameters.

  5. (20 points) method and constructor overloading.

  6. (CS712: 25 bonus points, CS812: mandatory, full phase scaled to 100 points) support for the "this" keyword, the "super" keyword, the return statement, and destructors.

Work item 1 should be done first, as it will be used to test the other items.

For work item 1, you should upgrade the class table dump facility (accessed by the -CT command-line option to tc) to display each method name and its return type, and each constructor. For work iterm 4, update the class table dump to show each method or constructor parameter name and its type.

To get full credit for the bonus points, you will need to have fields implemented.

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

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 phase4 tc.tar

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

Class "technically" ends on the 30th of July - the Registrar's office made a mistake - this class should be an 11 week class.
That being the case - the due date for the final phase of your compiler is due... on the first of August. However no late penalties will be assessed until after the 8th of August
The assignment is due on Sunday August 1.
There is a grace period to 8am on Monday August 9 when no late penalty will be assigned. Submissions between 8am August 9 and 8am August 10 will have a late penalty of 10 points. Submissions between 8am August 10 and 8am August 11 will have a late penalty of 30 points. No submissions will be accepted after 8am on Wednesday August 11.

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

Comments and questions:


Last modified on May 24, 2021.