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 result = new ValorFlotante( ((ValorFlotante)v_izq).valor / ((ValorFlotante)v_der).valor ); return result; }
public override Valor interpretar() { //initEnvValores(); Valor v = value.interpretar(); ReferenceAccess t_id = (ReferenceAccess)Id; Valor oldval = Parser.pilaValores.Peek().get(t_id.lexeme); //this.entornoValoresActual.get(t_id.lexeme); Valor newval; if (oldval is ValorEntero) newval = new ValorEntero( ((ValorEntero)oldval).valor / ((ValorEntero)v).valor ); else newval = new ValorFlotante( ((ValorFlotante)oldval).valor / ((ValorFlotante)v).valor ); t_id.setElem(newval); return newval; }
public override Valor interpretar() { Valor val = this.Id.interpretar(); Valor newVal; if (val is ValorEntero) newVal = new ValorEntero(((ValorEntero)val).valor + 1); else newVal = new ValorFlotante(((ValorFlotante)val).valor + 1); ReferenceAccess t_id = (ReferenceAccess)Id; t_id.setElem(newVal); return newVal; }
public override Valor interpretar() { Valor val = this.Id.interpretar(); Valor newVal; if (val is ValorEntero) newVal = new ValorEntero(((ValorEntero)val).valor - 1); else newVal = new ValorFlotante(((ValorFlotante)val).valor - 1); //this.entornoValoresActual.set(((ReferenceAccess)Id).lexeme, newVal); ReferenceAccess t_id = (ReferenceAccess)Id; t_id.setElem(newVal); return newVal; }
public override Valor interpretar() { Valor val = this.Id.interpretar(); //EnvValues env = ((ReferenceAccess)Id).getEntornoValores(); Valor newVal; if (val is ValorEntero) newVal = new ValorEntero(((ValorEntero)val).valor + 1); else newVal = new ValorFlotante(((ValorFlotante)val).valor + 1); //env.set(((ReferenceAccess)Id).lexeme, newVal); ReferenceAccess t_id = (ReferenceAccess)Id; t_id.setElem(newVal); return val; }
public override Valor interpretar() { Valor val = this.Id.interpretar(); Valor newVal; if (val is ValorEntero) newVal = new ValorEntero( Convert.ToInt32( !(Convert.ToBoolean(((ValorEntero)val).valor)))); else if (val is ValorFlotante) newVal = new ValorFlotante( Convert.ToInt32( !(Convert.ToBoolean(((ValorFlotante)val).valor)))); else newVal = new ValorBooleano(!((ValorBooleano)val).valor); //this.entornoValoresActual.set(((ReferenceAccess)Id).lexeme, newVal); return newVal; }