Grading for Project 4
15-212, Spring 1998
The grades for the interpreter will be out of 100, with 90 points given for
correctness and 10 for style.
Correctness
We will perform the following test of your code:
- Compile to java bytecode via
javac Proj4.java.
- Feed some lexically, syntactically, and semantically
incorrect SL programs to your parser via
java Proj4 inputs <
bad.sl, and make sure that the interpreter behaves appropriately. That
is, the interpreter should distinguish among the above three types of incorrect
inputs, and provide an appropriate error message.
- Feed some semantically correct SL programs to your interpreter via
java
Proj3 < good.sl, and make sure that the interpreter behaves appropriately. The only output the interpreter should generate is the values of the write() calls in the code.
For your benefit, here are some common failure modes to check for. The list is
just off the top of my head, and certainly not comprehensive:
- Does your interpreter go into an infinite loop in
while
loops, when it shouldn't?
- Do function calls behave appropriately, with and without parameters?
- Make sure variable shadowing works as specified.
-
break can only appear within a while loop.
Anywhere else is illegal.
Obviously, there are lots of others, and the course staff reserves the right to
assign 0/90 correctness points to any project which does not pass the above
tests or similar ones.
Style
Same as always.