编译原理课程设计---LL(1)递归下降分析器
《编译原理课程设计---LL(1)递归下降分析器》由会员分享,可在线阅读,更多相关《编译原理课程设计---LL(1)递归下降分析器(12页珍藏版)》请在毕设资料网上搜索。
1、 编译原理课程设计 课程设计题目 :LL(1)递归下降分析器递归下降分析器 姓 名 : 院(系) : 专业班级 : 学 号 : 指导教师 : 设计日期 : 目 录 1、需求分析 . 1 2、概要设计 . 2 3、详细设计 . 3 4、测试分析 . 8 5、用户手册 . 9 6、课程总结 . 9 7、参考文献 . 10 1 题目:LL(1)递归下降分析器 1、需求分析 语法分析是编译过程的核心部分。语法分析器的任务是识别和处理比单词更大的语法单 位。如:程序设计语言中的表达式,各种说明和语句乃至全部源程序,指出其中的语法错误; 必要时,可生成内部形式,便于下一阶段处理。 我们知道,语言的语法结构
2、是用上下文无关文法描述的。按照语法分析树的建立方法, 我们可以粗略地把语法分析办法分成两类,一类是自上而下分析,另一类是自下而上分析法。 而自上而下这种方法是带“回溯”的,且存在许多困难和缺点。 首先,是文法的左递归性问题。一个文法是含有左递归的,如果存在非终结符 P 且 PP ,含有左递归的文法使上述的自上而下的分析过程陷入无限循环。即,当试图用 P 去匹配输入串时,我们会发现,在没有识别任何输入符号的情况下,有得重新要求 P 去进行 新的匹配。因此,使用自上而下分析法必须消除文法的左递归性。 其次,由于回溯,就碰到一大堆麻烦问题。如果我们走了一大段错路,最后必须回头, 那么,就应把已经做的
3、一大堆语义工作(指中间代码产生工作和各种表格的簿记工作)推倒 重来。这些事情既麻烦又费时间,所以,最好应设法消除回溯。 第三,在自上而下分析过程中,当一个非终结符用某一候选匹配成功时,这种成功可能 仅是暂时的。 第四,当最终报告分析不成功时,我们难于知道输入串中出错的确切位置。 最后,由于带回溯的自上而下分析实际上采用了一种穷尽一切可能的试探法,因此,效 率很低,代价极高。严重的低效使得这种分析法只有理论意义,而在实践上价值不大。 由于上述原因, 我们需要把原算术表达式改写为 LL(1)文法, LL(1)文法的文法条件如下: 文法不含左递归。 对于文法中每一个非终结符 A 的各个产生式的候选首
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课程设计 LL 递归 下降 分析器
