CS712/CS812
Project Phase 3
Summer 2021
Due Thursday, July 27 for +14 points, +0 due date is at August 3rd


Add features to your T compiler:

  1. (25 points) declaration of classes that contain only fields (and not constructors, destructors or methods).

  2. (25 points) creation of class instances.

  3. (25 points) field access.

  4. (25 points) cast of class types.

Work items 1 and 2 should be done first, as they will be used to tests items 3 and 4. They will also be required for Phase 4.

When creating a class instance, you do not need to call a constructor. However, be sure that fields are properly initialized.

For work item 1, you should upgrade the class table dump facility (accessed by the -CT command-line option to tc) to display each field and its type.

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

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.

Please submit through the gitlab submission instructions detailed under the gitlab link on the homepage. Remember: you are expected to do your own work on this assignment.

Comments and questions:


Last modified on May 24, 2021.