private void button6_Clickobject sender EventArgs e 获取所有终结符和非终结符 terminals = new Liststring; nonterminals = new Liststring; foreach var item in pro
private void button6_Click(object sender, EventArgs e)
{
// 获取所有终结符和非终结符
terminals = new List
// 初始化预测分析表
table = new Dictionary<string, Dictionary<string, string>>();
foreach (var nonterm in nonterminals)
{
table.Add(nonterm, new Dictionary<string, string>());
foreach (var term in terminals)
{
table[nonterm].Add(term, "");
}
}
// 填充预测分析表
GetSelect(production, firsts, follows);
// 输出预测分析表到 listView3 中
listView3.Columns.Clear();
listView3.Items.Clear();
listView3.View = View.Details;
// 添加第一列
listView3.Columns.Add("", 40);
// 添加终结符列
foreach (var item in terminals)
{
listView3.Columns.Add(item, 40);
}
// 填充表格
foreach (var nonterm in nonterminals)
{
ListViewItem item = new ListViewItem(nonterm);
foreach (var term in terminals)
{
item.SubItems.Add("->" + table[nonterm][term]); // 加上 "->"
}
listView3.Items.Add(item);
}
原文地址: https://www.cveoy.top/t/topic/gK3W 著作权归作者所有。请勿转载和采集!