/* Value.java */ /** A class representing an integer or String constant. */ public abstract class Value extends Expression { public int arity() { return 0; } public Value eval() { return this; } public static Value make(int x) { /* Fill in for part 1. */ } public static Value make(String x) { /* Fill in for part 1. */ } public int intValue() { throw new Error(); } public String stringValue() { throw new Error(); } }