milestone: scanner and parser

At this point in time you should:

  • have implemented the WIG scanner; note that the scanner probably has to have multiple states in order to avoid "keyword stealing"
  • have implemented the WIG parser;
  • have implemented the construction of WIG abstract syntax trees;
  • have implemented the WIG weeder; and
  • have implemented the WIG pretty printer; and
  • have tested your implementation, by using your pretty printer to test acceptance of existing benchmarks, and by using your weeder to test rejection of micro benchmarks that you write.


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/scanparse.txt. Remember that if you write your milestone report well enough then you can likely reuse portions of it in your final project report.

This milestone is due on the Friday of Week 7. It will count for 5% of your grade. Marks will be generously deducted for late submissions. It will not be considered complete until you can truthfully answer yes to all questions. 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.

Maintained by Chris Pickett. [HOME]