16-第五章语义分析讲解
第五章 语义分析 任课教师 王养廷 主要内容 语义分析 标识符内部表示 类型的内部表示 1 语义分析 语义 程序表达的含义 分类 静态语义:编译阶段检查的语义 动态语义:运行阶段检查的语义 例子:C++的动态绑定 再例:数组与指针的空间分配 常见的语义错误 类型相容 变量 1 语义分析 语义分析功能 ($id,idAddr)=($id, entry) 标识符检查 表达式检查 2 程序结构 程序结构 程序首部 声明部分 语句部分 举例 2 程序结构(续) program pl0(input,output); const norw = 11; {no. of reserved words} type symset = set of symbol; var ch: char; {last character read} procedure error(n: integer); begin writeln( ****, : cc-1, ^,n: 2); err := err+1 end {error}; begin {main program} for ch := chr(0) to chr(255) do ssym[ch] := nul; getsym; end. 3 标识符内部表示 标识符的语义 常量名 类型名 变量名 函数名 过程名 域名 3 标识符内部表示(续) 标识符种类声明 TYPE idKind=(consKind, typeKind, varKind, fieldKind, procKind, funcKind) 内部表示 标识符内部表示没有统一结构 与编译器设计有关 下面给出一种结构 3 标识符内部表示(续) 常量标识符 TypePtr Kind Value TypePtr:指向类型的内部表示 consKind:表示相应标识符是常量标识符 Value:常量值 3 标识符内部表示(续) 类型标识符 TypePtr Kind Forward TypePtr:指向类型的内部表示 typeKind:表示相应标识符是类型标识符 Forward:是否是向前引用的标识符 3 标识符内部表示(续) 变量标识符 TypePtr Kind Access Level Off 说明: Access=(dir, indir),直接或间接访问 indir:间接变量,dir直接变量 Level:变量所在层数 Off:偏移量 3 标识符内部表示(续) 域名标识符 TypePtr Kind Off HostType 说明: TypePtr:域名类型的内部表示 Off:记录内的偏移量 HostType:记录类型的内部表示 3 标识符内部表示(续) 过程标识符 TypePtr Kind Level Parm Class Cod Size Forward 说明: TypePtr:函数或过程(void)类型 routKind:过程或函数类型 Level:过程或函数的层数 Parm:表示值参信息表 Class(actual, formal) Code:目标代码地址 Size:函数大小空间 Forward:前向引用 2 标识符内部表示(续) 举例 Const pai=3.14; Type vector= array[1..10] of integer; Var x,y:real; r,s:vector; 标识符表示如下: pai: vector: x: y: r: s: 4 类型的内部表示 类型信息 静态语义的重要内容 Pacsal类型的文法定义 4 类型的内部表示 举例 integer、real、char、boolean array[1..10] of real record name:char; age:integer; end (monday, tuesday,wednesday,thursday,friday) ‘A’..’Z’ ^real file of real 4 类型的内部表示 基本数据类型内部表示 4 类型的内部表示 子界类型(subRange) Size Kind HostType Low Up HostType:子界类型的宿主类型 Low和Up:表示子界的上下界 例子:1..10 表示: (1,subTy, intPtr, 1,10) 4 类型的内部表示 枚举(e
您可能关注的文档
最近下载
- 来院人员工资核定表.doc VIP
- 2025年换电模式下的电动汽车充电设施布局与运营优化研究报告.docx VIP
- 2025年充电与换电:新能源汽车换电模式与充电设施协同发展研究报告.docx VIP
- 2025年新疆维吾尔自治区高考政治真题含解析.docx VIP
- 混合能源微电网经济调度方法研究.docx VIP
- 中国人民大学助教岗位申请表.doc
- 重卡汽车换电基础设施项目规划设计方案.pptx VIP
- 微网经济调度问题的混合整数规划方法.pdf VIP
- 2025年换电模式下的电动汽车充电设施运营与管理研究报告.docx VIP
- 2025年新能源汽车换电模式供应链协同效率分析报告.docx VIP
原创力文档

文档评论(0)