//File: Expression.java //Name: Trai Pham //Date: 02/16/2020 //Course: CSE 8B /** */ public abstract class Expression{ public abstract Value evaluate(); @Override public String toString(){ if(evaluate() == null){ return "undefined"; } // else if(evaluate() = true){ // return "true"; // } // else if(evaluate() = false){ // return "false"; // } else{ return this.evaluate().toString(); } } @Override public boolean equals(Object a){ if(!(a instanceof Expression)){ return false; } else if( a == null){ return false; } Expression other = (Expression) a; return(this.evaluate().toString() == other.evaluate().toString()); } }