Semantics II, Level C Compliance

Posted week of March 31
Due at the beginning of your next lab period

Objective

The objective of this assignment is the construction of your compiler for level C compliance. 

To Do

The first thing to do is to mark up with action symbols the set of grammar rules of the mPascal grammar that you determine are needed for level C compliance.  The action symbols you insert should also show which semantic records are required to accomplish the action. Bring your compiler up to level C compliance.  This means that you are to generate mMachine code that can be run through the mMachine emulator for any mPascal program consisting of just a main program with Read, Write, and assignment statements.  Your compiler is to follow the standard approach of using semantic records and semantic actions (methods in the Symbol Table and Analyzer objects) for symbol table management and mMachine code generation.  In summary, after this week, your compiler should now be capable of:

Your compiled programs should run on the mMachine emulator.

To Turn In

At this point of the semester we will not be following the milestones exactly.  That is, we will not be testing for level C compliance this coming week, even though the schedule shows level C being due then.  The reason for this is that you should now be making the final drive to get your compiler to the compliance level you have targeted.  We will not actually be testing the compilers for all levels of compliance until the end.