void generarAFN(string grafica) { Graficador grafico = new Graficador(); grafico.graficar(grafica, "secGrafica"); pictureBox3.Image = GetCopyImage(rutaAbrir(secImagen, "secGrafica"));; secImagen++; movSec++; }
void generarTabla(string tabla) { Graficador grafico = new Graficador(); grafico.graficar(tabla, "tabla"); pictureBox2.Image = GetCopyImage(rutaAbrir(this.tabla, "tabla")); this.tabla++; movTabla++; }
void generarAFD(string grafica) { Graficador grafico = new Graficador(); grafico.graficar(grafica, "primGrafica"); pictureBox1.Image = GetCopyImage(rutaAbrir(primImagen, "primGrafica"));; primImagen++; movPrim++; }
private void CargarThomToolStripMenuItem_Click(object sender, EventArgs e) { /*------------LISTADO DE PENDIENTES: * 1. Ver que puchis pasa que mueren las expresiones al meter mas * 2. Arreglar la tabla de transiciones,poner los que son estados de aceptacion * y tambien que la transicion corresponda a su columna; * 3. Ver donde rayos mostrar los reportes XML * 4. y...Ya? */ string cadenaTexto = ""; if (getTextBox() == null) { MessageBox.Show("Cree una pestaña para comenzar", "Alerta"); } else { cadenaTexto = getTextBox().Text; if (cadenaTexto.Equals("")) { MessageBox.Show("Ingrese una entrada valida", "Cadena vacia"); } else { pictureBox1.Image = null; pictureBox1.Update(); pictureBox2.Image = null; pictureBox2.Update(); pictureBox3.Image = null; pictureBox3.Update(); consola = ""; lexemas.Clear(); Graficador grafico = new Graficador(); grafico.eliminarArchivos(); Thread.Sleep(1000); funcionamiento(cadenaTexto); } } }
void funcionamiento(string entrada) { Lexico analisisLexico = new Lexico(); lexemas = analisisLexico.analizar(entrada); /*foreach (var item in lexemas) * { * consola += item.tipo + " ----> " + item.info+"\n"; * * } * richTextBox1.Text = consola; */ if (analisisLexico.getErrores() == 0) { Graficador grafico = new Graficador(); grafico.eliminarArchivos(); contadores(); //Vuelve a colocar los contadores de imagenes en cero Arbol arbol = new Arbol(); LinkedList <ExpresionRegular> expresiones; expresiones = arbol.analizar(lexemas); LinkedList <Lexema> evaluar = arbol.getEvaluar(); conjuntos = arbol.getConjuntos(); Thompson thompson = new Thompson(); LinkedList <Nodo> listaThompson = new LinkedList <Nodo>(); foreach (var item in expresiones) { Nodo temp = thompson.AFN(item.nodo, item.cont); generarAFN(AFN(temp)); listaThompson.AddLast(temp); } int cont = 0; foreach (var item in listaThompson) { Subconjuntos subconjuntos = new Subconjuntos(); LinkedList <Estado> estados = subconjuntos.AFD(item.transiciones, expresiones.ElementAt(cont).terminales); generarTabla(tablaTransiciones(estados)); generarAFD(AFD(estados)); Final temp = new Final(expresiones.ElementAt(cont).nombre, estados); expresionesFinal.AddLast(temp); cont++; } foreach (var item in evaluar) { consola += item.evaluar + " -> " + item.info; if (evaluarLexema(item.info, buscarFinal(item.evaluar))) { consola += " Correcto! \r"; richTextBox1.Text = consola; } else { consola += " Incorrecto... \r"; richTextBox1.Text = consola; } } reiniciarMas(); //Reinicio variables utilizadas en la evaluación conjuntos.Clear(); expresionesFinal.Clear(); } else { generarPDF(lexemas); //MessageBox.Show("Entrada con errores", "Advertencia"); } }