- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第5自下而上的语法分析
1.自下而上的语法分析概述
2.LR分析法的基本原理
3.项目集规范族的构造
4.有效项目(略)
5.LR(0)分析表的构造
6.SLR(1)分析表的构造
7.LR语法分析器的控制程序
8.义文法在LR分析法中的应用
9.应用举例(略)
10.LR分析法在词法分析器自动构造中的应用()
1
从叶结点出发,步步向上归约。若能归约到根结点,说明输入
串是文法的一个句子,否则输入串存在语法错误。
常常用用用用用用用自自自自下下下下上上分分析方法
①算符优先分析法(本书略)
宜于手工构造,特别适合于算术表达式的语法分析。但适用范
围较小,实用意义不大。
②LR分析法
适用范围广,宜于自动生成,目前大多数编译程序的语法分析
器都采用LR分析法。
㈡LR分析器组成
由控制程序和分析表组成。控制程序与文法无关,分析表随文
法而异。
㈢LR分析法的优点
范围大,对文法要求低,无需消除左递归,无需消除左因
子。22
LR分分分分的的的点点
实现代价高,LR分析表的规模要比同一文法的LL(1)分析表大
得多。
㈤LR分析法的分类
①LR(0)分析法
简单、分析能力弱,是LR分析法的基础。
②SLR(1)分析法
或称简单LR分析法。分析能力中,实现代价同LR(0),比较容
易实现,具有实用价值。
③LR(1)分析法(本书略)
或称规范LR分析法,分析能力强,实现代价高,或者说分析表
的规模非常大。
④LALR(1)分析法(本书略)
向向向向向向向向LRLRLRLRLRLRLR析析力力介介SLR(1)SLR(1)SLR(1)SLR(1)LR(1)LR(1)LR(1)之间,实现
代价同LR(0),有实用价值,但构造方法较复杂。3
5.15.15.15.1自自自自自自下下而上的语法分析概述
㈠概述
实质上是一种移进归约法,设置一个栈,将输入串符号逐个
移进栈内,一旦发现栈顶形成某个产生式的候选式时,立即将
栈顶这一部分符号替换(归约)成该产生式的左部符号。
GG::
1.S→aAcBe
2.A→be
3.A→Ab
dBB
4.B→d
串串串串串串串abbcdeabbcdeabbcdeabbcde,,bcccc
其移进归约过程如下所示:bAAAAAAA
aaaaaaaaaS
12345678910
因最终归约到根结点,输入串abbcde是文法的一个句子。4
问问问问问问
从第④步到第⑤步有二种选择,可将b归约成A,栈顶成aAA;
也可将Ab归成A,栈顶成aA,显然后者是正确的。
由此可见,可归约串必然是产生式的右部符号串(必要条件),
但是构成某产生式右部的符号串未必是可归约串,故需精确定义可
归约串。
㈢句柄和规范归约
①短语
设αβδ是文法G的一个句型。如果有SαAδ且Aβ,则称β
文档评论(0)