第七章语法制导翻译和中间代码生成 ·7.1语义处理概述 ·7.2属性文法和语法制导翻译 7.3中间代码生成(一些语句的翻译) ·74符号表
第七章语法制导翻译和中间代码生成 • 7.1语义处理概述 • 7.2属性文法和语法制导翻译 • 7.3 中间代码生成(一些语句的翻译) • 7.4符号表
7.1语义处理(语义分析和中间代码生成) 在编译中的逻辑阶段 源语言程序 词法分析 前端处理 语法分析 语义分析 语义处理 中间代码生成 中间代码 后端处理 代码生成 汇编代码
源语言程序 中间代码 汇编代码 词法分析 语义分析 语法分析 中间代码生成 代码生成 在编译中的逻辑阶段 前 端 处 理 后 端 处 理 语 义 处 理 7.1 语义处理(语义分析和中间代码生成)
语义处理 源语言程序 词法分析 前端处理 语法分析 语义分析 语义处理 后端处理 代码生成 汇编代码
源语言程序 汇编代码 词法分析 语义分析 语法分析 代码生成 前 端 处 理 后 端 处 理 语 义 处 理 语义处理
语义处理 语义处理的任务 ·静态语义检查 静态语义:语法规则的良形式条件 静态语义检查:审查静态语义 动态语义处理 ·动态语义:程序单元执行的操作 ·动态语义处理:生成(中间目标)代码
语义处理 语义处理的任务: • 静态语义检查 • 静态语义:语法规则的良形式条件 • 静态语义检查:审查静态语义 • 动态语义处理 • 动态语义:程序单元执行的操作 • 动态语义处理:生成(中间/目标)代码
语义处理 语义处理的实现 ·属性文法:描述语义规则。 语法制导鄱译:在语法分析的同时,执行 语义规则描述的动作 检查静态语义 生成中间代码眉标代码
语义处理 语义处理的实现: • 属性文法:描述语义规则。 • 语法制导翻译:在语法分析的同时,执行 语义规则描述的动作: • 检查静态语义 • 生成中间代码/目标代码