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); } }
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); } }
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); } }