public Form1() { InitializeComponent(); _analizadorLexico = new AnalizadorLexico(); _tablaSimbolos = new TablaSimbolos(); _analizadorSintactico = new AnalizadorSintactico(); _analizadorSemantico = new AnalizadorSemantico(); _generadorCodigo = new GeneradorCodigo(); cuadroResultados.ScrollBars = ScrollBars.Both; cuadroResultados.WordWrap = false; cuadroTexto.ScrollBars = ScrollBars.Both; cuadroTexto.WordWrap = false; new ToolTip().SetToolTip(btnNuevo, "Nuevo"); new ToolTip().SetToolTip(btnCompilar, "Compilar"); new ToolTip().SetToolTip(btnOpen, "Abrir"); new ToolTip().SetToolTip(btnSave, "Guardar"); new ToolTip().SetToolTip(btnLexi, "Análisis léxico"); new ToolTip().SetToolTip(btnSemantic, "Análisis semántico"); new ToolTip().SetToolTip(btnSitax, "Análisis sintáctico"); new ToolTip().SetToolTip(btnMachine, "Código máquina"); new ToolTip().SetToolTip(btnIntermedio, "Código intermedio"); new ToolTip().SetToolTip(btnEjecutar, "Ejecutar"); openFile.Title = "Abrir archivos C"; openFile.Filter = "Archivo C|*.c"; openFile.InitialDirectory = @"C:\"; saveFile.Title = "Guarcar archivo"; saveFile.Filter = "Archivo C|*.c"; saveFile.InitialDirectory = @"C:\"; }
/// <summary> /// Crea una cuenta a partir de un CuentaModel agregando los datos necesarios para /// registrarla en la base de datos /// </summary> /// <param name="CuentaAConvertir">CuentaModel</param> /// <returns>Una Cuenta con la informacion necesaria para ser alamcenada en la base de datos </returns> private Cuenta CrearCuentaAGuadar(CuentaModel CuentaAConvertir) { return(new Cuenta() { Usuario = CuentaAConvertir.NombreUsuario, Password = Encriptador.ComputeSha256Hash(CuentaAConvertir.Contrasena), CodigoVerificacion = GeneradorCodigo.GenerarCodigoActivacion(), Valida = false, CorreoElectronico = CuentaAConvertir.CorreoElectronico }); }
/// <summary> /// Crea una sala publica con Id aleatorio /// </summary> /// <param name="Cuenta">CuentaModel</param> /// <param name="ActualCallback">IGameServiceCallback</param> /// <returns>La sala que se creada</returns> private Sala CrearSalaConIdAleatorio(CuentaModel Cuenta, IGameServiceCallback ActualCallback, String DireccionIpDelCliente) { String IdDeSala; do { IdDeSala = GeneradorCodigo.GenerarCadena(); } while (EstaElIdDeSalaEnUso(IdDeSala)); Sala NuevaSala = new Sala(IdDeSala, true, Cuenta, ActualCallback, DireccionIpDelCliente); return(NuevaSala); }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { StringBuilder p_Impresion = new StringBuilder(); GeneradorCodigo objGeneradorCodigo = new GeneradorCodigo(); Tabla objTabla = new Tabla(Convert.ToString(this.cmbTablasBD.SelectedValue)); Tabla objTabla2 = new Tabla(Convert.ToString(this.cmbTablasBD2.SelectedValue)); consts.TIPO_BASE_DATOS p_TIPO_BASE_DATOS = consts.TIPO_BASE_DATOS.SQL_SERVER; switch (this.treeView1.SelectedNode.Text) { case "BeanEntidad": p_Impresion = objGeneradorCodigo.GenerarEntidades(objTabla); break; case "InterfaceDao": p_Impresion = objGeneradorCodigo.InterfaceDAO(objTabla); break; case "SqlServer_Tabla_Dao": p_Impresion = objGeneradorCodigo.SqlServer_Tabla_DAO(objTabla); break; case "ClaseNegocio": p_Impresion = objGeneradorCodigo.Clase_Negocio(objTabla, objTabla2); break; case "MantenimientoGUI": p_Impresion = objGeneradorCodigo.Clase_GUI_Mantenimiento(objTabla); break; case "MantenimientoProcedure": p_Impresion = objGeneradorCodigo.Clase_GUI_Mantenimiento_Procedure(objTabla, p_TIPO_BASE_DATOS); break; case "CrearTable": p_Impresion = objGeneradorCodigo.Clase_GUI_CrearTable(objTabla); break; case "CrearGrid": p_Impresion = objGeneradorCodigo.Clase_GUI_CrearGrid(objTabla); break; default: break; } //this.textBox1.Text = p_Impresion.ToString(); this.richTextBox1.Text = p_Impresion.ToString(); }
static void Main(string[] args) { System.IO.StreamReader input; String nombreArchivo; Dictionary <String, String> opciones = parseArgs(args); //Validar que no existan opciones incorrectas if (opciones.ContainsKey("--help") || opciones.Count == 0) { mostrarUso(); } else if (opcionInvalida(opciones)) { Console.WriteLine("Error: opción incorrecta"); mostrarUso(); } try { //Validar el archivo de entrada if (!opciones.ContainsKey("--entrada")) { Console.WriteLine("Error: falta archivo de entrada"); mostrarUso(); } nombreArchivo = opciones["--entrada"]; input = new System.IO.StreamReader(nombreArchivo); TinyLexer lexer = new TinyLexer(input); if (opciones.ContainsKey("--mostrar-tokens")) { Console.WriteLine("\n\n\n"); mostrarTokens(lexer, input); } lexer.setNombreArchivo(nombreArchivo); TinyParser parser = new TinyParser(lexer); Programa result = (Programa)(parser.parse().value); if (parser.getOmerrs() > 0) { System.Console.Error.WriteLine("La compilación ha terminado con " + parser.getOmerrs() + " errores"); WriteKeyPressForExit(); System.Environment.Exit(1); } if (opciones.ContainsKey("--mostrar-ast")) { Console.WriteLine("\n\n\n"); Console.WriteLine("\n####### Inicio del Árbol Sintáctico Abstracto #######"); result.dump(System.Console.Out, 0); Console.WriteLine("####### Fin del Árbol Sintáctico Abstracto #######\n"); } AnalizadorSemantico sem = new AnalizadorSemantico(result); sem.analizar(); if (SemantErrorReport.Instancia.tieneErrores()) { Console.Error.WriteLine("La compilación ha terminado con " + SemantErrorReport.Instancia.Errores + " errores"); WriteKeyPressForExit(); System.Environment.Exit(1); } else { if (opciones.ContainsKey("--mostrar-tipos")) { Console.WriteLine("\n\n\n"); Console.WriteLine("####### Inicio del Árbol Sintáctico Abstracto Anotado #######"); result.dump(System.Console.Out, 0); Console.WriteLine("####### Fin del Árbol Sintáctico Abstracto Anotado #######\n"); } Console.WriteLine("\n\n\n"); string path = Directory.GetCurrentDirectory(); Console.WriteLine("El directorio donde se ha generado el ejecutable es {0}", path); Sentencia s = result.Sentencias.getLista()[1]; Condicional c = (Condicional)s; GeneradorCodigo gen = new GeneradorCodigo(result, System.IO.Path.GetFileName(nombreArchivo), System.IO.Path.GetFileName(nombreArchivo) + ".exe"); if (opciones.ContainsKey("--generar-con-ast")) { gen.GenerarEjecutableconAst(false); } else if (opciones.ContainsKey("--generar-con-func")) { gen.GenerarEjecutableconFuncion(false); } else { gen.GenerarEjecutableconFuncion(false); } Console.WriteLine("La compilación ha finalizado correctamente"); } } catch (Exception e) { Console.Error.WriteLine(e.Message); Console.Error.WriteLine("!!! ERROR GRAVE: EL COMPILADOR NO GENERADO DE FORMA CORRECTA EL EJECUTABLE !!!"); throw new System.Exception("ERROR-0001: Un error inesperado no ha permitido llevar a cabo de forma correcta el proceso de compilacion"); } WriteKeyPressForExit(); }