编译技术编译原理 (29).pdf

上传人:刘静 文档编号:52748451 上传时间:2022-10-23 格式:PDF 页数:15 大小:982.72KB
返回 下载 相关 举报
编译技术编译原理 (29).pdf_第1页
第1页 / 共15页
编译技术编译原理 (29).pdf_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《编译技术编译原理 (29).pdf》由会员分享,可在线阅读,更多相关《编译技术编译原理 (29).pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、编译技术语 法 制 导 的 翻 译本节内容属 性 依 赖 图输入串分析树依赖图语义规则计算次序属 性 依 赖 图 在一棵分析树中的结点的继承属性和综合属性之间的相互依赖关系可以由称作依赖图的一个有向图来描述。为每一个包含过程调用的语义规则引入一个虚拟综合属性b,这样把每一个语义规则都写成 b:=f(c1,c2,ck)的形式。依赖图中为每一个属性设置一个结点,如果属性b依赖于属性c,则从属性c的结点有一条有向边连到属性b的结点。属 性 依 赖 图EE1E2E.val:=E1.val+E2.valE1+E2Evalvalval属 性 依 赖 图id1L,id2L,id3LintTD4type5in

2、6-addtype(id.entry,L.in)7in8 addtype9in10 addtype1entry2entry3entry属 性 计 算 次 序id1L,id2L,id3LintTD4type5in6-addtype(id.entry,L.in)7in8 addtype9in10 addtype1entry2entry3entryint id1,id2,id3的分析树的依赖图D TLL.in:=T.typeaddtype(id.entry,L.in)id1L,id2L,id3LintTD4type5in6-addtype(id.entry,L.in)7in8 addtype9in1

3、0 addtype1entry2entry3entry拓扑排序:结点的一种排序,使得边只会从该次序中先出现的结点到后出现的结点。例:例:1,2,3,4,5,6,7,8,9,10属 性 计 算 次 序依赖图的任一拓扑排序都是一个合理的属性计算顺序属 性 计 算 次 序如果一属性文法不存在属性之间的循环依赖关系,那么称该文法为良定义的。循 环 依 赖 Circular dependency产生式产生式语义规则语义规则A BA.s:=B.iB.i:=A.s+1ABA.sB.i一个依赖图的任何拓扑排序都给出一个语法树中结点的语义规则计算的有效顺序。属性文法说明的翻译是很精确的属 性 计 算 次 序基础

4、文法用于建立输入符号串的语法分析树;根据语义规则建立依赖图从依赖图的拓扑排序中,可以得到计算语义规则的顺序。输入串分析树依赖图语义规则计算次序id1L,id2L,id3LintTD4type5in6-addtype(id.entry,L.in)7in8 addtype9in10 addtype1entry2entry3entryint id1,id2,id3的分析树的依赖图的分析树的依赖图属 性 计 算 次 序a4:=int;a5:=a4addtype(id3.entry,a5);a7:=a5;addtype(id2.entry,a7);a9:=a7addtype(id1.entry,a9);

5、属 性 计 算 次 序1 1、构造输入的分析树、构造输入的分析树2 2、构造属性依赖图、构造属性依赖图3 3、对结点进行拓扑排序、对结点进行拓扑排序4 4、按拓扑排序的次序计算属性、按拓扑排序的次序计算属性语义规则的计算方法语 法 制 导 的 定 义分析树方法:前面介绍的方法(有环则失败)基于规则的方法:静态确定语义规则的计算次序。忽略规则的方法:事先确定属性的计算策略(如边分析边计算),那么语义规则的设计必须符合所选分析方法的限制。基于(语义)规则的方法语 义 规 则 的 计 算 方 法语法分析和属性计算分开,先构造分析树,然后按预先定义的语法分析和属性计算分开,先构造分析树,然后按预先定义

6、的策略遍历分析树来计算属性。策略遍历分析树来计算属性。语义规则的定义和计算顺序语义规则的定义和计算顺序(翻译模式翻译模式)在编译器构造之前确定。在编译器构造之前确定。分析树遍历策略的确定(构造编译器时)要考虑语义规则的分析树遍历策略的确定(构造编译器时)要考虑语义规则的定义及计算顺序,因此是基于规则的方法。定义及计算顺序,因此是基于规则的方法。忽略(语义)规则的方法语 义 规 则 的 计 算 方 法 在进行语法分析的同时进行翻译,即边分析边计算属性,计算次序由分析方法确定而与语义规则无关。缺点:这样确定计算次序将限制能实现的语法制导定义的种类。优点:不构造依赖图,不对依赖图进行拓扑排序,提高了时空效率。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