下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编译原理课程实验报告实验名称:递归下降分析法姓名:彭国保学号:540907010130 院系:计算机与通信工程学院专业:计算机科学与技术班级:09-1班教师:韩丽 2012年4月22日一 实验目的根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解。程序开始变得复杂起来,需要利用到程序设计语言的知识和大量编程技巧,递归下降分析法是一种较实用的分析法,通过这个练习可大大提高软件开发能力。通过练习,掌握函数间相互调用的方法。二 实验内容递归下降分析法是确定的自上而下分析法,它要求文法是LL(1)文法。它的基本思想是:对文法中的每个非终
2、结符编写一个函数或子程序,每个函数或子程序的功能是识别由该非终结符所表示的语法成分。2.1程序算法描述2.1.1 递归下降分析法的功能词法分析器的功能是利用函数之间的递归调用模拟语法树自上而下的构造过程。2.1.2 递归下降分析法的前提改造文法:消除二义性、消除左递归、提取左因子,判断是否为LL(1)文法,2.1.3 递归下降分析法实验设计思想及算法为G的每个非终结符号U构造一个递归过程。U的产生式的右边指出这个过程的代码结构:(1)若是终结符号,则和向前看符号对照,若匹配则向前进一个符号;否则出错。(2)若是非终结符号,则调用与此非终结符对应的过程。当A的右部有多个产生式时,可用选择结构实现
3、。最后编写程序以实现上述功能。三 实验步骤根据上述算法描述,编写程序以实现相应的功能,该程序由C语言编写,然后在VC运行环境下进行调试,并不断完善,直到能正确的实现递归下降分析功能,判断输入的字符串是否是一个文法的句子。源程序代码如下:#includevoid S();void T();void T1();void error();void scaner();char sym;int main()scaner();S();if(sym=$) printf(是该文法的句子 );else printf(不是该文法的句子);return 0;void S()if(sym=a|sym=) scaner
4、();else if(sym=()scaner(); T();if(sym=) scaner();else error();else error();void T()S();T1();void T1()if(sym=,)scaner();S();T1();else if(sym !=)error();void scaner()scanf(%c,&sym); void error()printf(不是该文法的句子);调试程序的结果:四总结与回顾通过本次实验,我掌握了递归下降分析程序的构造过程,将一个文法编写为对应的子程序,如有左递归先消除左递归,再改写为相应的程序。每次只要输入一个符号串,程序就可以递归的记录其归约的过程,检查其合法性。这里还同时涉及到了消除左递归,求first集和求foll
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- MT/T 1257-2025矿区道路煤基固废(煤矸石、气化渣)路基质量控制技术规范
- (正式版)DB37∕T 1639.21-2021 《山东省重点工业产品用水定额 第21部分:木材加工和木制品业重点工业产品》
- 如何把作文内容写具体
- 湖北省孝感市2025-2026学年初三下学期第二次月考英语试题理试题含解析
- 2023年气象观测站网工程和雷达工程建设-X波段双偏振天气雷达系统(吉木乃)环境影响报告书
- 南宁市重点中学2025-2026学年初三下阶段测试(五)语文试题含解析
- 爱康光伏电站工程绿色施工方案
- 泰兴市黄桥2026年初三3月内部考试数学试题含解析
- 重庆市重庆一中人教版2026年初三下学期月考(5月)物理试题含解析
- 广西北海市合浦县教育局教研室2026年下学期期中考试初三英语试题含解析
- 宁波华翔首次覆盖报告:全面拥抱人形机器人产业全球PEEK龙头潜力初显
- 2026山东出版集团有限公司山东出版传媒股份有限公司招聘193人备考题库及答案详解(基础+提升)
- 职业危害事故处置及报告全流程培训
- 中小医院医用布草洗涤服务方案投标文件(技术方案)
- 10 石蜂 课件 2026统编版三年级语文下册
- 《铁路货运技术》课件-项目04 任务三 常见典型货物装载加固
- 躁狂症的课件
- 发票赔偿协议书
- 蜂王浆课件教学课件
- 水源热泵施工方案
- Ansys2025全球仿真大会:Ansys CFD 2025新功能介绍
评论
0/150
提交评论