19-第五章有看点,语义分析语义分析讲解
第五章 语义分析 任课教师 王养廷 主要内容 类型的等价性和相容性 类型分析 声明的语义分析 1 类型相容和等价 类型 在程序设计语言中,所有的变量都有类型 类型相容 在变量参与运算时,各个分量类型是相容的 类型等价 按名等价:要求有相同的类型名 按类型等价:两个变量有相同的类型结构 1 类型相容和等价(续) 结构等价举例 var a:array[1..10] of integer; b:array[1..10] of integer; 相同写法 type tp1= array[1..10] of integer; tp2= array[1..10] of integer; 结构等价:var a:tp1; b:tp2; 名等价: var a,b:tp1; 1 类型相容和等价(续) 二者区别 按名等价:比较简单,常用 按结构等价:编译复杂,少用 类型定义的作用 计算存储空间大小 检查类型的相容性 其它语义检查 类型相容与等价 等价是相容的特例 程序设计语言中使用相容的概念 1 类型相容和等价(续) 类型相容的主要表现 运算分量类型相容 赋值语句左右类型的相容性 值参与形参的相容性 2 类型分析 前面内容 标识符的内部表示 类型的内部表示 类型分析 类型出现的位置 类型定义中=号后边的位置 变量定义中:号后边的位置 形参中:号后边的位置 函数声明中:号后边的位置 类型识别 2 类型分析 举例 Porgram demo(input, output); Type TStudent = record sname:char; sid:integer; end; TStudents = array[1..30] of TSTudent; Var s: TStudent; students : TStudents; Function Compare(i, j :integer):boolean; …… 2 类型分析(续) 类型处理函数TypeProcess 主要功能 完成一个类型的处理 根据类型的不同分别处理 2 类型分析(续) 实现过程 void TypeProcess(Ptr){ switch(token.class){ case ID: NameTYPE(Ptr);break; case ENUM: EnumTYPE(Ptr);break; case ARRAY: ArrayTYPE(Ptr);break; case RECORD: RecordTYPE(Ptr);break; case UNION: UnionTYPE(Ptr);break; case POINTER: PointerTYPE(Ptr);break; default: Error(); } } 2 类型分析(续) 执行过程分析 Porgram demo(input, output); Type TStudent = record sname:char; sid:integer; end; TStudents = array[1..30] of TStudent; Var s: TStudent; students : TStudents; Function Compare(i, j :integer):boolean; …… 2 类型分析(续) 类型处理函数NameType 主要功能 识别一个命名类型 举例 Var s: TStudent; students : TStudents; 2 类型分析(续) 实现过程 void NameTYPE(Ptr){ FindEntry(token.seman, total, entry, present); if(present == false) error; if((entry-kind)!= typekind) error; Ptr = entry-id_type; } 2 类型分析(续) 举例 var s: TStudent; students : TStudents; 执行过程分析 2 类型分析(续) 类型处理函数SubRangeType 主要功能 识别一个子界类型 实现过程 自己想象实现过程是什么样的??? 执行过程分析 举例 Type tp=‘a’..’z’; var x:1..10; 2 类型分析(续) 类型处理函数EnumType 主要功能 识别一个枚举类型 举例
您可能关注的文档
最近下载
- 分点进水多级AO污水处理工艺设计计算探讨.pdf VIP
- 高中物理必修二圆周运动习题精选.doc VIP
- (必会)军队文职(中医学)近年考试真题题库资料汇总(含答案).pdf VIP
- 2025年安徽分类考试对口升学语文真题试卷 .pdf VIP
- (必会)军队文职(公共科目)近年考试真题题库资料汇总(含答案).pdf VIP
- 专题01-语言文字运用【真题汇编】(2021-2025)五年高考真题语文分类汇编-含答案解析.pdf VIP
- 分段进水多级 AO 工艺的特点与问题.pdf VIP
- 沉淀+多级 AO+混凝沉淀废水处理工艺.docx VIP
- 2025年新版对口高考试卷及答案安徽.doc VIP
- 不同回流比对多级AO工艺污染物去除的影响.docx VIP
原创力文档

文档评论(0)