1、下列关于语法树的描述中,错误的是()。
A.语法树的根结由开始符号所标记
B.一棵语法树表示了一个句型所有的不同推导过程
C.一棵语法树是不同推导过程的共性抽象,是它们的代表
D.一个句型不是只有唯一的一棵语法树
本题答案:
B
2、Σ={0,1}上的正规式(0|1)*表示()。
A.0开头的串
B.1开头的串
C.有一个0和一个1的串
D.由0、1组成的任意串
本题答案:
D
3、一个结点相应的文法符号属性值是由该结点兄弟结点和/或父节点的相应的文法符号的属性值来计算,按这种情况计算的属性值叫做()。
A.综合属性
B.继承属性
C.自然属性
D.赋值属性
本题答案:
B
4、下列说法中错误的是()。
A.当一遍中包含若干阶段时,各阶段的工作是穿插进行的
B.遍数越多越好
C.遍数越多,输入/输出所消耗的时间越多
D.并非每种语言都可以用单遍编译来实现
本题答案:
B
5、()是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
本题答案:
B
6、编译程序中语法分析器接收以()为单位的输入。
A.单词
B.表达式
C.产生式
D.句子
本题答案:
A
7、文法G的一棵语法树叶结点的自左至右排列是G的一个()。
A.句子
B.句型
C.句柄
D.素短语
本题答案:
B
8、高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。
A.自左至右
B.自上而下
C.自下而上
D.自右向左
本题答案:
B
9、如果r、s是正规式,则下面()不一定是正规式。
A.rs
B.r|s
C.r*
D.r+s
本题答案:
A
10、在自下而上的语法分析方法中,分析的关键是()。
A.寻找句柄
B.寻找句型
C.消除递归
D.选择候选式
本题答案:
D
11、Pascal的if语句满足()。
A.最远匹配原则
B.动态作用域规则
C.静态作用域规则
D.最近匹配原则
本题答案:
D
12、由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成()。
A.过程
B.程序
C.批量
D.遍
本题答案:
D
13、()是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
本题答案:
A
14、在编译的各阶段中,和目标机器关系最为密切的是()。
A.词法分析
B.语法分析
C.语义分析
D.目标代码生成
本题答案:
D
15、下述方法中,()不是自下而上分析方法。
A.规范归约
B.算符优先分析法
C.递归下降分析法
D.LR分析法
本题答案:
C
16、通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括()。
A.模拟执行器
B.解释器
C.表格处理和出错处理
D.符号执行器
本题答案:
C
17、编译程序必须完成的工作有()。 (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)
本题答案:
A
18、在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是()。
A.非终结符集
B.终结符集
C.字母集
D.状态集
本题答案:
B
19、最适合动态建立数据实体的内存分配方式是()
A.栈式分配
B.堆式分配
C.编译时预先分配
D.以上三种均可
本题答案:
B
20、把一个高级语言程序翻译成机器可执行的目标程序的工作由下列程序之一完成()。
A.汇编程序
B.解释程序
C.编译程序
D.预处理程序
本题答案:
C
21、若一个文法是递归的,则它所产生的句子个数()。
A.必定是无穷的
B.是有限个的
C.根据具体情况而定
D.不确定
本题答案:
C
22、编译程序诸阶段的工作往往是()。
A.顺序
B.并行
C.成批
D.穿插
本题答案:
D
23、有限自动机()个接受状态。
A.只能有一个
B.只能有两个
C.只能有三个
D.可以有0个、一个或多个
本题答案:
D
24、下面关于解释程序的描述正确的是()。 (1)解释程序的特点是处理程序时不产生目标代码(2)解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的
A.(1)(2)
B.(1)
C.(1)(2)(3)
D.(2)(3)
本题答案:
B
25、语义分析与中间代码产生所依循的是()。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.有限自动机
本题答案:
C
26、常见的初等数据类型包括()。
A.数值数据
B.逻辑数据
C.字符数据
D.指针数据
27、一个上下文无关文法G包括四个组成部分()。
A.终结符号
B.非终结符号
C.开始符号
D.一组产生式
28、编译器中常用的文法分析有()。
A.自上而下分析算法
B.自下而上分析算法
C.Earley算法
D.Cocke-Younger-Kassimi算法
29、在如下上下文无关文法G中:stmt-sequence→stmt;stmt-sequence|stmtstmt→s哪些是终结符号?()
A.stmt-sequence
B.stmt
C.s
D.;
30、常用的中间代码表示形式有()。
A.三元式
B.四元式
C.间接三元式
D.逆波兰记号
31、我们可以概括地认为中间代码是编译器使用的源代码的任何一个内部表示。()
A.错误
B.正确
32、编译器通常包括许多代码改进或优化步骤。()
A.错误
B.正确
33、算符优先分析法采用“移近-归约”技术,其归约过程是规范的。()
A.错误
B.正确
34、解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码。()
A.错误
B.正确
35、中间代码生成时所依据的是等价变换规则。()
A.错误
B.正确
36、正规式描述的每种结构都可以用上下文无关文法来描述。()
A.错误
B.正确
37、符号表管理和出错管理是编译过程中的两项重要工作。()
A.错误
B.正确
38、如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。()
A.错误
B.正确
39、对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。()
A.错误
B.正确
40、解释程序是在翻译完成之后生成目标代码,然后执行目标代码。()
A.错误
B.正确