1private void button5_Clickobject sender EventArgs e2 3 listView2Clear;45 LRTable table;6 table = lrGET_ANA;7 int xlen = tableGetLength0;8
代码1是一个WinForms窗体中的事件处理方法,当点击按钮5时会触发该方法,方法中的代码实现了LR语法分析表的展示功能。
代码2是一个公共方法,返回LR语法分析表的二维数组,其中LRAna[i][j]代表语法分析表中第i行第j列的内容。
具体原理步骤如下:
-
LR语法分析表的生成需要先进行LR语法分析,得到LR分析表中的项目集、状态转移和动作表等信息。
-
代码2中的LRAnaly()方法实现了LR语法分析,并生成了LR分析表中的项目集、状态转移和动作表等信息。
-
GET_ANA()方法调用LRAnaly()方法,然后将LR分析表中的信息转化为一个二维数组LRAna。
-
代码1中的button5_Click方法通过调用GET_ANA()方法,获取LRAna数组,并将其展示在一个ListView控件中。
-
在展示过程中,先清空ListView控件中的内容,然后根据LR分析表中的终结符和非终结符信息,动态添加表头。
-
然后遍历LRAna数组,将数组中的内容逐个添加到ListView控件的Item和SubItem中,最终完成LR语法分析表的展示。
原文地址: http://www.cveoy.top/t/topic/hfl0 著作权归作者所有。请勿转载和采集!