Guidelines on Reports

Some assignments require a report.pdf document. The document will be evaluated based on both writing and technical content. Good writing often reflects good thinking. Be clear, thorough, and concise. Use good judgment about what will be useful to the course staff while grading your assignment: incomplete and excessive documentation will both be penalized.

Use letter-sized pages, a 10–12 point font, and reasonable margins and line spacing.

Reports submitted after the assignment deadline will not be marked and will receive a mark of zero. If you cannot finish the assignment by the deadline, submit what you have by the deadline, and explain any unfinished parts in your report.

A report typically contains the following components.


Design and Implementation

This part should be the focus of your report. Things to consider:

Your job is to enable someone unfamiliar with your program to understand it (without looking at the source code) and to convince the course staff that you have thought carefully about the construction of your compiler.

Testing and Known issues

Describe your test cases and the result of testing. Detail any known issues of your compiler. Your compiler will be evaluated on secret Marmoset tests (to be run after the deadline of the final assignment), so you want to achieve good coverage of the input space and of your code in your own tests.


Describe what each group member did.