- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语义分析和中间代码产生-SlideBoom
中南大学软件学院 陈志刚 第七章 语义分析和中间代码产生 中南大学软件学院 陈志刚 第七章 语义分析和中间代码产生 7.1 语义分析 7.2 逆波兰表示法 7.3 三元式 7.4 四元式 7.5 简单表达式和赋值语句到四元式的翻译 7.6 布尔式到四元式的翻译 7.7 控制语句的翻译 * * 中南大学软件学院 陈志刚 7.1 语义分析 语义分析 属性文法和语法制导翻译方法和技术应用于语义分析中。 语义分析通常包括以下几个方面: * * 中南大学软件学院 陈志刚 (1)类型检查。验证程序中执行的每个操作是否遵守语言的类型系统的过程.,编译程序必须报告不符合类型系统的信息。 (2)控制流检查。控制流语句必须使控制转移到合法的地方。例如,在C语言中break语句使控制跳离包括该语句的最小while、for或switch语句。如果不存在包括它的这样的语句,则就报错。 (3)一致性检查。在很多场合要求对象只能被定义一次。例如Pascal语言规定同一标识符在一个分程序中只能被说明一次,同一case语句的标号不能相同,枚举类型的元素不能重复出现等等。 (4)相关名字检查。有时,同一名字必须出现两次或多次。例如,Ada 语言程序中,循环或程序块可以有一个名字,出现在这些结构的开头和结尾,编译程序必须检查这两个地方用的名字是相同的。 (5)名字的作用域分析 * * 中南大学软件学院 陈志刚 类型和声明(Types and declarations) 一个类型是一组值和在这些值上的一组操作,程序设计语言中有三种类型: 基本类型:int, float, double, char, bool等等. 也可能允许在基本类型基础上用户自己定义的类型,如枚举型. 复合类型:数组,指针,记录/结构/联合,类等等.这些类型由基本类型构成. 复杂类型:链表,栈,队,树,堆,表格等等.可以把它们组织成ADT. 一个语言不一定支持这类高级的抽象。 声明是程序中的一个语句,是把数据对象的名称和类型,以及生命周期信息传给编译,声明的地方传递生命周期信息 也有些语言允许声明初始化变量。如: double calculate(int a, double b); // function prototype int x = 0; // global variables available throughout double y; // the program int main() { int m[3]; // local variables available only in main char *n; ... } * * 中南大学软件学院 陈志刚 强类型的 -任何数据类型都可以在 编译时确定 弱类型的. 进行类型检查的时间:编译时,运行时,或者两者结合. 静态类型检查 编译时进行类型检查 动态类型检查,将类型信息并到运行时每个数据单元中. 隐含类型转换. * * 中南大学软件学院 陈志刚 P→D;E D→D;|id:T T→char | integer | aray [num]of T| ↑T E→literal|num | id| E mod E| E [E]|E↑ P代表程序;D代表说明;E代表表达式。如程序语句: key: integer; key mod 1999 语言本身提供两种基本类型:char和integer。 除此之外还有缺省的基本类型type_ error和void。假定所有数组都从下标1开始 中南大学软件学院 陈志刚 第七章 语义分析和中间代码产生 中南大学软件学院 陈志刚
您可能关注的文档
- 西雅图新总部大楼-Trosifol.PDF
- 西餐实习报告.DOC
- 规定了原点单位长度和正方向的直线叫做数轴-益阳师范.PPT
- 视网膜水肿渗出出血.DOC
- 解斜三角形复习课-仁寿一中南校区.DOC
- 解扩展题辅导.PPT
- 要在教室装监视器.PPT
- 解由斯特藩-玻尔兹曼定律.DOC
- 解答无机化工流程试题的程序审题步骤.PPT
- 计分说明-台中荣总.PPT
- 森林群落发育及演替.ppt
- 2025届江苏省苏州市工业园区中考一模数学卷(含解析).pdf
- 高中历史选择题考试技术(四)考试技巧之逻辑判断 用“全面”的观点 高考历史做题方法指导.pptx
- 10,2酸和碱的中和反应课件--九年级化学人教版下册.pptx
- 2025届江苏省泰州市兴化市中考一模数学试卷(附解析).docx
- 2025届江苏省扬州市中考一模数学试卷.docx
- 2025届江苏省泰州市靖江市中考一模数学试卷(附解析).docx
- 9.3 力与运动的关系 -八年级物理下册课件(苏科版).pptx
- 2025届江苏省中考数学一模试卷(附解析).docx
- 2025年江苏省常熟市中考第一次适应性考试数学试卷(附解析).docx
文档评论(0)