CSE-8B / PA6 / starter / Expression.java
Expression.java
Raw
//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());
  }

}