Milestone 10 - Level B Compiling

Objective

The objective of this assignment is the construction of your compiler for level B compliance.  Again, by the time this milestone is due you should have all of level C and all, or at least most, of level B compiling done if you are targeting an A level compiler.

To Do

The first thing to do is mark up with action symbols the section of the mPascal grammar that you identify as necessary for level B compliance.  The action symbols you insert should also show which semantic records are needed to accomplish the action. Bring your compiler up to level B compliance.  This means that you are to generate IR that can be run through the mMachine emulator for any mPascal program consisting of just a main program with Read, Write, assignment, and all control statements.  Your compiler is to follow the standard approach of using semantic records and semantic actions (methods in the Analyzer object) for symbol table management and IR code generation.  In summary, your compiler should now be capable of:

In other words, your compiler should parse any valid mPascal program and compile any valid mPascal program that consists of just a main program.

Special Note

Note the following:

To Turn In