[编译原理课程教案第4章.自下而上语法分析.ppt

[编译原理课程教案第4章.自下而上语法分析.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[编译原理课程教案第4章.自下而上语法分析

例:E→E+E | E*E | (E) | i 证明不是算符优先文法。 因 为:E→E+E ,E?E*E 则有 + *(由规则2) 又因为:E→E*E, E?E+E 则有 + *(由规则3) 所以不是算符优先文法。 3.算符优先文法 算符文法G的任何终结符a,b之间要么没有优先关系,若有优先关系,至多有 = , , 中的一种成立,则G为一算符优先文法。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 练 习 对右边的文法G,计算终结符+,*,?和 )之间的优先关系: E?E + T T?T * F F?P ? F P?(E) 因为: E?E + T ,T=T*F,所以:+ * (规则2) 因为: E?E + T , E = E + T ,所以:+ + (规则3) 因为: T ?T * F ,F = P ? F,所以:* ? (规则2) 因为: T ?T * F , T = T * F,所以:* * (规则3) 因为: P?(E) , E = E + T ,所以:+ ) (规则3) 因为:F?P ? F, P = (E),所以:) ? (规则3) 因为: F?P ? F, F =P ? F,所以: ? ? (规则2) …… Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算符优先关系表的构造 用表格形式来表示各终结符号的优先关系,这种表称为优先表。 构造优先关系表的方法: ①按照定义手工计算 ②使用算法 例: P:  E ? E+T|T       T ? T*F|F       F ? (E)|i 求算符优先矩阵。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 由F?(E) 得 ( = ) 由E-E+T T = i, 得 + i T = T*F, 得 + * T = (E), 得 + ( E = i, 得i + E = E+T, 得+ + E = T*F, 得* + E = (E), 得 ) + + * i ( ) # + * i ( ) # 例: P:  E?E+T|T       T?T*F|F       F? (E)|i 求算符优先矩阵 终结符+‘#’ 终结符+‘#’ 对于结束符#和其它终结符a之间若有关系,则必有: # a ;a # ,计算方法是拓展成E‘?#E# * * * * * * * Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 注意: 在优先表中,空白部分是一种错误关系 相同的终结符之间的优先关系不一定是 如果有a = b,不一定有b = a(不具传递性) 如果有a b,不一定有b a(不具传递性),因为只定义相邻运算符之间的优先关系,a,b相邻时,不一定b,a相邻。 a,b之间未必有优先关系( , , ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算符优先关系表的自动构造算法 1.FirstVT集 定义:对每个非终结符P, FirstVT(P)={a|P=a...或P=Qa...,a为终结符,P,Q为非终结符} + + 由优先性低于的定义和firstVT集合的定义可以得出: 若存在某个产生式:Q-…aP…, 对所有:b∈FirstVT(P) 都有:a b。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.

文档评论(0)

wu12youli + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档