CS712/CS812
Programming Project Part 4
Spring 1997


This project part concerns the compilation of Java control statements.

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

At the 75% level, your compiler should support the while and if statements.

At the 85% level, your compiler should also support labelled statements, break statements, and continue statements.

At the 100% level, your compiler should also support the switch statement. This includes supporting break and continue statements inside of switch statements. The only kind of case constant expression you need to support is a simple constant (no operators, not even unary minus).

The Java Virtual Machine Specification by Lindholm and Yellin is now available in Postscript (~301K) and PDF (~200K) from Sun.

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

Syntactic error recovery is not required for this assignment, but you may find it convenient to add error productions to synchronize at semicolons and closing curly brackets.

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/proj4.

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 3, 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 proj4 <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 proj4

To receive full credit for the assignment, you must turn in your files prior to 8am on Monday April 21. 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 1, 1997.

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