编译原理 第十一章代码生成 http://sei.nudt.edu.cn/cp 网上教学系统:070606302:编译原理
编译原理 第十一章 代码生成 http://sei.nudt.edu.cn/cp 网上教学系统: 070606302: 编译原理
源程序 表 词法分析器 出 单词符号 语法分析器 格 语法单位 错 中间代码生成器 管 四元式 处 优化段 理 四元式 理 目标代码生成器 目标代码 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 词法分析器 语法分析器 中间代码生成器 优化段 源程序 单词符号 语法单位 四元式 表 格 管 理 出 错 处 理 目标代码生成器 四元式 目标代码
代码生成是把语法分析后或优化后的中间 代码变换成目标代码。 ■目标代码一般有以下三种形式: 口能够立即执行的机器语言代码,所有地址已经 定位; 口待装配的机器语言模块。执行时,由连接装配 程序把它们和某些运行程序连接起来,转换成 能执行的机器语言代码; 口 汇编语言代码。尚须经过汇编程序汇编,转换 成可执行的机器语言代码。 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 ◼ 代码生成是把语法分析后或优化后的中间 代码变换成目标代码。 ◼ 目标代码一般有以下三种形式: 能够立即执行的机器语言代码,所有地址已经 定位; 待装配的机器语言模块。执行时,由连接装配 程序把它们和某些运行程序连接起来,转换成 能执行的机器语言代码; 汇编语言代码。尚须经过汇编程序汇编,转换 成可执行的机器语言代码
■代码生成着重考虑的问题: 口如何使生成的目标代码较短; 口如何充分利用计算机的寄存器,减少目标代 码中访问存贮单元的次数。 口如何充分利用计算机的指令系统的特点。 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 ◼ 代码生成着重考虑的问题: 如何使生成的目标代码较短; 如何充分利用计算机的寄存器,减少目标代 码中访问存贮单元的次数。 如何充分利用计算机的指令系统的特点
11.1基本问题 ■代码生成器的输入 口代码生成器的输入包括源程序的中间表示,以 及符号表中的信息 口类型检查 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 11.1 基本问题 ◼ 代码生成器的输入 代码生成器的输入包括源程序的中间表示,以 及符号表中的信息 类型检查