public class Expr {
    private Node root;
  
    public Expr(Node root) {
	      this.root = root;
    }
    public void setRoot(Node root) {
        this.root = root;
    }
    
    public Double eval(Assignation ass) {
	      return root.eval(ass);
    }
    public void derive(String var) {
        root = root.derive(var);
    }
    public void substitute(String var, double d) {
        root = root.substitute(var,d);
    }
//     @Override
//     public String toString() {
//         return root.toString();
//     }
}



