public double Opera(Variable izq, double der) { if (!isAssignment) { double i = izq.Valor(); return(op.Opera(i, der)); } else { izq.AsignarValor(der); return(der); } }
public double Evalua() { double izq = 0; double der = 0; if (derecha != null) { der = derecha.Evalua(); } if (VarIzquierda != null) { if (operadorv != null) { return(operadorv.Opera(VarIzquierda, der)); } else { return(VarIzquierda.Valor()); } } else if (OpIzquierda != null) { izq = OpIzquierda.Evalua(); } else if (NumIzquierda != null) { izq = NumIzquierda.Valor(); } if (operador != null) { return(operador.Opera(izq, der)); } else { return(izq); } }