public class Variable implements Expression {
    protected String sym;
    public Variable(String sym) { this.sym = sym.intern(); }
    public String getName() { return sym; }
    public boolean same(String n) { return sym.equals(n); }
    public Object visit(ExpressionVisitor v) {
        return v.visitVariable(this);
    }
    public String toString() { return sym; }
}
