编译原理 第十章复习题 优化

该博客为编译原理第十章复习题,包含单选题和判断题。单选题涉及局部优化范围、基本归纳变量作用等内容;判断题围绕优化原则、代码优化方法等展开,并给出了各题的正确答案,有助于巩固编译原理相关知识。

第十章复习题

单选

  1. 局部优化是在(B)范围内进行的优化?
    A 过程体
    B 基本块
    C 函数体
    D 循环体

  2. 有关基本归纳变量的作用,错误的是(D)。
    A 自身定值
    B 计算其它同族归纳变量
    C 控制循环
    D 记录循环的结果

  3. 在循环内可以实行的优化有(D)。
    A 代码外提
    B 删除归纳变量
    C 强度削弱
    D 以上都有

  4. 利用DAG进行局部优化,不能实现(C)。
    A 删除公共子表达式
    B 删除无用赋值
    C 代码外提
    D 合并已知量

  5. 对于基本快内Out集合由In集合计算出来,而对于基本块之间,In集合由前驱基本块的Out集合计算出来。这样的数据流问题属于(A)。
    A 向前流问题
    B 向后流问题
    C 任意路径问题
    D 全路径问题

判断

  1. 优化应该不计一切代价追求高效的程序。错误

  2. 对于所有相同的表达式,仅保留一个,删除其余,称作删除公共子表达式。错误

  3. 只要在循环中不会发生变化的运算,都是可以进行代码外提的。错误

  4. 合并已知量是将编译时可以计算出的值计算出来,不必等到运行时再计算。正确

  5. 强度削弱是指把程序中执行时间较长的运算替换为执行时间较短的运算。正确

  6. 删除公共子表达式是一种局部优化,仅在基本块内可采用此方法。错误

  7. DAG是有向无环图,利用DAG可实现局部优化。正确

  8. 分析表达式的可用性,可用来进行全局公共子表达式的优化。正确

  9. 一个变量若在某基本块出口处是活跃的,则其在该基本块入口处也必定是活跃的。错误

  10. 交换语句顺序并没有减少语句的数量,所以不是一种优化方法。错误

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值