
实验二(递归下降分析).doc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
最后一页预览完了!喜欢就下载吧,查找使用更方便
10 文币 0人已下载
下载 | 加入VIP,免费下载 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二(递归下降分析).doc
- 资源描述:
-
1、实验二 递归下降语法分析一实验目的1、 按照语言的语法要求编写文法的规则2、 转化文法的规则,消除左递归和左因子3、 掌握编程形式的语法分析器的实现二实验内容在 TINY 计算机语言的编译程序的词法分析部分实现的基础上,采用递归下降的方法实现语法分析,形成语法树。语法分析的输入是记号串,按照从左到右扫描,按照文法规则的要求,判断语句是否符合文法要求,如果符合要求则形成语法数,不符合则指出原因。为了简化程序的编写,对语法有具体如下的要求:(1) 只有 5 中语句 if、repeat、read、write、assignment。(2) read 只作用一个变量,实现输入。(3) write 只作用
2、一个表达式,实现输出。(4) 表达式只有两类:布尔表达式,只用于 if 和 repeat 语句的测试,算术表达式采用左结合和优先级的方式组成。(5) 没有变量的声明,仅仅在赋值时采用隐性的方式说明,只有整型变量;(6) 每个语句序列采用;的形式分开,最后一个语句没有分号(7) 没有函数或过程三实验要求要求实现语法分析程序的以下功能:(1) 在实现之前首先消除左递归和提取左因子,为递归下降程序做好准备(2) 对于语句和表达式采用枚举的形式定义,形成一个统一的树结点结构(3) 把正确源程序的首先经过词法分析形成二元式记号提供给语法分析程序(4) 如果出现错误,指出错误的位置和类型(5) 把语法树按照树的前序遍历的形式把所有的结点按照某种形式输出语法分析进行具体的要求:(1) 语法分析的具体功能实现是一个函数 TreeNode* parse(),分析记号串,形成一个语法数。 (2) 编写一个单独的函数 parseTree(TreeNode*)遍历整个语法树,把每个结点信息输出
