Beispiel #1
0
        public void AsignarTemporal()
        {
            Variable variable = Tabla3D.BuscarVariable(Temporal);

            if (variable != null)
            {
                FNodoExpresion valor = this.Valor.ResolverExpresion();
                if (!TitusTools.HayErrores())
                {
                    if (valor.Tipo.Equals(Constante.TEntero) || valor.Tipo.Equals(Constante.TDecimal))
                    {
                        variable.Valor = valor;
                        Console.WriteLine(variable.Nombre + " = " + valor.Cadena);
                    }
                    else
                    {
                        TitusTools.InsertarError(Constante.TErrorSemantico, "Se esperaba un valor numerico.", TitusTools.GetRuta(), this.Valor.Fila, this.Valor.Columna);
                    }
                }
            }
            else
            {
                TitusTools.InsertarError(Constante.TErrorSemantico, "No se encontroo el temporal " + this.Temporal, TitusTools.GetRuta(), this.Valor.Fila, this.Valor.Columna);
            }
        }
Beispiel #2
0
        public void ImprimirDecimal()
        {
            Variable v = Tabla3D.BuscarVariable(Temporal);

            if (v != null)
            {
                if (v.Valor != null)
                {
                    FNodoExpresion valor = (FNodoExpresion)v.Valor;
                    if (valor.Tipo.Equals(Constante.TDecimal))
                    {
                        TitusTools.ImprimirConsola(valor.Decimal.ToString());
                        TitusTools.ImprimirConsola("\n");
                    }
                    else
                    {
                        TitusTools.InsertarError(Constante.TErrorSemantico, "No se puede imprimir un decimal porque el valor no es decimal del temporal " + Temporal, TitusTools.GetRuta(), Padre.Fila, Padre.Columna);
                    }
                }
                else
                {
                    TitusTools.InsertarError(Constante.TErrorSemantico, "No se ha asignado ningun valor al temporal " + Temporal, TitusTools.GetRuta(), Padre.Fila, Padre.Columna);
                }
            }
            else
            {
                TitusTools.InsertarError(Constante.TErrorSemantico, "No existe el temporal " + Temporal, TitusTools.GetRuta(), Padre.Fila, Padre.Columna);
            }
        }
Beispiel #3
0
        public void ImprimirCaracter()
        {
            Variable v = Tabla3D.BuscarVariable(Temporal);

            if (v != null)
            {
                if (v.Valor != null)
                {
                    FNodoExpresion valor = (FNodoExpresion)v.Valor;
                    if (valor.Tipo.Equals(Constante.TEntero))
                    {
                        if (valor.Entero >= 0)
                        {
                            char c = (char)valor.Entero;
                            TitusTools.ImprimirConsola(c.ToString());
                            if (valor.Entero == 0)
                            {
                                TitusTools.ImprimirConsola("\n");
                            }
                        }
                        else
                        {
                            TitusTools.InsertarError(Constante.TErrorSemantico, "No se pueden imprimir un caracter con un ascii negativo en el temporal " + Temporal, TitusTools.GetRuta(), Padre.Fila, Padre.Columna);
                        }
                    }
                    else
                    {
                        TitusTools.InsertarError(Constante.TErrorSemantico, "No se puede imprimir un caracter porque el valor no es entero del temporal " + Temporal, TitusTools.GetRuta(), Padre.Fila, Padre.Columna);
                    }
                }
                else
                {
                    TitusTools.InsertarError(Constante.TErrorSemantico, "No se ha asignado ningun valor al temporal " + Temporal, TitusTools.GetRuta(), Padre.Fila, Padre.Columna);
                }
            }
            else
            {
                TitusTools.InsertarError(Constante.TErrorSemantico, "No existe el temporal " + Temporal, TitusTools.GetRuta(), Padre.Fila, Padre.Columna);
            }
        }