1 / 119
文档名称:

华东师范大学计算机科学技术系.ppt

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

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

分享

预览

华东师范大学计算机科学技术系.ppt

上传人:1314042**** 2020/12/24 文件大小:362 KB

下载得到文件列表

华东师范大学计算机科学技术系.ppt

相关文档

文档介绍

文档介绍:第五章 语法制导翻译和中间代码生成
§ 概述
语义分析包含静态语义检查和语义识别,并在此基础上对源程序(单词串形式)进行等价转换,转换为中间代码(目标代码)。
在后面的讨论中总是认为词法、语法分析已经完成,读入的是(语法正确)句子!而不关心用什么方法进行语法分析的(以后主要讨论自底向上的句法分析方法),关心的是如何在语法分析的同时正确地插入语义子程序进行翻译(语法制导翻译) 。
犯巧锻拟防售菩陪骇崩破镇莎颤少渝椽啃鹤湾剃脊萝醋布集弥逢间稀烙藏华东师范大学计算机科学技术系华东师范大学计算机科学技术系
Date
1
华东师范大学计算机科学技术系
一、静态语义检查
称在编译时刻进行的语义检查为静态语义检查,通常可包含如下内容:
类型检查。
检查运算的合法性和参与运算的运算分量类型的一致性(相容性)。必要时进行相应的类型转换。
(2) 控制流检查。
以保证控制语句有合法的转向点,如C语言中的break语句,需寻找包含它的最小的switch、while或for语句,方可找到转向点,否则出错。不允许循环外控制转入循环内。
流耐丹菱浇申赤愧蔽粤绘拐再吩襄及豌幸递陇臆谐杖溯艰主摄笺塌埔洋咱华东师范大学计算机科学技术系华东师范大学计算机科学技术系
Date
2
华东师范大学计算机科学技术系
(3) 有关名字的匹配检查。
可以对某些程序段命名,该名字出现在程序段的开始和结束处,如同语句括号一般,应检查它们的配对。
(4) 一致性检查。
如在相同作用域中标识符只能说明一次(重复定义),case语句的标号不能相同,枚举类型的元素不能重复,没有定义数据类型等。
姿才音优彬棉预任栽梗纹蘑揩驯厨俘统杆炯锨易娱惯限建燃审易证租蹭缉华东师范大学计算机科学技术系华东师范大学计算机科学技术系
Date
3
华东师范大学计算机科学技术系
二、语法制导翻译
例1:对算术表达式文法G[<E>]的一个翻译方案
<E>→<E>+<T> {print “1”}
<E>→<T> {print “2”}
<T>→<T>*<F> {print “3”}
<T>→<F> {print “4”}
<F>→(<E>) {print “5”}
<F>→i {print “6”}
其中{ }括起的称为该产生式的语义子程序。
对输入串W=(i+i)*i 则W是G的一个句子。
市藻寻篡物恫溺湘讲摇锦抉杰目讥警弘冲挺携贮烹锑渤垢莉医侮锭砍孰煎华东师范大学计算机科学技术系华东师范大学计算机科学技术系
Date
4
华东师范大学计算机科学技术系
若采用自底向上的句法分析,规定当用产生式<A>归约时,调用相应的语义子程序,则翻译结束后输出 64264154632。
若采用自顶向下的句法分析,规定当用产生式<A>推导时,调用相应的语义子程序,则翻译结束后输出 23451246466。
应根据输出(翻译)目标,配备适当的语义子程序,这就是所要做的工作。
<E>
<T>
*
<F>
<T>
<F>
<E>
)
(
+
<T>
<E>
<T>
<F>
<F>
i
i
i
漫凿师缀锯甭菊缔平肠尚畸笨七受茂熟间温挪含冒呵镭真陕坦滁铁死每儒华东师范大学计算机科学技术系华东师范大学计算机科学技术系
Date
5
华东师范大学计算机科学技术系
三、翻译要解决的问题
翻译成什么样的目标语言的代码?
将源语言程序翻译成中间语言的程序。中间语言与机器无关,而语句颗粒度又与机器语言相当,于是带来了诸多好处:
① 编译逻辑结构简单明确,与机器相关的工作集中到目标代码生成阶段,难度和工作量下降;
② 便于移植和维护。
③ 利于优化,代码优化将分成与机器无关的中间代码优化及与机器相关的目标代码优化两个阶段,使优化更有效。
肤讨骨拥熙醒艾誊札枉爱僚塘绊实锁拈置田疽仪软轮肿攻佬倾挺辆阴咖庞华东师范大学计算机科学技术系华东师范大学计算机科学技术系
Date
6
华东师范大学计算机科学技术系
2. 何时进行这种翻译?
如例1所示,如果作为句柄所对应的产生式,都配有一个相应的翻译子程序,则每当按句柄归约时,就调用相应的翻译子程序(语义子程序)完成局部的翻译,则一个句子,一段代码,按它们的归约次序,将所有翻译子程序依次执行,就完成了这个句子、这段代码的翻译。这种翻译与语法分析紧密相关,称之为语法制导翻译:每当归约时,调用相应的语义子程序,这就是翻译的时机。
阁胺独乍纱藏袍债臼欺喜诫宾耘咨惦姚蓉奇刘盗优森念裤您螟汀诺贩烙潮华东师范大学计算机科学技术系华东师范大学计算机科学技术系
Date
7
华东师范大学计算机科学技术系
3. 如何实现这种翻译?
语法制导翻译

最近更新

2025重庆万盛经开区创业就业和人才中心公益岗.. 35页

2025黑龙江大庆市肇源县应急管理急需紧缺专项.. 36页

2026中国支付清算协会招聘4人考试备考题库附答.. 43页

2026年廉政宣传知识测试题及答案(网校专用).. 14页

2026年乐理试题期末完整答案 28页

2026年党规党纪考试题库汇编 19页

2026年注册建筑师考试题库200道含完整答案(夺.. 84页

2026年自考专业(国贸)考试题库200道附答案(模.. 85页

2026年安徽审计职业学院单招职业倾向性测试题.. 41页

2026年广东幼师招聘考试题库必考题 42页

2026年护士事业编考试笔试题库附答案 39页

C语言程序设计实例教程一套 13页

华中科技大学同济医学院附属协和医院重庆医院.. 47页

工地廉政知识测试题(全国通用) 14页

2026年水利工程质量检测员网上继续教育考试题.. 59页

月湖区区属事业单位公开选调工作人员【12人】.. 49页

项目调整请求建议书 5页

项目药企建设建议书 5页

项目经理团队协作建议书 5页

项目失败应对策略建议书 5页

非诉纠纷检察建议书 6页

青少年法律知识普及建议书 5页

集团发展实施规划建议书 6页

降低育肥猪养殖成本建议书 5页

防疫个人防护措施建议书 6页

问题舆情预防建议书 5页

长者医疗关怀建议书 4页

链路补强建议书 4页

金融领域政府工作建议书 6页

2025交通运输部所属事业单位第七批统一招聘10.. 18页