milestone: symbol tables

At this point in time you should:

  • have defined the kinds of identifiers that occur in WIG programs;
  • have decided what symbol information is relevant to each kind;
  • have defined the appropriate SYMBOL (C) or Symbol (Java) type;
  • have implemented the construction of symbol tables;
  • have implemented the analysis of identifier uses;
  • have tested your implementation, by:
    1. printing out a symbol table for a representative program and comparing it to a manual construction;
    2. writing test programs that provoke every error message; and
    3. making sure your compiler handles either these old examples and the 2009 class benchmarks (previous years are important, but not critical like 2009) or prints an error message if not;
  • have added a command-line switch that enables (or disables) the symbol table phase; and
  • have added a symbol target to your Makefile or build.xml for testing the symbol table.

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/symbol.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 8. It will count for 5% of your grade. Marks will be generously deducted for late submissions. 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.

Maintained by Chris Pickett. [HOME]