Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        public override Valor interpretar()
        {
            Valor v_izq = leftExpr.interpretar();
            Valor v_der = rightExpr.interpretar();

            Valor result;
            if (v_izq is ValorEntero)
                result = new ValorBooleano(
                    Convert.ToBoolean(((ValorEntero)v_izq).valor)
                    ||
                    Convert.ToBoolean(((ValorEntero)v_der).valor)
                    );
            else if (v_izq is ValorFlotante)
                result = new ValorBooleano(
                    Convert.ToBoolean(((ValorFlotante)v_izq).valor)
                    ||
                    Convert.ToBoolean(((ValorFlotante)v_der).valor)
                    );
            else
                result = new ValorBooleano(
                        ((ValorBooleano)v_izq).valor
                        ||
                        ((ValorBooleano)v_der).valor
                        );

            return result;
        }
Exemplo n.º 3
0
        public override Valor interpretar()
        {
            Valor v_izq = leftExpr.interpretar();
            Valor v_der = rightExpr.interpretar();

            Valor result;
            if (v_izq is ValorEntero)
                result = new ValorBooleano(
                    ((ValorEntero)v_izq).valor
                    !=
                    ((ValorEntero)v_der).valor
                    );
            else if (v_izq is ValorFlotante)
                result = new ValorBooleano(
                    ((ValorFlotante)v_izq).valor
                    !=
                    ((ValorFlotante)v_der).valor
                    );
            else if (v_izq is ValorCadena)
                result = new ValorBooleano(
                    ((ValorCadena)v_izq).valor
                    !=
                    ((ValorCadena)v_der).valor
                    );
            else if (v_izq is ValorCaracter)
                result = new ValorBooleano(
                        ((ValorCaracter)v_izq).valor
                        !=
                        ((ValorCaracter)v_der).valor
                        );
            else
                result = new ValorBooleano(
                        ((ValorBooleano)v_izq).valor
                        !=
                        ((ValorBooleano)v_der).valor
                        );

            return result;
        }