第六章语义分析与目标代码生成 6.1概况 62说明部分的翻译 63目标代码的生成 64源程序的内部中间表示
6.1 概况 6.2 说明部分的翻译 6.3 目标代码的生成 6.4 源程序的内部中间表示 第六章 语义分析与目标代码生成
第六章语义分析与目标代码生成 6.1概况 6.1.1语义分析的概念 1.程序的含义 2.语义分析的功能
6.1 概况 6.1.1 语义分析的概念 1. 程序的含义 2. 语义分析的功能 第六章 语义分析与目标代码生成
第六章语义分析与目标代码生成 6.1概况 6.1.1语义分析的概念 1.程序的含义 程序的含义涉及两方面,即数据结构的 2语义分析的功能含义与控制结构的含义。 数据结构的含义,主要指与标识符相关联 的数据对象,也即量的含义。量涉及类 型与值,值在运行时刻确定,而类型则 由程序中的说明部分来规定 控制结构的含义,是由语言定义的 f(〈表达式〉)〈语句〉else〈语句〉
6.1 概况 6.1.1 语义分析的概念 1. 程序的含义 2. 语义分析的功能 第六章 语义分析与目标代码生成 程序的含义涉及两方面,即数据结构的 含义与控制结构的含义。 数据结构的含义, 主要指与标识符相关联 的数据对象,也即量的含义。量涉及类 型与值,值在运行时刻确定,而类型则 由程序中的说明部分来规定。 控制结构的含义, 是由语言定义的。 if(〈表达式〉) 〈语句〉 else 〈语句〉
6.1概况 6.1.1语义分析的概念 1.语义分析的含义 2.语义分析的功能 1)确定类型:确定标识符所关联数据对象的数据类型。 2)类型检査:按照语言的类型规则,检查运算的合法性与运算分量类 型的一致性(相容性)。 3)识别含义:根据程序设计语言的语义定义(形式或非形式的),确认 程序中各构造成分组合到一起的含义,并作相应的语义处理。对可执行 语句生成中间代码或目标代码 4)其他一些静态语义检查:语义分析时可进行一些静态语义检查, 例如控制流检查
6.1 概况 6.1.1 语义分析的概念 1. 语义分析的含义 2. 语义分析的功能 1)确定类型:确定标识符所关联数据对象的数据类型。 2)类型检查:按照语言的类型规则,检查运算的合法性与运算分量类 型的一致性(相容性)。 3)识别含义:根据程序设计语言的语义定义(形式或非形式的),确认 程序中各构造成分组合到一起的含义,并作相应的语义处理。对可执行 语句生成中间代码或目标代码。 4)其他一些静态语义检查:语义分析时可进行一些静态语义检查, 例如控制流检查
第六章语义分析与目标代码生成 6.1概况 6.1.1语义分析的概念 6.1.2属性文法 属性文法的引进 语法制导定义 三、翻译方案
6.1 概况 6.1.1 语义分析的概念 6.1.2 属性文法 一、属性文法的引进 二、语法制导定义 三、翻译方案 第六章 语义分析与目标代码生成