- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 自底向上优先分析法
实现思想:对输入符号串自左向右进行扫描,并将输入符逐个移入一个后进先出栈中,边移入边分析,一旦栈顶符号串形成某个句型的句柄时,(该句柄对应某产生式的右部),就用该产生式的左部非终结符代替相应右部的文法符号串,这称为一步归约。重复这一过程直到归约到栈中只剩文法的开始符号时则为分析成功。 自底向上分析的移进—归约过程是自顶向下最右推导的逆过程,也称为规范归约。 示例: 例6.1 文法G[S]: S aAcBe A b|Ab B d 输入串:abbcde# 最右推导:S aAcBe aAcde aAbcde abbcde 自底向上构造语法树的过程: (关键问题:在分析过程中如何确定句柄) 6.1 自底向上优先分析法概述 优先分析方法 1、简单优先分析方法:对一个文法按一定原则求出该文法所有符号即终结符和非终结符之间的优先关系,按照这种关系确定归约过程中的句柄,它的归约过程实际上是一种规范归约。 2、算符优先分析方法:只规定算符之间的优先关系,也就是只考虑终结符之间的优先关系,由于算答优先分析不考虑非终结符之间的优先关系,在归约过程中只要找到句柄就归约,并不考虑归约到哪个非终结符名,因而算符优先归约不是规范归约。 6.2 简单优先分析方法 1、优先关系 (1)X=Y 当且仅当G中存在产生式规则A …XY … (2)XY 当且仅当G中存在产生式规则A …XB …, 且B Y … (3)XY 当且仅当G中存在产生式规则A …BD …, 且B …X和D Y 注意:优先关系是一种有序关系。X Y 不等于 YX 例6.2 若有文法G[S]: S bAb A (B|a B Aa) (1)求=关系 b=A, A=b, (=B, A=a, a=) (2)求关系 b( , ba, ((, (a, (A (3)求关系 )b, ab, Bb, )a, aa, Ba 例6.2文法的简单优先关系矩阵 2、简单优先文法的定义 若一个文法是简单优先文法必须满足以下条件: (1)在文法符号集V中,任意两个符号之间最多只有一种优先关系成立。 (2)在文法中任意两个产生式没有相同的右部。 3、简单优先分析法 首先根据已知优先文法构造相应优先关系矩阵,并将文法的产生式保存,设置符号栈S: (1)将输入符号串a1a2…an#依次逐个存入符号本S中,直到遇到栈顶符号ai的优先性 下一个待输入符号aj时为止。 (2)栈顶当前符号ai为句柄尾,由此向左在栈中找句柄 的头符号ak,即找到ak-1 ak为止。 (3)由句柄ak …ai在文法的产生式中查找右部为ak …ai的产生式,若找到则用相应左部代替句柄,若找不到则为出错,这时可断定输入串不是该文法的句子。 (4)重复上述三个步骤直到归约完输入符号串,栈中只剩文法的开始符号为止。 6.3 算符优先分析方法 引例:文法G[E]: (1)E E+E (2)E E*E (3)E i 1、直观算符优先分析法 对于如下表达式文法,按结合性和计算顺序规定优先关系:E E+E|E-E|E*E|E/E|E↑E|(E)|i 2、算符优先文法的定义 定义6.1 设有一文法G,如果G中没有形如A …BC …的产生式,其中 B和C为非终结符,则称G为算符文法,也称OG文法。 性质1 在算符文法中任何句型都不包含两个相邻的非终结符。 证明:用归纳法。 性质2 如果Ab或(bA)出现在算符文法的句型?中,其中A?VN,b?VT,则?中任何含b的短语必含有A。 证明:用反证法。 练习:若有句型#abAbEcaEc#,则以下哪些可能是句柄() ab abA bAb bAbE ca caE aEc 定义6.2 设G是一个算符文法,a和b是任意两个终结符,A、B、C是非终结符,算符优先关系=、、定义如下: (1)a=b 当且仅当G中含有形如 A … ab …或 A … aBb …的产生式。 (2)ab 当且仅当G中含有形如 A …aB …的产生式,且 B b… 或B Cb… (3)ab 当且仅当G中含有形如 A …Bb …和产生式,且B …a 或B …aC 定义6.3 设有一不含?产生式的算符文法G,如果对任意两个终结符对a,b之间至多只有 、和=三种关系的一种成立,则称
您可能关注的文档
最近下载
- 用于(甲基)丙烯酸酯生产的纳米金催化剂的制备方法.pdf VIP
- 元素周期表元素周期律 元素周期律和元素周期表试题及答案.doc VIP
- GZ-2022024机器视觉系统应用赛项赛题完整版包括试题答案及全部附件-2022年全国职业院校技能大赛拟设赛项赛题.pdf VIP
- 品牌视觉设计(张丙刚)PPT全套完整教学课件.pptx
- sap超详细教程(中文).doc VIP
- 四年级英语Unit 2 He's cool教学设计.doc VIP
- TCNIA-硅多晶用包装袋内表面杂质含量的测定 电感耦合等离子体质谱法.pdf
- XXX年最新GSP零售药店质量管理体系文件.docx VIP
- 预制舱安装施工方案.docx VIP
- 北师大版五年级上册数学练习四课件.ppt VIP
原创力文档


文档评论(0)