Due: Sunday, 12/10 at 11:59pm
Your primary job in this -- the course's last assignment --
is to fix any lingering problems in your
parser, interpreter, and type checker from A4. That is, in part I,
there's no new work that hasn't already been assigned. Simply go back
through your submission from A4 and spend more time
making sure that (1) you've correctly and completely implemented
each part (especially the type checker from A4--part III) and (2) that
you've written enough test cases in A4--part III
to adequately test your implementation
(that means, at a miniminum, at least one test case per expression type).
In part II of A5, you have the option of working with a partner to
extend your fixed-up A4 in one of the following two ways:
- References: Following the implementation described in chapter 31 of PAPL, add support in your parser, interpreter, and type checker for mutable references (boxes). Add enough (clearly marked) test cases in your submission to convince us that you've implemented references correctly.
- Objects: Following the implementation described in chapter 32 of PAPL, add support in your parser, interpreter, and type checker for objects. Add enough (clearly marked) test cases in your submission to convince us that you've implemented objects correctly.
Part I (INDIVIDUAL, 4 POINTS)
-
Fix any lingering problems in your A4 submission, with special focus on the type checker. Include enough type-checker test cases (at least one for each expression type) to convince us that you've correctly implemented the required functionality.
- Submit your file, named a5-3200-f17-STUDENT.arr, via Blackboard on or before 11:59pm on the due date.
Part II (WITH A PARTNER, 4 EC POINTS)
-
With a partner, implement one of two extensions described above.
- Submit your file, named a5-3200-f17-BONUS.arr, via Blackboard on or before 11:59pm on the due date. Only one person from each partnership need submit. However, each submitted file must clearly list both partners' names in a comment at the top of the file.
- PART II is extra credit. The points (up to max. 4) will be added to your overall homework grade.