北语19春《编译原理》作业2[答案]答案
18春《编译原理》作业2-0001
试卷总分:100 得分:0
一、 单选题 (共 6 道试题,共 24 分)
1.编译过程中 , 语法分析器的任务就是_____。 (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构
A.(2)(3)
B.(2)(3)(4)
C.(1)(2)(3)
D.(1)(2)(3)(4)
2.编译程序是将高级语言程序翻译成( )。
A.高级语言程序
B.机器语言程序
C.汇编语言程序
D.汇编语言或机器语言程序
3.一个文法所描述的语言是_____。
A.唯一的
B.不唯一的
C.可能唯一,好可能不唯一
D.都不对
4.编译程序绝大多数时间花在_____上。
A.出错处理
B.词法分析
C.目标代码生成
D.管理表格
5.将编译程序分成若干个“遍”是为了_____。
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
6.中间代码生成时所依据的是_____。
A.语法规则
B.词法规则
C.语义规则
D.等价变换规则
北语19春《编译原理》作业2[答案]多选题
二、 多选题 (共 4 道试题,共 16 分)
1.编译中的语义处理是指( )两个功能。
A.审查每个语法结构的静态语义
B.生成程序的一种中间表示形式(中间代码),或者生成实际的目标代码
C.分析栈
D.向前搜索符集合
2.一个LR(1) 项目可以看成( )两个部分组成。
A.心
B.向前搜索符集合
C.分析表
D.分析函数
3.四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是( )。
A.算法op
B.第一运算对象ARG1
C.第二运算对象ARG2
D.运算结果RESULT
4.数据空间的使用和管理方法分成( )。
A.静态存储分配
B.栈式动态存储分配
C.堆式动态存储分配
D.局部存储分配
三、 判断题 (共 15 道试题,共 60 分)
1.编译程序究竟分成几遍,参考的因素主要是源语言和机器(目标)的特征。
A.错误
B.正确
2.递归下降分析法是自顶向下分析方法。( )
A.错误
B.正确
3.有两类重要的局部等价可用于基本块,它们是保结构的变换和代数变换。
A.错误
B.正确
4.可以将编译程序的几个不同阶段组织成为一遍,也可以把一个阶段分成若干遍完成。
A.错误
B.正确
5.题目见图片
A.错误
B.正确
6.在编译中进行语法检查的目的是为了发现程序中所有错误。( )
A.错误
B.正确
7.若过程p第k次被调用,则p的DISPLAY表中就有k+1个元素。
A.错误
B.正确
8.数组元素的地址计算与数组的存储方式有关。( )
A.错误
B.正确
9.题目见图片
A.错误
B.正确
10.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。 ( )
A.错误
B.正确
11.静态数组的存储空间可以在编译时确定。( )
A.错误
B.正确
12.结构(记录)是由已知类型的数据组合起来的一种数据类型。
A.错误
B.正确
13.目标代码的优化是在目标代码生成以后进行的。
A.错误
B.正确
14.DFA可以通过多条路径识别一个符号串。( )
A.错误
B.正确
15.题目见图片
A.错误
B.正确
北语19春《编译原理》作业2[答案]历年真题如下: