1 / 84
文档名称:

ch05语法制导翻译技术.ppt

格式:ppt   大小:1,165KB   页数:84页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ch05语法制导翻译技术.ppt

上传人:海洋里徜徉知识 2025/5/9 文件大小:1.14 MB

下载得到文件列表

ch05语法制导翻译技术.ppt

相关文档

文档介绍

文档介绍:该【ch05语法制导翻译技术 】是由【海洋里徜徉知识】上传分享,文档一共【84】页,该文档可以免费在线阅读,需要了解更多关于【ch05语法制导翻译技术 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第5章 语法制导翻译技术
知识点:语法制导定义、翻译方案
S-属性定义、L-属性定义
S-属性定义的翻译
L-属性定义的翻译
第一页,编辑于星期六:五点 十九分。
语法制导翻译技术
语义分析涉及到语言的语义
形式语义学的研究开始于20世纪60年代初
形式语义学可以分为三类
操作语义学:通过说明程序在一个机器中是如何执行的来定义程序的语义,着重模拟数据加工过程中计算机系统的操作
指称语义学:使用数学函数来描述程序和程序的构成,函数通过把语义值联系到正确的语法结构来描述程序的语义,主要描述数据加工的结果
公理语义学:把数理逻辑应用于语言的语义,语言结构与谓词转换器联系在一起,语言结构的行为以命题刻画,通过描述程序执行对程序断言的影响来定义程序、语句或语言结构的语义,主要用于程序正确性证明
语法制导翻译技术
多数编译程序普遍采用的一种技术
比较接近形式化
第二页,编辑于星期六:五点 十九分。
2
语法制导翻译技术
根据翻译目标的要求确定每个产生式所包含的语义;
根据产生式包含的语义,分析文法中每个符号的语义;
把这些语义以属性的形式附加到相应的文法符号上;
根据产生式的语义,给出符号属性的求值规则(即语义规则),从而形成语法制导定义。
在语法分析过程中,当使用该产生式时,根据语义规则对相应的属性进行求值,从而完成翻译。
例如:考虑算术表达式文法
总目标:计算表达式的值
产生式 EE1+T 的语义:表达式 的值由两个子表达式的值相加得到
分析每个符号的语义,并以属性的 形式记录:、、
求值规则:=+
语法制导定义:产生式 语义规则
EE1+T
ET
TT1*F
TF
F(E)
Fdigit
=+
=
=*
=
=
=
第三页,编辑于星期六:五点 十九分。
3
语法制导翻译技术(续)
例如:考虑算术表达式文法
总目标:检查表达式的类型
产生式 EE1+T 的语义:表达式的类型由两个子表达式的类型综合得到
分析每个符号的语义,并以属性的形式记录:、 、
求值规则:
if (==integer)&&(==integer)
=integer;
else …
第四页,编辑于星期六:五点 十九分。
4
翻译结果—取决于翻译目标
生成代码
可以为源程序产生中间代码
可以直接生成目标机指令
对输入符号串进行解释执行
向符号表中存放信息
给出错误信息
翻译的结果依赖于语义规则
使用语义规则进行计算所得到的结果就是对输入符号串进行翻译的结果。
如:EE+T 的翻译结果可以是:计算表达式的值、检查表达式的类型是否合法、为表达式创建语法树、生成代码等等。
第五页,编辑于星期六:五点 十九分。
5
语法制导翻译技术(续)
进一步:
用一个或多个子程序(称为语义动作)所要完成的功能描述产生式的语义;
把语义动作插入到产生式中相应位置,从而形成翻译方案。
在语法分析过程中使用该产生式时,在适当的时机调用这些动作,完成所需要的翻译。
语法制导定义是对翻译的高层次的说明,它隐蔽了一些实现细节,无须指明翻译时语义规则的计算次序。
翻译方案指明了语义规则的计算次序,规定了语义动作的执行时机。
第六页,编辑于星期六:五点 十九分。
6
语法制导翻译的一般步骤
输入符号串
分析树
依赖图
语义规则的计算顺序
计算结果
第七页,编辑于星期六:五点 十九分。
7
语法制导翻译技术
语法制导定义及翻译方案
S-属性定义的自底向上翻译
L-属性定义的自顶向下翻译
L-属性定义的自底向上翻译
小 结
第八页,编辑于星期六:五点 十九分。
8
语法制导定义及翻译方案
对上下文无关文法的推广
每个文法符号都可以有一个属性集,其中可以包括两类属性:综合属性和继承属性。
左部符号的综合属性是从该产生式右部文法符号的属性值计算出来的;在分析树中,一个内部结点的综合属性是从其子结点的属性值计算出来的。
出现在产生式右部的某文法符号的继承属性是从其所在产生式的左部非终结符号和/或右部文法符号的属性值计算出来的; 在分析树中,一个结点的继承属性是从其兄弟结点和/或父结点的属性值计算出来的。
分析树中某个结点的属性值是由与在这个结点上所用产生式相应的语义规则决定的。
和产生式相联系的语义规则建立了属性之间的关系,这些关系可用有向图(即:依赖图)来表示。
第九页,编辑于星期六:五点 十九分。
9
本节内容安排
一、语法制导定义
二、依赖图
三、计算次序
四、S属性定义和L属性定义
五、翻译方案
第十页,编辑于星期六:五点 十九分。
10