private void Form1_Load(object sender, EventArgs e) { //Resetear Resetear(); //Cargar a cacher los datos try { //Disparar el proesamiento a nivel de analizador lexico //Cache.ObtenerCache().AgregarLinea("1"); AnalizadorLexico analisisLexico = new AnalizadorLexico(); ComponenteLexico componente = analisisLexico.Analizar(); while (!componente.ObtenerCategoria().Equals(Categoria.FIN_ARCHIVO)) { MessageBox.Show(componente.ToString()); componente = analisisLexico.Analizar(); } if (ManejadorErrores.HayErrores()) { MessageBox.Show("El proceso de compilación ha finalizado con errores"); } else { MessageBox.Show("El proceso de compilación ha finalizado de forma exitosa"); } } catch (Exception exception) { MessageBox.Show(exception.Message); } }
private void button1_Click(object sender, EventArgs e) { AnalizadorLexico anaLex = new AnalizadorLexico(); ComponenteLexico componente = anaLex.Analizar(); while (!componente.Lexema.Equals("@EOF@")) { anaLex.Puntero = componente.PosicionFinalLinea + 1; anaLex.estadoActual = 0; componente = anaLex.Analizar(); } }
private void analisis() { dataGridView1.Rows.Clear(); AnalizadorLexico analex = new AnalizadorLexico(); ComponenteLexico tmp = analex.Analizar(); while (!"@EOF@".Equals(tmp.Lexema)) { int n = dataGridView1.Rows.Add(); dataGridView1.Rows[n].Cells[0].Value = tmp.Tipo; dataGridView1.Rows[n].Cells[1].Value = tmp.Lexema; dataGridView1.Rows[n].Cells[2].Value = tmp.NumeroLinea; dataGridView1.Rows[n].Cells[3].Value = tmp.PosicionInicial; dataGridView1.Rows[n].Cells[4].Value = tmp.PosicionFinal; tmp = analex.Analizar(); } }
private void Analisis() { tablaSimbolo.Rows.Clear(); AnalizadorLexico analizador = new AnalizadorLexico(); ComponenteLexico lexico = analizador.Analizar(); while (!!"@EOF@".Equals(lexico.Lexema)) { int column = tablaSimbolo.Rows.Add(); tablaSimbolo.Rows[column].Cells[0].Value = lexico.Categoria; tablaSimbolo.Rows[column].Cells[1].Value = lexico.Lexema; tablaSimbolo.Rows[column].Cells[2].Value = lexico.NumeroLinea; tablaSimbolo.Rows[column].Cells[3].Value = lexico.PosicionIncial; tablaSimbolo.Rows[column].Cells[4].Value = lexico.PosicionFinal; lexico = analizador.Analizar(); } }
private void cargarInfoConsola_Click(object sender, EventArgs e) { String[] lineasEntradas = entradaDatosConsola.Lines; String[] lineasSalidas = lineasEntradas; for (int i = 0; i < lineasEntradas.Length; i++) { lineasSalidas[i] = i + " -> " + lineasEntradas[i]; } salidaDatos.Lines = lineasSalidas; Resetear(); for (int i = 0; i < lineasEntradas.Count(); i++) { Linea.Crear(i + 1, lineasEntradas[i]); } try { AnalizadorLexico analizador = new AnalizadorLexico(); ComponenteLexico componente = analizador.Analizar(); while (!componente.ObtenerCategoria().Equals(Categoria.FIN_DE_ARCHIVO)) { MessageBox.Show(componente.ToString()); componente = analizador.Analizar(); } if (ManejadorErrores.HayErrores()) { MessageBox.Show("El proceso de compilacion ha finalizado con errores"); } else { MessageBox.Show("El proceso de compilacion ha finalizado exitosamente"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } salidaDatos.Lines = lineasSalidas.ToArray(); }
public async Task <string> Compilar() { await Task.Yield(); this.ResultadosCompilacion.Clear(); //try //{ //Fase 1 Analisis Lexico Analizador analizador = new AnalizadorLexico(this.Document, this.ResultadosCompilacion); analizador.Analizar(); if (analizador.EsValido) { //Fase 2 Analisis Sintactico analizador = new AnalizadorSintactico((AnalizadorLexico)analizador, this.Document, this.ResultadosCompilacion); analizador.Analizar(); if (analizador.EsValido) { // //Fase 4 Sintetizador analizador = new Sintesis((AnalizadorSintactico)analizador, this.Document, this.ResultadosCompilacion); analizador.Analizar(); if (analizador.EsValido) { CodigoMaquina maquina = new CodigoMaquina((Sintesis)analizador); maquina.Generar(); this.CodigoMaquina = maquina.Codigo; this.Compilado = true; this.CodeSegment = maquina.CodeSegment; return("Compilación exitosa"); } } } this.Compilado = false; return("Se encontrarón errores previos a la compilación\n"); }
private void Avanzar() { Componente = AnaLex.Analizar(); }