CS712/CS812
Programming Project Part 5
Spring 1997


This project part concerns the compilation of Java method calls, including constructors in class instance expresssions.

This assignment assumes correctly functioning 75% level solutions to Project Part 2, Project Part 3 and Project Part 4.

At the 75% level, your compiler should support class instance creation expressions (new) and overloaded method invocations. At this level method overloading will only occur within a single class (no overloading via inheritance). Be sure to consider the overloading of constructors.

At the 85% level, your compiler should also support method invocation for methods of derived classes. This support should include resolution of overloading via inheritance and handling of method overriding.

At the 100% level, your compiler should also support method invocation for interfaces.

Note that your compiler does not need to support the declaration of derived classes or interfaces. You can compile derived classes and interfaces with the Sun javac compiler. You can then compile uses of these classes and interfaces using your compiler.

Be sure to consider what semantic errors need to be detected for this assignment.

Your program will be graded primarily by testing it for correct functionality. However, you may lose points if your program is not properly structured or adequately documented.

All test files used for grading will be publicly available prior to the due date. When ready, the test files will be in ~cs712/public/proj5.

Your programs will be graded using an Alpha machine (e.g. hopper and christa) so be sure to test in that environment.

As with Project Part 4, you should submit a Makefile and all source files, both the files you created and the ones that were provided to you (even if you have not modified them). Your executable program should still be called "javac712".

Your programs should be submitted for grading from either hopper or christa. To turn in this assignment, type:
~cs712/bin/submit proj5 <list of files to submit>

Do not turn in any non-Ascii files (i.e. no object files, no executable files, etc.).

Submissions can be checked by typing:
~cs712/bin/scheck proj5

To receive full credit for the assignment, you must turn in your files prior to 8am on Monday May 12. Late submissions will be accepted at the penalty of 5% per day up to one week late.

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


Last modified on April 21, 1997.

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