Assignment

Part 1 - Grammar Manipulation

Since you will ultimately build an interpreter for HL rather than a compiler,
the starting non-terminal for this grammar is either a statement or an expression
rather than an entire program.

Note that you will encounter some difficult challenges in this process.
They are nearly all manageable by manipulating the grammar.
However, there are a few problems that make it impossible to make the grammar LL(k).
You will deal with these problems in part 2.

Testing the assignment

How to submit the assignment

Zip up together HL.jjt into A2.zip.
We are using a script to grade you, please use exact names listed here, including A2.zip

If you have modified any .java files, also include them in A2.zip
with the proper directory structure.
Make sure that the test scripts described in the
Assignment 2 Test Page works with no modifications.