private void generarThompson() { //recorro la lista de ER para generar sus AFN for (int i = 0; i < Expresiones.Count; i++) { ExpReg temp = (ExpReg)Expresiones[i]; temp.generarT(); } }
private void guardarER() { String name = ""; //Bandera si encontro un id donde si esta la ER Boolean bandera = false; ExpReg temp = null; Token salida; Token temporal; Token temporal1; Token temporal2; for (int i = 0; i < simbolos.Count - 3; i++) { salida = (Token)simbolos[i]; if (salida.getToken() == 5) { temporal = (Token)simbolos[i - 2]; temporal1 = (Token)simbolos[i + 2]; temporal2 = (Token)simbolos[i + 3]; if (temporal.getToken() != 20 && temporal1.getToken() != 11 && temporal2.getToken() != 10 && !bandera) { name = salida.getLexema(); bandera = true; i++; temp = new ExpReg(name); } } if (bandera) { if (salida.getToken() == 10) { expresiones.Add(temp); bandera = false; } else { if (salida.getToken() == 3 || salida.getToken() == 4) { //ignora } else { temp.addToken(salida); } } } } }
private void generarThompson() { try { for (int i = 0; i < expresiones.Count; i++) { ExpReg temp = (ExpReg)expresiones[i]; temp.generarT(); } } catch (InvalidCastException e) { Console.WriteLine("ERROR"); } }
private void button1_Click(object sender, EventArgs e) { //Atras AFD if (imageAFD == 0) { imageAFD = Expresiones.Count - 1; ExpReg ex = (ExpReg)Expresiones[imageAFD]; afd.Text = ex.getNombre(); picAFD.Image = Image.FromFile(ex.getNombre() + "_AFD.png"); } else { imageAFD--; ExpReg ex = (ExpReg)Expresiones[imageAFD]; afd.Text = ex.getNombre(); picAFD.Image = Image.FromFile(ex.getNombre() + "_AFD.png"); } }
private void button3_Click(object sender, EventArgs e) { //Siguiente AFN if (imageAFN + 1 == Expresiones.Count) { imageAFN = 0; ExpReg ex = (ExpReg)Expresiones[imageAFN]; afn.Text = ex.getNombre(); picAFN.Image = Image.FromFile(ex.getNombre() + "_AFN.png"); } else { imageAFN++; ExpReg ex = (ExpReg)Expresiones[imageAFN]; afn.Text = ex.getNombre(); picAFN.Image = Image.FromFile(ex.getNombre() + "_AFN.png"); } }
private void button6_Click(object sender, EventArgs e) { //Siguiente tabla if (table + 1 == Expresiones.Count) { table = 0; ExpReg ex = (ExpReg)Expresiones[table]; tabla.Text = ex.getNombre(); picTable.Image = Image.FromFile(ex.getNombre() + "_TABLE.png"); } else { table++; ExpReg ex = (ExpReg)Expresiones[table]; tabla.Text = ex.getNombre(); picTable.Image = Image.FromFile(ex.getNombre() + "_TABLE.png"); } }
private void button5_Click(object sender, EventArgs e) { //Atras Tabla if (table == 0) { table = Expresiones.Count - 1; ExpReg ex = (ExpReg)Expresiones[table]; tabla.Text = ex.getNombre(); picTable.Image = Image.FromFile(ex.getNombre() + "_TABLE.png"); } else { table--; ExpReg ex = (ExpReg)Expresiones[table]; tabla.Text = ex.getNombre(); picTable.Image = Image.FromFile(ex.getNombre() + "_TABLE.png"); } }
public void prueba() { txtConsola.Clear(); txtConsola.AppendText("--------------------------- \n"); txtConsola.AppendText("-------- CONJUNTOS -------- \n"); txtConsola.AppendText("--------------------------- \n"); for (int i = 0; i < Conjuntos.Count; i++) { Conjunto temp = (Conjunto)Conjuntos[i]; txtConsola.AppendText("Nombre: " + temp.getNombre() + " "); for (int j = 0; j < temp.getConjunt().Count; j++) { txtConsola.AppendText("" + temp.getConjunt()[j] + " "); } txtConsola.AppendText(" \n"); } txtConsola.AppendText(" \n"); txtConsola.AppendText("--------------------------------- \n"); txtConsola.AppendText("----- Expresiones Regulares -------- \n"); txtConsola.AppendText("---------------------------------- \n"); for (int i = 0; i < Expresiones.Count; i++) { ExpReg temporal = (ExpReg)Expresiones[i]; txtConsola.AppendText("Nombre: " + temporal.getNombre() + " "); for (int j = 0; j < temporal.getThompson().Count; j++) { Thompson t = (Thompson)temporal.getThompson()[j]; txtConsola.AppendText("De " + t.getInicio() + " a " + t.getFinal() + " se traslada con " + t.getTransicion()); } txtConsola.AppendText(" \n"); for (int j = 1; j < temporal.getTokens().Count; j++) { Token tok = (Token)temporal.getTokens()[j]; txtConsola.AppendText(tok.getLexema()); } txtConsola.AppendText(" \n"); } }