编译原理
文章平均质量分 71
黄昏贩卖机
这个作者很懒,什么都没留下…
展开
-
编译原理 第十一章 目标代码生成
目标代码生成目标代码生成11.1 基本问题11.2 目标机器模型11.3 一个简单的代码生成器11.3.1 待用信息目标代码生成以中间代码为输入,产生等价的目标程序为输出;目标代码三种形式:能立即执行的机器语言代码,地址已定位待装配的机器语言模块汇编语言代码着重考虑的问题:如何使生成的目标代码较短如何充分利用寄存器,减少目标代码访问存储单元的次数11.1 基本问题代码生成器的输入;中间语言: 三地址码符号表目标程序: 汇编语言指令选择寄存器分配计算顺序的选择1原创 2022-05-30 22:10:05 · 3005 阅读 · 1 评论 -
编译原理 第十章 代码优化
第十章 代码优化优化:指对程序进行等价变换,使得从变换后的程序出发,能生成更有效的目标代码。前端优化:在目标代码生成以前,对语法分析后的目标代码进行优化后端优化:在生成目标代码时进行优化,依赖于具体的计算机指令系统10.1 概述优化原则:等价原则:经过优化的代码不应改变程序运行的结果有效原则: 有效原则:使优化后所产生的目标代码运行时间较短,占用的存储空间较小合算原则:应尽可能以较低的代价取得较好的优化效果10.2局部优化10.2.1 基本块和流图基本块:指程序中一段顺序执原创 2022-05-30 09:42:01 · 884 阅读 · 0 评论 -
编译原理-7-语义分析和中间代码生成
第七章 语义分析和中间代码生成静态语义检查包括:许多编译程序采用中间语言,而不是直接翻译成目标语言,好处:7.1 中间语言7.1.1 后缀式先将运算级别最低的运算符提出来往后放7.1.27.1.3三地址码: x = y op z四元式: (op, arg1,arg2, result)三元式: 为避免把临时变量填入到符号表,可以通过计算这个临时变量的语句位置来引用这个临时变量,这样只需要三个域(𝑜𝑝, 𝑎𝑟𝑔1, 𝑎𝑟𝑔2)间接三元式: 为了便于代码优化处理,有时不直原创 2022-05-10 09:18:32 · 617 阅读 · 0 评论