- 22
- 0
- 约1.8万字
- 约 55页
- 2017-01-01 发布于北京
- 举报
《2.Part6属性文法和语法制导翻译
数据库原理与Oracle——SQL语言 属性文法和语法制导翻译 授课:胡静 属性文法 属性文法 虽然形式语义学的研究已经取得了许多重大进展,但目前在实际应用中比较流行的语义描述和语义处理的方法主要还是属性文法和语法制导翻译。 本章研究内容: 上下文无关文法所产生的语言的翻译。 把属性附加到代表语法结构的文法符号上,可以将语义信息和程序设计语言的结构联系起来。 属性的值是用与文法产生式相关联的“语义规则”来计算的。 涉及的概念 语法制导定义:关于语言翻译的高层次规格说明,隐蔽了具体实现细节,不显式的说明翻译发生的顺序(属性文法) 翻译模式:指明了语义规则的计算顺序,说明实现细节。 语法制导翻译在编译器中的位置 语义规则的计算完成的工作 生成代码 在符号表中保存信息 发出错误信息 对输入符号串翻译的过程就是对语义规则求值的过程 L-属性:包含了所有不必显式构造分析树即可完成的翻译 属性文法 是在上下文无关文法的基础上,为每个文法符号(终结符或非终结符)配备若干相关的“值”。 属性代表与文法符号相关的信息,如类型、值、代码序列、符号表内容 属性可以代表任何对象:字符串,数组,类型,内存单元或其他对象 语法制导定义=文法+符号的相关属性集 属性分为两个子集:综合属性、继承属性 如果把文法符号的结点看成记录,包含若干存储信息的域,那么属性就相当于域的名字 属性文法 分析树节点上属性值由产生式的语义规则来定义 综合属性值:通过分析树中其子节点的属性值计算出来的 继承属性值:由该节点的兄弟节点及父节点的属性值计算出来的 依赖图 语义规则建立了属性间的依赖关系,这种关系用图来表示就是依赖图 依赖图表示了语义规则的计算顺序 注释分析数 每个节点都有属性值的分析树叫做注释分析树 计算节点属性的过程称为注释或者装饰分析树 属性文法 在语法制导定义中,每个产生式A→α都有一个形如b=f(c1,c2,...,ck)的语义规则集合与之相关联,其中f是函数,并且满足下面条件之一 b是A的一个综合属性,且c1,c2,...,ck是该产生式文法符号的属性 b是产生式右部某个文法符号的一个继承属性,且c1,c2,...,ck也是该产生式文法符号的属性 在这两种情况下,我们说属性b依赖于c1,c2,...,ck 。 特别要强调的是: 终结符只有综合属性,它们由词法分析器提供; 非终结符既可有综合属性也可有继承属性,文法开始符号的所有继承属性作为属性计算前的初始值。 关于属性文法的说明 通常,这种函数的被写为表达式。 其他的语义规则被写为过程调用或者程序段——定义产生式左部非终结符的虚综合属性值 一般说来,对于出现在产生式右边的继承属性和出现在产生式左边的综合属性都必须提供一个计算规则。 属性计算规则中只能使用相应产生式中的文法符号的属性,这有助于在产生式范围内“封装”属性的依赖性。 出现在产生式左边的继承属性和出现在产生式右部的综合属性不由所给产生式的属性计算规则进行计算,它们由其他产生式的属性规则计算或由属性计算器的参数提供。 继承属性和综合属性的计算举例 对于产生式A→BC来讲 直观上来讲,这个产生式可以计算A的综合属性、B和C的继承属性。 那么对于A的继承属性,可能需要根据某个类似于X→…A…的产生式求的。 同样的B和C的综合属性可能需要根据某个类似于B→β,以及C →γ的产生式求的。 属性文法举例 综合属性 S属性定义 在语法树中,一个结点的综合属性的值由其子结点的属性值决定。 仅使用综合属性的属性文法称为S-属性定义 S属性定义的分析树的分析方法——自底向上的在每个节点用语义规则来计算综合属性值。 综合属性举例 继承属性 在语法树中,一个结点的继承属性由此结点的父结点和/或兄弟结点的某些属性确定。 继承属性在程序设计语言中的作用 表示程序设计语言上下文结构的依赖性 对于赋值号,其左边和右边的标识符在操作的时候需要提供的属性不同,这时候就要跟踪标识符的继承属性。如果在赋值号左边,则需要地址,右边则需要值。 虽然我们总是可以只用综合属性来改写语法制导定义,但是使用带有继承属性的属性文法有时更为自然。 继承属性的例子 语法制导翻译 基于属性文法的处理过程通常是: 对符号串进行语法分析, 构造语法分析树 根据需要遍历语法树并在语法树的各结点处按语义规则进行计算。 这种由源程序的语法结构驱动的处理办法就是语法制导翻译法。 在某些情况下,在进行语法分析的同时完成语义规则的计算而无须明显地构造语法树或构造属性之间的依赖图。 依赖图 依赖图是有向图 表示了分析树中各节点属性间的依赖关系。其中属性包括继承属性和综合属性 表示了节点属性的计算先后顺序。如果分析树中某个节点的属性b依赖于属性c,那么在该节点处b的语义规则必须在c的语义规则之后计算。 依赖图的构造方法 为每
您可能关注的文档
- 《2.NET简介.ppt
- 《2.NAV10-WF.ppt
- 《2.MT 介绍.ppt
- 《2.news 2.ppt
- 《2.Module6 Unit 1 I’ll draw the pictures.ppt
- 《2.Microsoft_Exchange2013.pptx
- 《2.nginx_load_balance.ppt
- 《2.NGO.ppt
- 《2.Note 01-new.ppt
- 《2.NSM.ppt
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
最近下载
- 《溴代反应(生产溴化聚苯乙烯和四溴苯酐)副产溴化钠》-全文及说明.pdf VIP
- 物业内部质量监管方案.docx VIP
- 生产经理未来工作规划.pptx
- 澳大利亚入境卡(英文).pdf VIP
- 2025年绵阳东辰六年级小升初数学试题(二).doc VIP
- 石灰岩矿每年45万吨露天开采工程项目初步设计初步设计.pdf VIP
- 保洁服务质量保证措施.doc VIP
- 世纪科怡档案管理软件报表设计克隆表.pdf VIP
- SAE J514-3-2023 Metallic Connections for Fluid Power and General Use - Part 3: NPTF Pipe Adapters and NPSM Adapter Unions 流体动力和一般用途金属连接. 第3部分: NPTF 管适配器和 NPSM 适配器联接.pdf
- 竞聘上岗制度与实施细则.docx VIP
原创力文档

文档评论(0)