Lab 4: Symbol Tables
Lab Assigned Lab Due
(Start of class)
28 Feb 21 Mar


Abstract: The symbol table is the best example of a structure deserving global treatment in a compiler based on bottom-up parsing. In this homework, you will implement symbol-table processing for our Java-like language. This requires a traversal of the AST using the Visitor pattern as well as an implementation of a symbol-table manager.

The essential task performed here is to associate with a reference to a local or instance name the declaring node that provides type-information about that name.


In this lab, you will need a working implementation of Lab 3 , and when you install the software, you will be given a linked copy of the parser, in project parser. To use your own solution from Lab 3, you will have to copy the appropriate files into your working directory and modify the Makefile. In any case, your solution for this lab must work with our distributed software. Appropriate interfaces are defined in the hw4 directory.

Preliminaries: