编译原理课件语法制导的翻译.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文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * 句子real id1,id2,id3的带注释的分析树 产 生 式 语 义 规 则 D→TL L.in := T.type T→int T.type := integer T→real T.type := real L→L1, id L1.in :=L.in addtype(id.entry, L.in) L→id addtype(id.entry, L.in) id1 L , id2 L , id3 L real T D T.type=real L.in=real L.in=real L.in=real 4.1.4 属性依赖图 输入串 分析树 依赖图 语义规则计算次序 4.1.4 属性依赖图 在一棵分析树中的结点的继承属性和综合属性之间的相互依赖关系可以由称作依赖图的一个有向图来描述。 为每一个包含过程调用的语义规则引入一个虚拟综合属性b,这样把每一个语义规则都写成 b:=f(c1,c2,…,ck) 的形式。 依赖图中为每一个属性设置一个结点,如果属性b依赖于属性c,则从属性c的结点有一条有向边连到属性b的结点。 4.1.4 属性依赖图 E→E1+E2 E.val:=E1.val+E2.val E1 + E2 E val val val 4.1.4 属性依赖图 for 分析树中每一结点n do for 结点n的文法符号的每一个属性a do 为a在依赖图中建立一个结点; for 分析树中每一个结点n do for 结点n所用产生式对应的每一个语义规则 b:=f(c1,c2,…,ck ) do for i:=1 to k do 从ci结点到b结点构造一条有向边; 4.1 语法制导的定义 4.1.4 属性依赖图 int id1, id2, id3的分析树的依赖图 D ? TL L.in := T.type D int T , id3 L L L id2 id1 , 1 entry 10 2 entry 3 entry in 9 8 in 7 6 in 5 4 type 4.1 语法制导的定义 4.1.4 属性依赖图 int id1, id2, id3的分析树的依赖图 L? L1, id L1.in := L.in; addtype (id.entry, L.in ) D int T , id3 L L L id2 id1 , 1 entry 10 2 entry 3 entry in 9 8 in 7 6 in 5 4 type 句子real id1,id2,id3的带注释的分析树的依赖图 产 生 式 语 义 规 则 D→TL L.in := T.type T→int T.type := integer T→real T.type := real L→L1, id L1.in :=L.in addtype(id.entry, L.in) L→id addtype(id.entry, L.in) id1 L , id2 L , id3 L real T D 4 type 5 in 6 - addtype(id.entry, L.in) 7 in 8 addtype 9 in 10 addtype 1 entry 2 entry 3 entry 4.1 语法制导的定义 4.1.5 属性计算次序 拓扑排序:结点的一种排序,使得边只会从该次序中先出现的结点到后出现的结点。 例:1,2,3,4,5,6,7,8,9,10 D int T , id3 L L L id2 id1 , 1 entry 10 2 entry 3 entry in 9 8 in 7 6 in 5 4 type 40/52 依赖图的任一拓扑排序都是一个合理的属性计算顺序 4.1.5 属性计算次序 如果一属性文法不存在属性之间的循环依赖关系,那么称该文法为良定义的。 4.1.5 属性计算次序 一个依赖图的任何拓扑排序都给出一个语法树中结点的语义规则计算的有效顺序。 属性文法说明的翻译是很精确的 基础文法用于建立输入符号串的语法分析树; 根据语义规则建立依赖图 从依赖图的拓扑排序中,我们可以得到计算语义规则的顺序。 输入串 分析树 依赖图

文档评论(0)

潮起潮落 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档