protected void OnCombobox2Changed(object sender, EventArgs e) { string[] indice = combobox2.ActiveText.Split(' '); Gramatica temp = gramaticas[Int32.Parse(indice[1])]; string texto = ""; foreach (var t in temp.Producoes) { Gramatica.Regular producao = t.Value; string parte = ""; for (int j = 0; j < producao.Proximos.Count; j++) { if (producao.Proximos.Count > 1) { if (j == producao.Proximos.Count - 1) { parte += producao.Proximos[j]; } else { parte += producao.Proximos[j] + "|"; } } else { parte += producao.Proximos[j]; } } //if ((producao.Atual != "" && parte != "") && (producao.Atual != "" || parte != "")) { texto += producao.Atual + "->" + parte + "\r\n"; //} } textview2.Buffer.Text = texto; }
public void coverterAFDGR(int indice) { Automato temp = automatos [indice]; Gramatica GR = new Gramatica(temp); string texto = ""; foreach (var t in GR.Producoes) { Gramatica.Regular producao = t.Value; string parte = ""; for (int j = 0; j < producao.Proximos.Count; j++) { if (producao.Proximos.Count > 1) { if (j == producao.Proximos.Count - 1) { parte += producao.Proximos[j]; } else { parte += producao.Proximos[j] + "|"; } } else { parte += producao.Proximos[j]; } } //if ((producao.Atual != "" && parte != "") && (producao.Atual != "" || parte != "")) { texto += producao.Atual + "->" + parte + "\r\n"; //} } textview2.Buffer.Text = texto; }
protected void OnButton230Clicked(object sender, EventArgs e) { string[] temp = textview2.Buffer.Text.Split(new [] { '\r', '\n' }); Gramatica gramatica = new Gramatica(); for (int i = 0; i < temp.Length; i++) { Gramatica.Regular regular = new Gramatica.Regular(); string[] temp2 = temp [i].Split(new string[] { "->" }, StringSplitOptions.None); if (temp2 [0] != "") { string a = temp2 [0]; regular.Atual = a[0]; List <string> proximos = new List <string> (); for (int j = 1; j < temp2.Length; j++) { if (!temp2 [j].Contains("|")) { if (!proximos.Contains(temp2 [j])) { if (temp2 [j] != "") { proximos.Add(temp2 [j]); } } } else { string[] temp3 = temp2 [j].Split('|'); for (int k = 0; k < temp3.Length; k++) { if (!proximos.Contains(temp3 [k])) { if (temp3 [k] != "") { proximos.Add(temp3 [k]); } } } } } regular.Proximos = proximos; gramatica.AddProducao(regular); } } gramaticas.Add(gramatica); atualizarListaGramaticas(); }