- 5
- 0
- 约1.2千字
- 约 9页
- 2018-10-19 发布于山东
- 举报
7.3 类型检查和类型转换 一、类型检查 类型检查是静态语义分析的重要工作之一,但为方便起见,我们把类型检查的工作也放在中间代码生成时进行。 类型检查主要有以下几种: ⑴ 各种条件表达式的类型是否是布尔类型? ⑵ 运算符的运算分量是否相容? ⑶ 赋值语句的左、右部类型是否相容? ⑷ 实参与形参的类型是否相容? ⑸ 下标表达式的类型是否为所允许的类型? ⑹ 函数说明中的函数类型与返回值的类型是否一致? 类型检查的语法单位 二、类型转换 由于一些语言允许运算分量的类型不同,所以在检查运算符分量类型是否相容的同时,可能还需要对某一运算分量做类型转换。 7.4 中间代码生成中的几个问题 如果符号表一直保存到目标代码生成阶段,则在四元式中标识符的地址可用其在符号表中的地址表示。 如果符号表不保存到目标代码生成阶段,则需要把目标代码生成阶段对名字进行地址分配所需要的相关信息放到中间代码中,这些信息包括标识符抽象地址(层数、偏移)以及直接 ? 间接访问等信息,具体地说这些信息应放在四元式中的操作分量或运算结果的地址表示中。 关于临时变量的地址表示: 临时变量没有层数概念,因此对临时变量的层数可以取任意一个负数,如取-1; 在中间代码生成阶段尽管产生大量的临时变量,但经过优化后,只有少部分临时变量能保留下来,这样在中间代码生成阶段还不能确定临时变量的Offset值,因此临时变量的地址表示中的Offset暂时取临时变量的编号。 本教材中我们采用了在中间代码生成时进行类型检查的方法,而不是在目标代码生成时进行类型检查,所以在中间代码的地址表示中不必包含类型信息。 尽管在实际的四元式中间代码中各运算分量或运算结果都应该是地址表示,但为了简便起见,本章在生成的四元式中间代码中,我们只写变量名或临时变量名,而不是用地址形式。 表达式的四元式中间代码 运算分量类型只考虑整型和实型的情况. 表达式涉及的操作码: 加法(ADDI, ADDF) 减法(SUBI, SUBF) 乘法(MULTI, MULTF) 除法(DIVI, DIVF) 类型转换(FLOAT) * * C语言:return语句 ⑹ 函数说明中的函数类型与返回值的类型是否一致? 下标变量 A[i][j] ⑸ 下标表达式的类型是否为所允许的类型? 过程调用语句、函数调用语句 ⑷ 实参与形参的类型是否相容? 赋值语句 ⑶ 赋值语句的左、右部类型是否相容? 表达式 ⑵ 运算符的运算分量是否相容? C语言:if语句,while语句,do-while语句,for语句。 ⑴ 各种条件表达式的类型是否是布尔类型? 类型检查的语法单位 类型相容性检查项目 do 语句; while(表达式); while(表达式) 语句; for ( [表达式 1]; [表达式 2 ]; [表达式3] )语句; *
您可能关注的文档
- 化工原理第01章01-HJ.ppt
- 化工原理第01章02-HJ.ppt
- 化工原理第2章 流体机械输送.pdf
- 化工原理第2章 流体机械输送2.pdf
- 化工原理第08章-1.pdf
- 化工原理第08章-2.pdf
- 化工原理第08章-3.pdf
- 化工原理第08章-4.pdf
- 化工原理第09章-1.pdf
- 化工原理第09章-2.pdf
- 《GB/T 46933.1-2025智能工厂安全一体化 第1部分:一般要求》.pdf
- 《GB/T 6495.9-2025光伏器件 第9部分:太阳模拟器特性分级》.pdf
- 《GB/T 6495.10-2025光伏器件 第10部分:线性相关性和线性特性测量方法》.pdf
- GB/T 46933.1-2025智能工厂安全一体化 第1部分:一般要求.pdf
- GB/T 6495.9-2025光伏器件 第9部分:太阳模拟器特性分级.pdf
- 中国国家标准 GB/T 46985.3-2025光伏发电系统用功率转换设备安全性 第3部分:与光伏部件连接的电子器件特定要求.pdf
- GB/T 46985.3-2025光伏发电系统用功率转换设备安全性 第3部分:与光伏部件连接的电子器件特定要求.pdf
- 《GB/T 46985.3-2025光伏发电系统用功率转换设备安全性 第3部分:与光伏部件连接的电子器件特定要求》.pdf
- 中国国家标准 GB/T 6495.10-2025光伏器件 第10部分:线性相关性和线性特性测量方法.pdf
- 中国国家标准 GB/T 6495.9-2025光伏器件 第9部分:太阳模拟器特性分级.pdf
最近下载
- 琼脂糖微球的制备和活化条件研究.doc VIP
- BILIBILI2026年轻人消费趋势报告.pdf
- 上海市虹口区2025-2026学年八年级(上)期末化学试卷(含答案).pdf VIP
- 从《 镜花缘》 看李汝珍的女性观.pdf VIP
- 第六单元正比例和反比例 六年级下册数学高频考点重难点讲义(苏教版) (2).docx VIP
- 2025年度事业单位公开招聘考试(C类)《综合应用能力》新版真题卷(附解析.docx VIP
- 上海市浦东新区几校2025-2026学年八年级上学期1月期末物理试题(原卷版+解析版).docx VIP
- 2025年度事业单位公开招聘考试(C类)《综合应用能力》新版真题卷(附解析).pdf VIP
- 建筑工程资料管理课标教案.docx
- 2025年国际胰腺病学会急性胰腺炎修订指南解读.pptx VIP
原创力文档

文档评论(0)