




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编译原理实验报告 一、 实验目的:(1)掌握自上而下语法分析的要求与特点。(2)掌握递归下降语法分析的基本原理和方法。(3)掌握相应数据结构的设计方法。二、 实验内容:编程实现给定算术表达式的递归下降分析器。算术表达式文法如下: Sa|(T)TT,S|S三、 设计说明:首先改写文法为LL(1)文法;然后为每一个非终结符,构造相应的递归过程,过程的名字表示规则左部的非终结符;过程体按规则右部符号串的顺序编写。四、 设计分析这个题目属于比较典型的递归下降语法分析。需要先将原算术表达式方法改写为LL(1)文法为:Sa|(T)TSTT,ST|然后再为每个非终结符设计一个对应的函数,通过各函数之间的递归
2、调用从而实现递归下降语法分析的功能。具体方法为:(1)当遇到终结符a时,则编写语句If(当前读到的输入符号=a)读入下一个输入符号(2)当遇到终结符时,则编写语句If(当前读到的输入符号=)读入下一个输入符号(3)当遇到终结符时,则编写语句If(当前读到的输入符号=)读入下一个输入符号(4)当遇到非终结符T时,则编写scaner()函数读取下一个单词符号并将它放在全程变量sym中(5)当遇到非终结符S时,则编写S()函数(6)当遇到非终结符T时,则编写T()(7)当遇到终结符,时,则编写语句If(当前读到的输入符号=,)读入下一个输入符号(8)当遇到非终结符T时,则编写T()五、 实验代码#i
3、ncludestdio.hvoid S();void T();void scaner();void error();char sym;char s100;int i=0;int main()printf(请输入一个语句,以#号结束语句(直接输入#号推出)n);scanf(%s,&s); scaner(); S();if (sym=#)printf(success);return 1;else printf(fail);return 0;void scaner()sym=si;i+; void T()if(sym=,)scaner();S();T(); else if(sym!=)error()
4、;void error() printf(语句有误!n);void T()S();T();void S()if (sym=a|sym=)scaner();else if(sym=()scaner();T();if(sym=)scaner();elseerror();elseerror();六、 测试用例和实验结果(1)输入a,预期显示语句正确!(2)输入,预期显示语句正确!(3)输入(a,b),预期显示语句有误!(4)输入(a ,a),预期显示语句正确!(5)输入(a,(a,a),预期显示语句正确! 七、 测试结果截图(1)输入a的测试结果(2)输入的测试结果(3)输入(a,b)的测试结果(4)输入(a ,a)的测试结果(5)输入(a,(a,a)测试结果八、 实验总结通过该实验,我深入的学习了递归下降分析法的内容和原理,它是确定的自上而下的分析法,这种分析法是要求文法是LL(1)的,它的基本思想是对文法中的每个非终结符编写一个函数,每个函数的功能是识别由该终结符所表示的语法成分,由于描述语言的文法常常是递归定义的,因此相应的这组函数必然是相互递归的方式进行调用的,所以将此种分析法称为递归下降分析法。在这次实验的过程中,我增强了自己的动手能力,在不断地努力之下,我终于将代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 助力备考2025年注册会计师考试资源试题及答案
- 高性能轿车短期出租协议
- 2025年注册会计师考试应对压力的有效方法试题及答案
- 财务分析在决策中的重要性试题及答案
- 加强新员工融入的工作措施计划
- 国际金融理财师考试另类投资方式试题及答案
- 注会考试中案例题的解析技巧与试题及答案
- 证券从业资格证的复习试题及答案
- 解析交易规则的证券从业资格证考试试题及答案
- 证券从业资格证考试体系化整合知识试题及答案
- 4马克思主义宗教观
- 实用版建筑工程工程合同模板
- 测量资料表格填写范例
- 医疗机构高警示药品风险管理规范(2023版)
- 幼儿园优质公开课:小班语言《小白鱼过生日》完整绘本有声故事PPT
- 新型马路划线机设计
- 《儿科学》课件第9章第九节 腹泻病
- 钢筋混凝土外文翻译文献
- 小学生主题班会 拒绝作弊+诚信考试+宣传教育 课件(共28张PPT)
- 项目2 动车组餐车乘务作业《高铁动车餐饮服务》教学课件
- 致远安全技术白皮书(简版)
评论
0/150
提交评论