public override Valor interpretar() { Valor v = value.interpretar(); ReferenceAccess t_id = (ReferenceAccess)Id; Valor oldval = t_id.interpretar();//this.entornoValoresActual.get(((ReferenceAccess)Id).lexeme); Valor newval; if (oldval is ValorEntero) newval = new ValorEntero(((ValorEntero)oldval).valor + ((ValorEntero)v).valor); else if (oldval is ValorFlotante) newval = new ValorFlotante(((ValorFlotante)oldval).valor + ((ValorFlotante)v).valor ); else newval = new ValorCadena( ((ValorCadena)oldval).valor + ((ValorCadena)v).valor ); t_id.setElem(newval); return newval; }
public override Valor interpretar() { Valor v_izq = leftExpr.interpretar(); Valor v_der = rightExpr.interpretar(); Valor result; if (v_izq is ValorEntero) result = new ValorEntero( ((ValorEntero)v_izq).valor + ((ValorEntero)v_der).valor ); else if (v_izq is ValorFlotante) result = new ValorFlotante( ((ValorFlotante)v_izq).valor + ((ValorFlotante)v_der).valor ); else result = new ValorCadena( ((ValorCadena)v_izq).valor + ((ValorCadena)v_der).valor ); return result; }