ch6自底向上算符优先语法剖析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch6自底向上算符优先语法剖析

自底向上算符优先语法分析;主要内容:规范归约,自上而下的算符优先分析方法及其相关概念。 重点掌握:掌握自下而上分析的基本思想,规范规约的概念及过程;算符优先文法、算符优先关系的判定,最左素短语、句柄的定义与判定,构造算符优先关系表,能用算符优先分析法进行表达式分析。;G = ({E}, {i, +, *, (, ) } , P , E) P: E ? E + E E ? E * E E ? ( E ) E ? i ;自下而上的语法分析;最左推导(Left-most Derive) 每一步推导都替换当前句型的最左边的非终结符。 ——其逆过程称为最右归约 最右推导(Right-most Derive) 每一步推导都替换当前句型的最右边的非终结符。 ——其逆过程称为最左归约(规范归约),得规范句型;;语法分析树的生成演示;规范归约分析过程具有如下特点: 从输入串的开始依次读入单词(移进栈中) 。 一旦发现可归约串(某个产生式的??端)就立即归约。 归约就是将栈顶的一串符号用文法产生式的左部代替,归约可能重复多次。 若最终能归约成文法的开始符号,则分析成功。 由于总是将句型的最左边的可归约串替换成非终结符,该方法与最右推导对应。 关键是如何判断可归约串?;问题的提出: ① 在构造语法树的过程中,何时归约? 当可归约串出现在栈顶时就进行归约。 ② 如何知道在栈顶符号串中已经形成可归约串? 如何进行归约? 不同的自下而上的分析方法对可归约串的定义是不同的,但分析过程的一个共同特点是:边移进边归约。;规范归约的概念;例:考虑如下文法:;从语法分析树来识别: 一棵子树是由树的某个结点连同它的所有子孙组成的。 子树的所有端末结点自左至右排列成一个相对子树根的短语。 直接短语:只有父子两代结点形成的短语。 句柄:最左子树的直接短语。;对下述文法,求句型 E+T * F + i的短语、直接短语、句柄;给定右边的文法,用句柄对符号串abbcde进行归约;练 习;规范归约分析中栈的使用;例2:有文法: E ? E+T|T T ? T*F|F F ? (E)|i 对输入串 id1+id2*id3 的规范归约过程:; 动作 栈 输入缓冲区 1) 准备 # id1+id2*id3# 2) 移进 #id1 +id2*id3# 3) 归约 F→id #F +id2*id3# 4) 归约 T→F #T +id2*id3# 5) 归约 E→T #E +id2*id3# 6) 移进 #E+ id2*id3# 7) 移进 #E+id2 *id3# 8) 归约 F→id #E+F *id3# 9) 归约 T→F #E+T *id3# 10) 移进(可规约) #E+T* id3# 11) 移进 #E+T*id3 # 12) 归约 F→id #E+T*F # 13)归约T→T*F(T→F) #E+T # 14) 归约 E→E+T #E # 15) 接受;练习; do do 将输入串最左边的符号移入栈内; while(栈顶没有出现可归约串 ); do 归约可归约串; while(栈顶还有可归约串); while(文法开始符号没有出现在栈顶或者没有发现错误);分析成功的条件:栈顶为文法开始符号,输入符号串为空。 注意:该过程并未涉及如何在栈里找可归约串。实际上,不同的找可归约串的方法,构成了不同的分析方法。 “移进-归约”分析法用栈实现的特点: 可归约串必定位于栈顶,即可归约串之后就是剩余的输入串。 栈内符号串与剩余输入串正好构成一个句型。;分析器的四种动作;移进归约分析中的问题;优先分析法有两种: ①简单优先分析法(规范归约)——文法按一定规则规定文法符号(终结符和非终结符)的优先关系 ②算符优先分析法(不规范归约)——规定算符(终结符)之间的优先关系;6.2简单优先分析;6.2.1简单优先关系;简单优先关系矩阵;6.2.2简单优先文法定义;6.2.3简单优先分析算法;分析 b(aa)b 过程;6.3算符优先

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档