编译原理-自下而上语法分析.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文档。上传文档
查看更多
第五章 语法分析—自下而上分析;内容;5.1 自下而上分析基本问题;5.1.1 自下而上分析;5.1.2 自下而上分析法的基本思想;5.1.3 先进后出栈;5.1.4 移进-归约分析;5.1.5 归约的语法树分析法;5.1.6 规范归约简述;5.1.7 规范归约例一;5.1.7.1 归约的分析树;5.1.7.2 短语;5.1.7.3 直接短语与句柄;E;5.1.2 规范归约简述;5.1.2 规范归约简述;5.1.2 规范归约简述;5.1.2 规范归约简述;5.1.3 符号栈的使用与语法树的表示;5.1.3 符号栈的使用与语法树的表示;考察文法G[S]: S?aABe A?b A?Abc B?d 的输入序列abbcde,移进—归约方法分析的符号栈变化过程如下所示。;5.2 算符优先分析;5.2 算符优先分析;5.2 算符优先分析;5.2.1 算符优先文法及优先表构造;假定G是一个不含?-产生式的算符文法。对于任何一对终结符a、b,我们说: 1. a≒b 当且仅当文法G中含有形如P→…ab…或P→…aQb…的产生式;;5.2.1 算符优先文法及优先表构造;5.2.1 算符优先文法及优先表构造;从算符优先文法G构造优先关系表的算法: 通过检查G的每个产生式的每个候选式,可找出所有满足a≒b的终结符对。 确定满足关系≮和≯的所有终结符对: 首先需要对G的每个非终结符P构造两个集合FIRSTVT(P)和LASTVT(P):;5.2.1 算符优先文法及优先表构造;FIRSTVT(P)的算法;FIRSTVT(P)的算法;FIRSTVT(P)的算法;FIRSTVT(P)的算法;FIRSTVT(P)的算法;5.2.1 算符优先文法及优先表构造;5.2.1 算符优先文法及优先表构造;;G的算符优先关系表: 结论: G是算符优先文法;5.2.2 算符优先分析算法;考虑下面的文法G(E): (1) E→E+T | T (2) T→T*F | F (3) F→P ? F | P (4) P→(E) | i 句型:T+F*P+i 短语:T+F*P+i, T, F, P, F*P, i, T+F*P 直接短语:T, F, P, i 句柄:T 素短语: F*P, i 最左素短语: F*P;5.2.2 算符优先分析算法;5.2.2 算符优先分析算法;5.2.2 算符优先分析算法;5.2.2 算符优先分析算法;5.2.2 算符优先分析算法;5.2.3 优先函数;5.2.3 优先函数;有许多优先关系表不存在优先函数,如: 不存在对应的优先函数f和g 假定存在f和g,则有 f(a)=g(a),f(a)g(b), f(b)=g(a),f(b)=g(b) 导致如下矛盾: f(a) g(b) = f(b) = g(a) = f(a) 如果优先函数存在,则不唯一(无穷多);如果优先函数存在,则可以??过以下三个步骤从优先表构造优先函数: 1 对于每个终结符a,令其对应两个符号fa和ga,画一以所有符号fa和ga为结点的方向图。如果a≯≒b,则从fa画一条弧至gb,如果a≮≒b,则画一条弧从gb至fa。 2 对每个结点都赋予一个数,此数等于从该结点出发所能到达的结点(包括出发点自身)。赋给fa的数作为f(a),赋给ga的数作为g(a)。 3 检查所构造出来的函数f和g是否与原来的关系矛盾。若没有矛盾,则f和g就是要求的优先函数,若有矛盾,则不存在优先函数。;例:求文法G(E) (1) E→E+T | T (2) T→T*F | F (3) F→P ? F | P (4) P→(E) | i 的终结符+,*,↑,i所对应的优先函数。;5.2.3 优先函数;练习;文法:   S→a|∧|(T) T→T,S|S 展开为:   S→a S→∧ S→(T)   T→T,S  T→S (1) FIRSTVT -- LASTVT表 ;(2)算符优先关系表如下: 表中无多重入口所以是算符优先(OPG)文法。 ;(3) 输入串(a,(a,a))# 的算符优先分析过程为:

文档评论(0)

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

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

1亿VIP精品文档

相关文档