ASSIGNMENT #7

Due Thursday, March 18, 2004


1. Design and implement symbol table management routines to store all of the identifiers used in a program. Specifically, you should have operations to 1) add an identifier to the symbol table, 2) look up an identifier in the symbol table to see if it is there or not, returning the denotable value if it is, and 3) print the symbol table. The symbol table will contain the names of identifiers, whether the identifier denotes a function or variable, as well as other attributes. These attributes are as follows:
2. After parsing each function, including main, output the local symbol table and syntax tree for the function. Also output the (global) symbol table for the program after parsing it.

More details about the structure of the symbol table may be found in the denotational semantics of MicroC++.

No late assignments will be accepted due to the impending Spring break.


CS405 TA
2004-02-24