16秋北交《编译原理》在线作业一.docx
《16秋北交《编译原理》在线作业一.docx》由会员分享,可在线阅读,更多相关《16秋北交《编译原理》在线作业一.docx(29页珍藏版)》请在冰豆网上搜索。
![16秋北交《编译原理》在线作业一.docx](https://file1.bdocx.com/fileroot1/2023-8/18/6c5acc15-f096-4673-bbe4-74b4a37d0883/6c5acc15-f096-4673-bbe4-74b4a37d08831.gif)
16秋北交《编译原理》在线作业一
北交《编译原理》在线作业一
一、单选题(共25道试题,共50分。
)
1.()是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
正确答案:
2.()是描述语言的语法结构的形式规则。
A.文法
B.语义
C.词法
D.语法
正确答案:
3.下述方法中,()不是自下而上分析方法。
A.规范归约
B.算符优先分析法
C.递归下降分析法
D.LR分析法
正确答案:
4.下列说法中错误的是()。
A.当一遍中包含若干阶段时,各阶段的工作是穿插进行的
B.遍数越多越好
C.遍数越多,输入/输出所消耗的时间越多
D.并非每种语言都可以用单遍编译来实现
正确答案:
5.编译程序中语法分析器接收以()为单位的输入。
A.单词
B.表达式
C.产生式
D.句子
正确答案:
6.如果r、s是正规式,则下面()不一定是正规式。
A.rs
B.r|s
C.r*
D.r+s
正确答案:
7.优化所依循的原则是()。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.程序的等价变换规则
正确答案:
8.在编译的各阶段中,和目标机器关系最为密切的是()。
A.词法分析
B.语法分析
C.语义分析
D.目标代码生成
正确答案:
9.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括()。
A.模拟执行器
B.解释器
C.表格处理和出错处理
D.符号执行器
正确答案:
10.赋值语句X:
:
=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是()。
A.Xab+cd-/-bc*a+-:
=
B.Xab+/cd--bc*a+--:
=
C.Xab+-cd-/abc*+-:
=
D.Xab+cd-/abc*+--:
=
正确答案:
11.文法E→(E)产生的语言是()。
A.空集
B.()
C.(E)
D.((((E))))
正确答案:
12.若一个文法是递归的,则它所产生的句子个数()。
A.必定是无穷的
B.是有限个的
C.根据具体情况而定
D.不确定
正确答案:
13.编译程序必须完成的工作有()。
(1)词法分析
(2)语法分析(3)语义分析(4)目标代码生成(5)中间代码生成(6)代码优化
A.
(1)
(2)(3)(4)
B.
(1)
(2)(3)(4)(5)
C.
(1)
(2)(3)(4)(5)(6)
D.
(1)
(2)(3)(4)(6)
正确答案:
14.在LR分析法中,分析栈中存放的状态是识别规范句型()的DFA状态。
A.句柄
B.前缀
C.活前缀
D.LR(0)项目
正确答案:
15.词法分析器的输出是()。
A.单词符号
B.二元式
C.三元式
D.四元式
正确答案:
16.类型转换时,整数到实数的转换称为()。
A.截断
B.舍入
C.拓展
D.收缩
正确答案:
17.编译程序诸阶段的工作往往是()。
A.顺序
B.并行
C.成批
D.穿插
正确答案:
18.()的任务是把中间代码(或经过优化处理之后)变换成特定机器上的低级语言代码。
A.词法分析
B.语法分析
C.优化
D.目标代码生成
正确答案:
19.文法G的一棵语法树叶结点的自左至右排列是G的一个()。
A.句子
B.句型
C.句柄
D.素短语
正确答案:
20.把一个高级语言程序翻译成机器可执行的目标程序的工作由下列程序之一完成()。
A.汇编程序
B.解释程序
C.编译程序
D.预处理程序
正确答案:
21.下面关于解释程序的描述正确的是()。
(1)解释程序的特点是处理程序时不产生目标代码
(2)解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的
A.
(1)
(2)
B.
(1)
C.
(1)
(2)(3)
D.
(2)(3)
正确答案:
22.语法分析器的输出是()。
A.源程序
B.单词符号
C.语法单位
D.中间代码
正确答案:
23.1型文法也称为()。
A.短语文法
B.上下文有关文法
C.右线性文法
D.左性性文法
正确答案:
24.下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是()。
A.等价原则
B.有效原则
C.最佳原则
D.合算原则
正确答案:
25.表达式(a+b)*(c+d)的后缀式表示为()。
A.a+b*c+d
B.+ab*+cd
C.ab+cd+*
D.无法表示
正确答案:
北交《编译原理》在线作业一
二、多选题(共5道试题,共20分。
)
1.面向对象语言的主要特征是()。
A.封装性
B.集成性
C.继承性
D.多态性
正确答案:
2.根据不同的用途和侧重,编译程序可分为()。
A.诊断编译程序
B.优化编译程序
C.交叉编译程序
D.可变目标编译程序
正确答案:
3.在编译时安排所有数据对象的存储单元的分配策略属于()。
A.静态分配策略
B.栈式分配策略
C.堆分配策略
D.动态分配策略
正确答案:
4.静态语义检查通常包括()。
A.类型检查
B.控制流检查
C.一致性检查
D.相关名字检查
正确答案:
5.常见的代码优化包括()。
A.常量合并
B.公共子表达式删除
C.复写传播
D.死代码删除
正确答案:
北交《编译原理》在线作业一
三、判断题(共10道试题,共30分。
)
1.优先关系表对应的优先函数,如果存在,一定唯一。
A.错误
B.正确
正确答案:
2.文法G的一个句子对应于多个推导,则G是二义的。
A.错误
B.正确
正确答案:
3.对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。
A.错误
B.正确
正确答案:
4.如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。
A.错误
B.正确
正确答案:
5.符号表管理和出错管理是编译过程中的两项重要工作。
A.错误
B.正确
正确答案:
6.我们可以概括地认为中间代码是编译器使用的源代码的任何一个内部表示。
A.错误
B.正确
正确答案:
7.语义分析的任务包括两方面,一个是静态语义检查,一个是动态语义的解释执行并生成中间代码。
A.错误
B.正确
正确答案:
8.逆波兰法表示的表达式亦称前缀式。
A.错误
B.正确
正确答案:
9.文法的二义性和语言的二义性是两个不同的概念。
A.错误
B.正确
正确答案:
10.文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号)。
A.错误
B.正确
正确答案:
北交《编译原理》在线作业一
一、单选题(共25道试题,共50分。
)
1.下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是()。
A.等价原则
B.有效原则
C.最佳原则
D.合算原则
正确答案:
2.在编译程序使用的表格中,最重要的是()。
A.数据表
B.信息表
C.变量表
D.符号表
正确答案:
3.描述一个语言的文法是()。
A.唯一的
B.不唯一的
C.可能唯一
D.可能不唯一
正确答案:
4.有限自动机可以有()个初始状态。
A.一个
B.两个
C.三个
D.多个
正确答案:
5.已知文法:
S→aAa|aBb|bAb|bBaA→xB→x,则()
A.LR
(1)文法
B.LALR
(1)文法
C.都不是
D.A和B
正确答案:
6.如果r、s是正规式,则下面()不一定是正规式。
A.rs
B.r|s
C.r*
D.r+s
正确答案:
7.2型文法也称为()。
A.短语文法
B.上下文无关文法
C.右线性文法
D.左性性文法
正确答案:
8.下面哪个文法具有二义性()。
A.A→AA|(A)|
B.E→E+T|T
C.E→(E)
D.E→a
正确答案:
9.下面关于解释程序的描述正确的是()。
(1)解释程序的特点是处理程序时不产生目标代码
(2)解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的
A.
(1)
(2)
B.
(1)
C.
(1)
(2)(3)
D.
(2)(3)
正确答案:
10.高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。
A.自左至右
B.自上而下
C.自下而上
D.自右向左
正确答案:
11.Σ={0,1}上的正规式(0|1)*表示()。
A.0开头的串
B.1开头的串
C.有一个0和一个1的串
D.由0、1组成的任意串
正确答案:
12.规范归约(最左归约-最右推导的逆过程)的关键问题是()。
A.确定符号表
B.寻找单词
C.寻找句柄
D.定位错误
正确答案:
13.下列关于语法树的描述中,错误的是()。
A.语法树的根结由开始符号所标记
B.一棵语法树表示了一个句型所有的不同推导过程
C.一棵语法树是不同推导过程的共性抽象,是它们的代表
D.一个句型不是只有唯一的一棵语法树
正确答案:
14.在编译程序使用的表格中,最重要的是()。
A.数据表
B.信息表
C.变量表
D.符号表
正确答案:
15.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括()。
A.模拟执行器
B.解释器
C.表格处理和出错处理
D.符号执行器
正确答案:
16.词法分析器的输出是()。
A.单词符号
B.二元式
C.三元式
D.四元式
正确答案:
17.文法E→(E)产生的语言是()。
A.空集
B.()
C.(E)
D.((((E))))
正确答案:
18.规范归约(最左归约-最右推导的逆过程)的关键问题是()。
A.确定符号表
B.寻找单词
C.寻找句柄
D.定位错误
正确答案:
19.语义分析与中间代码产生所依循的是()。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.有限自动机
正确答案:
20.赋值语句X:
:
=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是()。
A.Xab+cd-/-bc*a+-:
=
B.Xab+/cd--bc*a+--:
=
C.Xab+-cd-/abc*+-:
=
D.Xab+cd-/abc*+--:
=
正确答案:
21.LR
(1)文法都是()。
A.无二义性且无左递归
B.可能有二义性但无左递归
C.无二义性但可能是左递归
D.可以既有二义性又有左递归
正确答案:
22.有限自动机()个接受状态。
A.只能有一个
B.只能有两个
C.只能有三个
D.可以有0个、一个或多个
正确答案:
23.一个结点相应的文法符号属性值是由该结点兄弟结点和/或父节点的相应的文法符号的属性值来计算,按这种情况计算的属性值叫做()。
A.综合属性
B.继承属性
C.自然属性
D.赋值属性
正确答案:
24.()是描述语言的语法结构的形式规则。
A.文法
B.语义
C.词法
D.语法
正确答案:
25.文法G的一棵语法树叶结点的自左至右排列是G的一个()。
A.句子
B.句型
C.句柄
D.素短语
正确答案:
北交《编译原理》在线作业一
二、多选题(共5道试题,共20分。
)
1.在编译时安排所有数据对象的存储单元的分配策略属于()。
A.静态分配策略
B.栈式分配策略
C.堆分配策略
D.动态分配策略
正确答案:
2.静态语义检查通常包括()。
A.类型检查
B.控制流检查
C.一致性检查
D.相关名字检查
正确答案:
3.常见的初等数据类型包括()。
A.数值数据
B.逻辑数据
C.字符数据
D.指针数据
正确答案:
4.在如下上下文无关文法G中:
stmt-sequence→stmt;stmt-sequence|stmtstmt→s哪些是终结符号?
()
A.stmt-sequence
B.stmt
C.s
D.;
正确答案:
5.编译器中常用的文法分析有()。
A.自上而下分析算法
B.自下而上分析算法
C.Earley算法
D.Cocke-Younger-Kassimi算法
正确答案:
北交《编译原理》在线作业一
三、判断题(共10道试题,共30分。
)
1.逆波兰法表示的表达式亦称前缀式。
A.错误
B.正确
正确答案:
2.编译器通常包括许多代码改进或优化步骤。
A.错误
B.正确
正确答案:
3.每个文法的综合符合集和集成属性集的交应该为空。
A.错误
B.正确
正确答案:
4.如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。
A.错误
B.正确
正确答案:
5.算符优先关系表不一定存在对应的优先函数。
A.错误
B.正确
正确答案:
6.文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号)。
A.错误
B.正确
正确答案:
7.仅考虑一个基本块,不能确定一个赋值是否真是无用的。
A.错误
B.正确
正确答案:
8.有限自动机能够识别上下文无关语言。
A.错误
B.正确
正确答案:
9.正规式描述的每种结构都可以用上下文无关文法来描述。
A.错误
B.正确
正确答案:
10.我们可以概括地认为中间代码是编译器使用的源代码的任何一个内部表示。
A.错误
B.正确
正确答案:
北交《编译原理》在线作业一
一、单选题(共25道试题,共50分。
)
1.规范归约(最左归约-最右推导的逆过程)的关键问题是()。
A.确定符号表
B.寻找单词
C.寻找句柄
D.定位错误
正确答案:
2.在编译程序使用的表格中,最重要的是()。
A.数据表
B.信息表
C.变量表
D.符号表
正确答案:
3.下述方法中,()不是自下而上分析方法。
A.规范归约
B.算符优先分析法
C.递归下降分析法
D.LR分析法
正确答案:
4.()是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
正确答案:
5.最适合动态建立数据实体的内存分
A.栈式分配
B.堆式分配
C.编译时预先分配
D.以上三种均可
正确答案:
6.高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。
A.自左至右
B.自上而下
C.自下而上
D.自右向左
正确答案:
7.规范归约(最左归约-最右推导的逆过程)的关键问题是()。
A.确定符号表
B.寻找单词
C.寻找句柄
D.定位错误
正确答案:
8.编译程序中语法分析器接收以()为单位的输入。
A.单词
B.表达式
C.产生式
D.句子
正确答案:
9.如果r、s是正规式,则下面()不一定是正规式。
A.rs
B.r|s
C.r*
D.r+s
正确答案:
10.类型转换时,整数到实数的转换称为()。
A.截断
B.舍入
C.拓展
D.收缩
正确答案:
11.下列说法中错误的是()。
A.当一遍中包含若干阶段时,各阶段的工作是穿插进行的
B.遍数越多越好
C.遍数越多,输入/输出所消耗的时间越多
D.并非每种语言都可以用单遍编译来实现
正确答案:
12.最常用的中间代码形式是()
A.二元式
B.三元式
C.四元式
D.树型
正确答案:
13.下列选项中,不属于优化编译程序提供的对代码的各种变换必须遵循的原则的是()。
A.等价原则
B.有效原则
C.最佳原则
D.合算原则
正确答案:
14.编译程序诸阶段的工作往往是()。
A.顺序
B.并行
C.成批
D.穿插
正确答案:
15.1型文法也称为()。
A.短语文法
B.上下文有关文法
C.右线性文法
D.左性性文法
正确答案:
16.下面哪个文法是左递归的()。
A.E→E+T|T
B.T→F*T
C.E→(E)
D.E→a
正确答案:
17.优化所依循的原则是()。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.程序的等价变换规则
正确答案:
18.Σ={0,1}上的正规式(0|1)*表示()。
A.0开头的串
B.1开头的串
C.有一个0和一个1的串
D.由0、1组成的任意串
正确答案:
19.下列关于语法树的描述中,错误的是()。
A.语法树的根结由开始符号所标记
B.一棵语法树表示了一个句型所有的不同推导过程
C.一棵语法树是不同推导过程的共性抽象,是它们的代表
D.一个句型不是只有唯一的一棵语法树
正确答案:
20.描述一个语言的文法是()。
A.唯一的
B.不唯一的
C.可能唯一
D.可能不唯一
正确答案:
21.()是描述语言的语法结构的形式规则。
A.文法
B.语义
C.词法
D.语法
正确答案:
22.()是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
正确答案:
23.LR
(1)文法都是()。
A.无二义性且无左递归
B.可能有二义性但无左递归
C.无二义性但可能是左递归
D.可以既有二义性又有左递归
正确答案:
24.有限自动机()个接受状态。
A.只能有一个
B.只能有两个
C.只能有三个
D.可以有0个、一个或多个
正确答案:
25.2型文法也称为()。
A.短语文法
B.上下文无关文法
C.右线性文法
D.左性性文法
正确答案:
北交《编译原理》在线作业一
二、多选题(共5道试题,共20分。
)
1.面向对象语言的主要特征是()。
A.封装性
B.集成性
C.继承性
D.多态性
正确答案:
2.静态语义检查通常包括()。
A.类型检查
B.控制流检查
C.一致性检查
D.相关名字检查
正确答案:
3.一个上下文无关文法G包括四个组成部分()。
A.终结符号
B.非终结符号
C.开始符号
D.一组产生式
正确答案:
4.在编译时安排所有数据对象的存储单元的分配策略属于()。
A.静态分配策略
B.栈式分配策略
C.堆分配策略
D.动态分配策略
正确答案:
5.根据不同的用途和侧重,编译程序可分为()。
A.诊断编译程序
B.优化编译程序
C.交叉编译程序
D.可变目标编译程序
正确答案:
北交《编译原理》在线作业一
三、判断题(共10道试题,共30分。
)
1.算符优先分析法只能识别由算符优先文法描述的句子。
A.错误
B.正确
正确答案:
2.每个文法的综合符合集和集成属性集的交应该为空。
A.错误
B.正确
正确答案:
3.文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号)。
A.错误
B.正确
正确答案:
4.把汇编语言程序翻译成机器可执行的目标程序的工作是由编译器完成的。
A.错误
B.正确
正确答案:
5.文法的二义性和语言的二义性是两个不同的概念。
A.错误
B.正确
正确答案:
6.逆波兰法表示的表达式亦称前缀式。
A.错误
B.正确
正确答案:
7.算符优先关系表不一定存在对应的优先函数。
A.错误
B.正确
正确答案:
8.仅考虑一个基本块,不能确定一个赋值是否真是无用的。
A.错误
B.正确
正确答案:
9.解释程序与编译程序的不同指出在于:
它立即执行源程序而不是生成在翻译完成之后才执行的目标代码