Chapter 8: Symbol Tables and Declaration Processing


Getting Started (5 minutes)

Setup (10 minutes)

  1. Think of a team name for your group. Try for something not easily guessed by other people. This team name will be used for posting timing results during the studio session.
  2. You must do this studio on the same equipment that the other groups are using. Do not use your own equipment or any other machines for this, as timing is important.
  3. To run the studio, right- (control-) click on Main and drag down to Run As.. Java Application.
  4. The run should fail because your symbol table implementation is not complete. So
    1. In the console window, click on the various line numbers reported in the exception trace for the CorrectnessChecks class, so you can get to the test that failed.
    2. Open the Main class in the default package.
    3. Edit the genSymtab method to switch to my implementation, as directed by the comments.
    4. Run the build again, so you can see the kind of output you will expect down the road.
    5. Switch back to your implementation in that file and continue on.

Design and Implementation Problem

You and your team are to design and implement a symbol table that meets the specification as described below. You are welcome to bounce ideas off other teams, and you should consider this problem in two phases
  1. Get an implementation to work. I have a test harness that will exercise your implementation and throw an exception if it does not work.
  2. Try for the most efficient solution you can. There is a contest afoot, and the winning team will receive gift certificates for Ben and Jerry's Ice Cream.


Contest and finishing up

Finishing Up

Submit your work as directed by your instructor.

Copyright 2010 by Ron K. Cytron
Last modified 14:32:05 CDT 13 August 2010