milestone: type checking
At this point in time you should:
- have defined the types relevant for WIG programs;
- have specified a set of type rules for WIG programs (in
prose, if you
like);
- have implemented the corresponding check for static type
correctness;
and
- have tested your implementation, by:
- extending the pretty printer to print the type of every
expression;
- writing test programs that provoke every error message;
and
- making sure your compiler either handles these old examples and the 2007 and 2008 class benchmarks or prints an error
message if not;
- have added a command-line switch that enables (or
disables) the type checking phase;
- have added a command-line switch that enables (or
disables) the printing of expression types in the pretty printer;
and
- have added a
type target to your Makefile
or build.xml for
testing the type checker.
You should check in your source code to group-X/wig/src .
You should also detail your progress for each of the steps above in group-X/reports/typecheck.txt .
Remember that if you
write your milestone report well enough then you can likely reuse
portions of it in your final project report.
Due to recent problems with compiling the
code of some of the groups, in addition:
- select
one machine in the CS
cluster and make sure that your code compiles and runs on your
code, regardless of
how the environment is set up (you can assume, though, that commands
like "sablecc" and "joos" are available, according to the instructions
that we gave earlier)
- in
your report for this milestone, mention on which machine you conducted
this test and how to invoke your scripts to reproduce the test results.
This milestone is due on the Friday of Week 9. It will not be
considered complete until you have completed all of these tasks. This
is a fairly considerable milestone and you will not be able to finish
it in one day. Remember that successfully completing the
milestones
is a key factor in completing the WIG project, and that timely
completion of milestones is part of the grade for the course. Also
remember that we expect to see all group members committing changes to
the Subversion repository.
There is no need to email us on
completion.
Unless you took a late day we will automatically take the version into
account that was checked in last before the point of the deadline.
Maintained by Eric Bodden. [HOME]
|
|