CSCI 230 - Computing Systems Organization

Fall 2017

Project 11 Guide

To complete Project 11, it is best to finish the compiler in stages. At each stage, only implement the code generation for the productions sufficient for completing the given test case.

Seven

To compile Seven, you need to generate code for the following symbols:

ConvertToBin

NOTE: The provided ConvertToBin is difficult to use. I recommend my modified version (Main.jack). My version uses keyboard input and prints to the screen, rather than relying on RAM hacking.

To compile ConvertToBin, you need to generate code for the following additional symbols:

Average

To compile Average, you need to generate code for the following additional symbols:

ComplexArrays

ComplexArray should compile if Average compiles. It is a much tougher test case, though. Make sure that the destination of the expression in a let statement does not have that inadvertently overwritten.

Square

To compile Square, the compiler should be completely finished, except for static variables. Pay particular attention to the following:

Pong

To compile Pong, the compiler should handle static class variables.