20春《编译原理》作业4
试卷总分:100 得分:100
一、判断题 (共 18 道试题,共 90 分)
1.同心集的合并有可能产生“归约/归约”冲突。( )
2.语法分析时必须先消除文法中的左递归。( )
3.一个确定有穷自动机有且只有一个终态。( )
4.代码外提是把产生的结果独立于循环执行次数的表达式,放到循环的前面。
5.预测分析方法是自底向上分析的一种方法。
6.可以将编译程序的几个不同阶段组织成为一遍,也可以把一个阶段分成若干遍完成。
7.当一个过程调用其他过程时,调用过程和被调用过程之间的通信经由局部量或者经由参数传递。
8.所谓基本块是指程序中一个顺序执行的语句序列,其中只有一个入口语句和一个出口语句。
9.逆波兰法表示的表达式把运算对象放在运算符的后面。( )
10.PL/0编译程序的语法分析采用了自顶向下的递归子程序法。
11.有两类重要的局部等价可用于基本块,它们是保结构的变换和代数变换。
12.自底而上语法分析方法的主要问题是候选式的选择。( )
13.一个有限状态自动机中,有且仅有一个唯一的终态。( )
14.递归下降法允许任一非终极符是直接左递归的。( )
15.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。 ( )
16.递归下降分析法是自顶向下分析方法。( )
17.正则文法其产生式为 A->a , A->Bb, A,B∈VN , a 、 b∈VT 。( )
18.静态数组的存储空间可以在编译时确定。( )
二、多选题 (共 2 道试题,共 10 分)
19.数据空间的使用和管理方法分成( )。
A.静态存储分配
B.栈式动态存储分配
C.局部存储分配
D.堆式动态存储分配
20.循环优化的重要技术有( )。
A.强度削弱
B.局部优化
C.删除归纳变量
D.代码外提