第一范文网 - 专业文章范例文档资料分享平台

编译原理复习提纲整理 - 图文

来源:用户分享 时间:2025/6/8 10:01:41 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

三:划分四元式程序为基本快的方法:(这里看起来比较抽象,大家跟着看后面的例题就会

理解)

对求出的每个入口语句,确定其所属的基本块。它是由

A一个入口语句到下一入口语句(不包括该入口语句)之间的语句序列 B一个入口语句到一转移语句(包括该转移语句)之间的语句序列 C 一个入口语句到一停语句(包括该停语句)之间的语句序列组成的

四:流图的画法:(这里看起来也比较抽象,大家跟着看后面的例题就会理解)

每个流图以基本块为结点。如果一个结点的基本块的入口语句是程序的第一条语句,则称此结点为首结点。如果在某个执行顺序中,有B1和B2 两个基本块,如果存在以下两种情况中的任意一种

1.有一个条件或无条件转移语句从B1的最后一条语句转移到B2的第一条语句; 2.在程序的序列中,B2紧接在B1的后面,并且B1的最后一条语句不是一个无条件转移语句。

我们就说B1是B2的前驱,B2是B1的后继,并从B1画一条有向边到B2 五:给出实际的例题(这是复习PPT上的例题) 给出程序的四元式表达形式,画出基本块和流图 (1) read C (2) A:=0 (3) B:=1 (4) A:=A+B (5) If B>=C goto (8) (6) B:=B+1 (7) goto (4) (8) write A (9) halt 解:

第一步是找出入口语句:(1)为程序的第一句; (4)为(7)的GOTO得来; (6)为(5)

的后一句;(8)为(5)的GOTO得来

第二步画基本块:(画基本块的方法是用方框把语句框起来,这里不好画,我没有框) (1)(2)(3)为一基本块(对应三种A的方法) (4)(5)为一基本块(对应B) (6)

(7)为一基本块(对应B) (8)(9)为一基本块(对应C) 第三步画流图:

3. 局部优化的方法

DAG是对基本块进行优化的有效工具 利用DAG可以实现局部优化 (1)合并已知量 (2)删除多余运算 (3)删除无用赋值

4. 不变运算的代码外提的条件

不变运算所在的结点是循环L所有出口结点的必经结点.

对于循环不变运算A:=B op C,只有A在循环中其他地方未再定值,才能把A:=B op C外提; 循环中所有A的引用点只有S中的A的定值才能到达。

5. 循环优化中的强度削弱的含义

把程序中执行时间较长的运算转换为执行时间较短的运算。 强度消弱主要是对与归纳变量有线性关系的变量赋值进行; 经过强度消弱后,循环中可能出现一些新的无用赋值; 对于消弱下标变量地址计算的强度非常有效

七、目标代码生成

? 目标代码一般有以下三种形式:

? 能够立即执行的机器语言代码。所有地址已经定位;

? 待装配的机器语言模块。执行时,由连接装配程序把它们和某些运行程序连接

起来,转换成能执行的机器语言代码;

? 汇编语言代码。尚须经过汇编程序汇编,转换成可执行的机器语言代码。

搜索更多关于: 编译原理复习提纲整理 - 图文 的文档
编译原理复习提纲整理 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1ec3d7ipkj9pugm7qnnb9acj39qpyw00ekb_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top