帮帮文库

返回

(简单的编译原理语法分析器的实现) (简单的编译原理语法分析器的实现)

格式:word 上传:2022-06-25 13:47:32

《(简单的编译原理语法分析器的实现)》修改意见稿

1、“.....程序中所用到的公有数据成员有文法的行数终结符的个数非终结符的个数,集用与临时存放集中元素的数组终结符集非终结符集求集设有文法,并有规则,则该规则的可选集为具体实现代码如下,为空当不为空当εε为空字符串求集首符号集既求解文法每条规则右边的第个符号并且必须是终结符,因为文法使用数组存放,所以既求文法每行规则的第个字符既可如果规则左边第个字符为非终结符,则通过循环对该非终结符再求首符号集。,判断第条规则右边的首符号是否是终结符判断,在中是否已经存在求集求向前看集主要分两种情况,种是可以直接循环推导出终结符第二种是推出的还是非终结符的,如果推出的还是非终结符的就循环对该非终结符再求向前看集第三种情况是不能对该非终结符求向前看集,但是可以通过对该非终结符推导出的第二个非终结符求向前看集的方法求出终结符......”

2、“.....在中是否已经存在判断,是不是终结符,判断,在中是否已经存在查找,对应的非终结符在文法的第几行,。添加的水平滚动条的宽度也应该能动态的改变,以最宽的行数据为水平滚动条宽度的依据。解决方案解决结果运行后的结果如图所示图的水平滚动条结果测试在系统开发完成后,对系统各个功能做了详细的测试,对于正确的文法,系统能正常的演示整个文法分析的每个过程对于预设置的处理,系统也能给出正确的判断,指出文法的类型。测试正确文法测试文法句子有种情况句子不符合文法,提示如图所示图句子不符合文法句子中有终结符以外的字符,提示如图所示图句子不符合文法结论编译原理是计算机专业中最难的门课程,在理论上它要求学生掌握有关形势语言和自动机的抽象概念,在技术上要求学生能够熟练地利用各种数据结构进行编程。尤其对于向前看集的算法实现,我觉得是最难的部分,因为涉及到的情况太多......”

3、“.....在数据的处理上我采用各模块全数组操作,并且将最终结果通过字符串方式保存,通过字符串来向其他模块传送数据,这种新的尝试也让我的程序带有个人的风格,让我对编程的多样化有了更深的了解和认识。通过个编译原理语法分析器的设计与实现的使用,希望在提高教学质量的同时,也能对同学们在编译原理的学习中起到帮助,让大家更好的了解算法的整个过程。参考文献钱焕延编译技术第版南京东南大学出版社出版,。康慕宁编译原理西安西北工业大学出版社出版,。贺世娟,陈冀川程序设计北京中国水利水电出版社出版,。杨克玉程序设计实训教程北京机械工业出版社出版,。陈明教程北京人民邮电出版社,。徐谡应用与开发案例教程北京清华大学出版社,。周峰案例开发集锦北京电子工业出版社,。分析表构造模块在已经得到文法集的前提下,以次为依据,对文法的三种类型的规则型型ε型分别构造分析表......”

4、“.....形如,其中,表示分析表的第行,表示第列,表示第行第列所对应的格子中的第个数据。构造文法分析表在求解集完成后,结果按照非终结符放入分析表轴,没有出现在对应规则右部首部的终结符放入分析表轴,终结符放入分析表轴等规则放置。如图。文法分析表终结符非终结符文法可选集未出现在对应规则右部首部的终结符放入分析表轴放入分析表轴放入分析表轴图分析表构造流程规则对于,,则令,表示用的逆串替换后,继续读入下个符号。当为时,即,有,规则对于,,且有则,表示用的逆串替换后,重读当前符号ε规则对于,且有,则,句子分析模块本部分主要通过中的对话框读入待分析句子,并与分析表进行对照,逐步分析所输入的句子是否符合文法。分析过程均用维数组进行保存......”

5、“.....使成为栈顶,利用分析栈,当栈顶符号与输入串当前符号相匹配时,则从栈顶删除该符号。然后再把相应的规则逆向压入栈顶,替换原栈顶的非终结符。ε特殊问题及解决方法在程序的开发过程中,遇到的问题及解决办法如下集的求解问题描述解决方案通过参照编译原理中集和集的具体求解步骤,通过多重循环的嵌套,完成了集的求解过程,具体代码请参照节。解决结果在成功获得集后,对其进行了输出,结果如图所示图显示集为添加水平滚动条问题描述在中,系统提供的只有垂直滚动条,而没有水平滚动条。当控件中行的数据超过的宽度时,数据会显示不完整集和集的求解并判断集是否符合算法的要求根据文法和集构造文法分析表根据文法分析表判断输入的句子是否符合文法名词解释语法分析逐分析词法分析所得的属性字,检查其中的语法,如果没有发现语法,则给出正确的语法结构......”

