4.3, 4.4 AbstractSyntax.java, StaticTypeCheck.java, Semantics.java
Exercises 4.12, 4.13 You may use the sample Jay program program.jay as input to test your implementation.
Use parser.java, typechecker.java, and interpreter.java as drivers for your implementation.
Use the text files parser.output, typechecker.output, and interpreter.output as a basis for testing
your finished parser, type checker, and interpreter for correctness. The following sample Jay
programs have various kinds of errors; these can be used as input to test your syntactic and
type checking functions more thoroughly.