第8章 语制导翻译和中间代码(4学时).ppt

第8章 语法制导翻译和中间代码生成 马子睿 概述 程序设计语言的语义 静态语义——是对程序约束的描述,这些约束无法通过抽象语法规则来妥善地描述,实质上就是语法规则的良形式条件,它可以分为类型规则和作用域/可见性规则两大类 动态语义——程序单位描述的计算 编译程序的语义处理工作 静态语义审查 解释执行动态语义(计算)生成代码... 语义处理 静态语义分析:审查语法结构的静态语义 确定标识符的数据类型 类型检查和转换:检查运算对象的数据类型是否合法,必要时进行类型转换 一致性检查:一个对象只能被声明一次 作用域检查 控制流检查:控制语句转到合法的地方继续执行 翻译(若静态语义分析正确后才翻译) 概述 语义形式化 语义建模 文法模型——属性文法 命令式或操作式模型——操作语义学 应用式模型——指称语义学 公理式模型——公理语义学 属性文法 表达式文法 E—T+T| T or T T—n | b E ? T1 + T2 { T1.type = int T2.type= T1.type E.type :=int} E ? T1 or T2 { T1.type = b

文档评论(0)

1亿VIP精品文档

相关文档