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:
- Full symbol table functionality for any mPascal program without
procedures, parameters, or functions
- Compiling programs that consist of just a main program that includes any combination of
- Read statements
- Write statements
- Assignment statements
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.
- Hand in your grammar rules modified with actions, nicely typed