Project 4: Implementing PoiJay

The goal of this project is to explore the effect of pointers and dynamic memory. In this project you will complete an interpreter for PoiJay. (Looking ahead, the upcoming topics include structs (records) and arrays. Project 5 will be translating RecRayJay (Jay with records and Arrays) to PoiJay. This current project is a very easy one. The next one will be a very hard one.)

1. Setup

Copy and untar the starter code for this project.

cp ~tvandrun/Public/cs365/proj4.tar .
tar xvf proj4.tar

2. The code base

The tar file contains both the poijay package and (part of) the funjay package. This is because poijay is added on to funjay (so, it has procedures, globals, etc) and in fact the typeCheckerVisitor and interpreterVisitor for PoiJay simply extend the respective visitor classes from FunJay. All that needs to be added to the interpreter visitor is visit methods for the handful of new constructs.

3. Details

4. Turn in

Copy your InterpeterVisitor.py to

/cslab.all/linux/class/cs365/(your id)/proj4

I will grade your project by running it against a collection of test files.

DUE: Wednesday, Feb 24, 5:00 pm.


Thomas VanDrunen
Last modified: Thu Jan 7 13:34:47 CST 2016