编译原理20春在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.在使用高级语言编程时,首先可通过编译程序发现源程序中的全部什么错误()。
A.语法
B.语义
C.语用
D.运行
2.当一文法具有左递归的非终结符号A,且A出现在某产生式右部时其左侧有符号B,则在B和A之间的简单优先关系是什么关系()。
A.等于
B.低于
C.等于和低于
D.没有
3.设有文法G[E]:E→E+E∣E*E∣(E)∣i,文法G[E]属于什么文法()。
A.算符优先文法
B.简单优先文法
C.正则文法
D.二义性文法
4.在自底向上的语法分析方法中,分析的关键是什么()。
A.寻找句柄
B.寻找句型
C.消除递归
D.选择候选式
5.设有文法G[E]:E→E+T|T,T→T*F|F,F→(E)|i,则终结符*和+之间的算符优先关系是什么()。
A.大于
B.小于
C.等于
D.无关系
6.我们把右部仅含一个非终结符号的产生式,称为什么产生式()。
A.无用
B.有用
C.奇
D.单
7.在一个规范句型中,位于句柄右边的符号(如果有的话)必然是什么()。
A.非终结符号
B.终结符号
C.开始符号
D.空符号串
8.文法G:S→xSx|y所识别的语言是()。
A.xy*x
B.(xyx)*
C.xx*yxx*
D.x*yx*
9.一个句型中的句柄指的是最左什么()。
A.短语
B.直接短语
C.素短语
D.终结符号
10.一个状态转换图是由一组矢线连接的有限个结点所组成的什么()。
A.有向图
B.无向图
C.无回路有向图
D.强连通的有向图
11.DFA中定义了一个从K×Σ到K的单值映射f,指明若当前的状态为P,而输入字符为a时,则下一个状态是Q,f记为什么()。
A.f(P,Q)=a
B.f(P,a)=Q
C.f(Q,a)=P
D.f(a,P)=Q
12.当某变量出现在赋值号左侧时,代表的是什么()。
A.为其分配的单元地址
B.该单元内存放的具体内容
C.该变量的语义信息
D.该变量的序号
13.构造LR(0)分析表时,若哪个项目属于I,则对文法的任何终结符号或句子的右界符#(将它们统一地记为a),置ACTION[I,a]=r ()。
A.归约项目A→α?
B.待约项目A→α?Xβ
C.移进项目A→α?aβ
D.接受项目S′→S?
14.句型是由什么推导出的符号串()。
A.非终结符
B.终结符
C.任何符号
D.开始符号
15.设有文法G[S]:S→Ac|b,A→cAS|bS,则文法G不满足LL(1)文法的哪个条件()。
A.第一个
B.第二个
C.第三个
D.所有
16.在PASCAL语言中的FOR循环语句的代码结构中,需使用几个无条件转向四元式()。
A.0个
B.1个
C.2个
D.3个
17.对于含有冲突的项目集I,在构造分析表时,如果能根据不同的什么符号a,将I中各项目所对应的分析动作加以区分,那么就有可能使冲突得到解决()。
A.输入
B.栈顶
C.向前
D.栈底
18.基本块的性质中包含哪一条()。
A.只有一个入口语句和一个出口语句
B.有一个入口语句和多个出口语句
C.有多个入口语句和一个出口语句
D.有多个入口语句和多个出口语句
19.LR(K)方法是什么样的方法()。
A.从左到右分析,每次走K步的一种编译方法
B.从左到右分析,共经过K步的一种编译方法
C.从左到右分析,每次向前预测K步的一种编译方法
D.从左到右分析,每次向前看K个输人符号的一种语法分析方法。
20.自底向上分析时,若分析成功,则分析栈中只剩下什么()。
A.界符#及开始符号S
B.开始符号S
C.界符#号
D.当前的输入符号
二、判断题 (共 20 道试题,共 40 分)
21.语法制导翻译模式既可用于自顶向下的语法分析,也可用于自底向上的分析。
22.1型文法常用来描述一个程序设计语言的单词结构。
23.对任何一个编译程序来说,产生中间代码是不可缺少的。
24.逆波兰表示只能用于表示表达式,不能用于表示其它的语法结构。
25.若G是已化简的文法,则G中的每一符号X至少在一个句子中出现。
26.一个仅能处理绝对正确源程序的编译程序才具有实用价值。
27.已经证明文法的二义性是可判定的。
28.若一个文法G含有既是左递归亦是右递归的非终结符号,则G必定是无二义性文法。
29.存在这样的前后文无关语言,用来定义该语言的一切文法都是二义性的。
30.若给定文法G,则是否存在一个k使得G是一个LR(k)文法的问题是不可判定的。
31.用分层法消除多重优先关系时,由于改写文法引入一些单产生式,将增加文法的复杂性和降低语法分析的效率。
32.每个句子都有规范推导。
33.语法树中各结点只能以终结符号来标记。
34.汇编程序不是一种翻译程序。
35.一个NFA对符号串的识别是一个试探的过程。不过,这种不确定性给识别过程带来的反复,不会影响到FA的工作效率。
36.有限自动机和正规式不能作为设计扫描器的工具。
37.移进-归约分析过程中可能采取的动作不外四种,即移进、归约、接受和报错。
38.每个文法都能改写为LL(1)文法。
39.词法分析程序无法自动生成,只能用手工的方式构造。
40.一个二义性文法所描述的语言不是唯一的。