private void button2_Click(object sender, EventArgs e) { // 获取所有的符号集合 List symbols = new List(); foreach (var item in production.Keys) { if (!symbols.Contains(item)) symbols.Add(item); foreach (var prod in production[item]) { foreach (var c in prod) { if (!symbols.Contains(c.ToString())) symbols.Add(c.ToString()); } } } // 将符号集合按照终结符和非终结符分开 nonterminals = new List(); terminals = new List(); foreach (var s in symbols) { if (char.IsUpper(s[0])) nonterminals.Add(s); else terminals.Add(s); } listView2.Clear(); listView2.Columns.Add("", 30, HorizontalAlignment.Center); ListViewItem[] items = new ListViewItem[nonterminals.Count]; for (int i = 0; i < nonterminals.Count; i++) { items[i] = new ListViewItem(nonterminals[i]); for (int j = 0; j < terminals.Count; j++) { if (follows[nonterminals[i]].Contains(terminals[j])) { items[i].SubItems.Add("1"); } else { items[i].SubItems.Add("0"); } } } listView2.Items.AddRange(items); listView2.View = View.Details; listView2.GridLines = true; listView2.FullRowSelect = true;

private void button2_Clickobject sender EventArgs e 获取所有的符号集合 Liststring symbols = new Liststring; foreach var item in productionKeys

原文地址: https://www.cveoy.top/t/topic/gIRU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录