6、“.....文法对语言结构的定义和描述,即在形式上用于描述和规定语言结构。由若干条规则组成。规则为个二元组,通常格式为或其中为规则的左部,是个符号是规则的右部,是贯有穷字符串。规则又称为产生式。表示法即巴科斯范式表示法,它引进了符号,符号表示或。运用符号把相同左部的规则缩写在起,这样显得文法更为紧凑。文法规则的非空有穷集合,其中为文法的识别符号或开始符号,它至少要在条规则的左部出现。字汇表在文法中,由全部规则的左部和右部中的所有符号组成的符号集。非终结符文法中出现在规则左部的符号,它们组成的集合称为非终结符集。终结符文法中凡不属于非终结符集的符号,它们组成的集合称为终结符集。递归同操作或组操作的连续重复,其实质上是处理过程的性质,在这种过程的每步都要用到它自身的上步或上几步的结果。递归定义在定义种事物时又用到其本身......”

7、“.....集首符号集。集向前看集。集可选集。文法对于文法,其每个非终结符的不同规则具有不相交的集,则称该文法为文法。算法简介自顶向下分析对于文法,给顶个待分析的句子字符串,自顶向下分析的基本思想是从识别符号开始,根据文法试着建立个推导序列,若得到所给的句子,则句子得到识别,表明其结构符合文法,如果经过各种推导都不能得到所分析的句子,则该符号串不符合文法。或者说,从根结点出发,自上而下地建立颗语法树,其未端结点按从左到右的顺序连接起来,构成给定的符号串,则符号串得到识别。例设有文法和符号串根据文法有因此我们说符合此文法图过程分析自顶向下分析的难点及解决办法自顶向下分析的难点对于形如的规则,可能需要对所有的规则都要试探。难点的解决办法该解决办法是把文法中每个非终结符号的右部称为的候选式,对候选式的选择,则根据当前输入符号来决定......”

8、“.....当时,则对于当前输入的符号,若有,则可以选用规则进行推导。若对于非终止符号有条规则即有个候选式的处理方法首符号集不相同的解决办法对于文法,有,其右部的个候选式的首符号集均不相同即∩,对于待分析的符号串,如果最左的非终结符号为,若其句子中对应的下个符号当前输入符号为,且有,则选择规则来作为推导的候选式。例设有文法,和句子首符号相同的解决办法对于文法,有,若有∩,采用试探表示用的逆串替换后,重读当前符号对于,且有,则,对于每个,不出现于规则右部的首部,则令,对于,令,表示分析结束,输入串得到识别。非上述种情况,则置出错,分析表中用空白表示......”

9、“.....其中包括了对可能出现的文法表示法的判断以及对文法中是否存在直接左递归规则的判断。算法分析模块算法演示系统文法输入文法分析句子输入与分析文法分析表构造获取终结符和非终结符求文法的集判断集的合法性求集求集算法分析模块是个编译原理语法分析器的设计与实现中的关键模块。本模块包含了算法中的大部分重要数据和信息,其中包括获取输入文法的终结符集和非终结符集,对文法中每条规则求集集的求解又包括求集或者集,以及对集合法性的判断,即同非终结符所对应的不同规则的集中不能有相同的终结符......”

下一篇
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
简单的编译原理语法分析器的实现.doc预览图(1)
1 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(2)
2 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(3)
3 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(4)
4 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(5)
5 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(6)
6 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(7)
7 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(8)
8 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(9)
9 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(10)
10 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(11)
11 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(12)
12 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(13)
13 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(14)
14 页 / 共 32
简单的编译原理语法分析器的实现.doc预览图(15)
15 页 / 共 32
预览结束,还剩 17 页未读
阅读全文需用电脑访问
温馨提示 电脑下载 投诉举报

1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。

2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。

3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。

  • Hi,我是你的文档小助手!
    你可以按格式查找相似内容哟
DOC PPT RAR 精品 全部
小贴士:
  • 🔯 当前文档为word文档,建议你点击DOC查看当前文档的相似文档。
  • ⭐ 查询的内容是以当前文档的标题进行精准匹配找到的结果,如果你对结果不满意,可以在顶部的搜索输入框输入关健词进行。
帮帮文库
换一批

搜索

客服

足迹

下载文档