编译原理2023年秋学期在线作业2
共40道题 总分: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*东师答案请进:opzy.net或请联系微信:1095258436
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分)
1.语法制导翻译模式既可用于自顶向下的语法分析,也可用于自底向上的分析。
A、错误
B、正确
2.1型文法常用来描述一个程序设计语言的单词结构。
A、错误
B、正确
3.对任何一个编译程序来说,产生中间代码是不可缺少的。
A、错误
B、正确
4.逆波兰表示只能用于表示表达式,不能用于表示其它的语法结构。
A、错误
B、正确
5.若G是已化简的文法,则G中的每一符号X至少在一个句子中出现。
A、错误
B、正确
6.一个仅能处理绝对正确源程序的编译程序才具有实用价值。
A、错误
B、正确
7.已经证明文法的二义性是可判定的。
A、错误
B、正确
8.若一个文法G含有既是左递归亦是右递归的非终结符号,则G必定是无二义性文法。
A、错误
B、正确
9.存在这样的前后文无关语言,用来定义该语言的一切文法都是二义性的。
A、错误
B、正确
10.若给定文法G,则是否存在一个k使得G是一个LR(k)文法的问题是不可判定的。
A、错误
B、正确
11.用分层法消除多重优先关系时,由于改写文法引入一些单产生式,将增加文法的复杂性和降低语法分析的效率。
A、错误
B、正确
12.每个句子都有规范推导。
A、错误
B、正确
13.语法树中各结点只能以终结符号来标记。
A、错误
B、正确
14.汇编程序不是一种翻译程序。
A、错误
B、正确
15.一个NFA对符号串的识别是一个试探的过程。不过,这种不确定性给识别过程带来的反复,不会影响到FA的工作效率。
A、错误
B、正确
16.有限自动机和正规式不能作为设计扫描器的工具。
A、错误
B、正确
17.移进-归约分析过程中可能采取的动作不外四种,即移进、归约、接受和报错。
A、错误
B、正确
18.每个文法都能改写为LL(1)文法。
A、错误
B、正确
19.词法分析程序无法自动生成,只能用手工的方式构造。
A、错误
B、正确
20.一个二义性文法所描述的语言不是唯一的。
A、错误
B、正确
编译原理2022年秋学期在线作业2
共40道题 总分:100分
一、单选题(共20题,60分)
1.正则式的“·”读作什么()。
A、并且
B、或者
C、连接
D、闭包
2.巴科斯-诺尔范式(即BNF)是一种广泛采用的(什么样的工具()。
A、描述规则
B、描述语言
C、描述文法
D、描述句子
3.设有文法G[S]:S→aAc|b,A→cAS|ε,则文法G是哪一类文法()。
A、LL(1)文法
B、非LL(1)文法
C、二义性文法
D、无法判断
4.如果一个产生式的左部或右部含有无用符号,则此产生式称为()产生式。
A、非法
B、多余
C、非确定
D、无用
5.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
6.规范推导的每一步总是用产生式右边符号串替换句型中什么位置的非终结符号()。
A、最左
B、最右
C、最中
D、任意
7.自底向上分析时,若分析成功,则分析栈中只剩下什么()。
A、界符#及开始符号S
B、开始符号S
C、界符#号
D、当前的输入符号
8.设G是一右线性文法,并设G中的非终结符号的个数为k,则所要构造的状态转换图共有几个结点()。
A、k-1
B、k
C、k+1
D、k+2
9.设有文法G[S]:S→11S|00S|0C|1C|ε,C→1S|0S|00C|11C,下列符号串中哪个是该文法的句子()。
A、00011
B、01011
C、001101
D、0110
10.假设某程序语言的文法如下:S→a|b|(T),T→TdS|S,考察该文法的句型(Sd(T)db),其中:素短语是哪个()。
A、S
B、b
C、(T)
D、Sd(T)
11.LL(1)分析表可用一个二维数组表示,它的每一行与文法的一个什么符号相关联()。
A、非终结符号
B、终结符号
C、界符#号
D、开始符号
12.对一个什么文法G构造相应的优先矩阵,若此矩阵中无多重定义的元素,则可确认G为一算符优先文法()。
A、LL(1)
B、LR(1)
C、简单优先
D、算符
13.文法G的一棵语法树叶结点的自左至右排列是G的一个什么()。
A、短语
B、句型
C、句柄
D、素短语
14.代码优化的主要目标是什么()。
A、如何提高目标程序的运行速度
B、如何减少目标程序运行所需的空间
C、如何协调A和B
D、如何使生成的目标代码尽可能简短。
15.生成中间代码时所依据的是什么()。
A、语法规则
B、词法规则
C、语义规则
D、等价变换规则
16.有下列文法:S→Pa|Pb|c,P→Pd|Se|f,该文法是哪一类文法()。
A、LL(1)文法
B、SLR(1)文法
C、A和B
D、都不是
17.所谓NFA的确定化,是指对任给的NFA,都能相应地构造一DFA,使它们有相同的什么()。
A、状态集
B、符号集
C、接受集
D、结点集
18.设有文法G[S]:S→Ac,A→Sb|a,则利用文法G进行自顶向下的语法分析时会怎样()。
A、不会出现回溯
B、会出现回溯
C、不会出现死循环
D、会出现死循环
19.产生式是用于定义什么的一种书写规则()。
A、语法范畴
B、推导
C、句柄
D、短语
20.通常把构成各个单词的字符串称为该单词的什么()。
A、编码
B、类别
C、词文
D、内部表示
二、判断题(共20题,40分)
1.编译程序的特点是先将高级语言程序翻译成机器语言程序,即先翻译、后执行。
A、错误
B、正确
2.若在一个右线性文法中含有多个右部相同的产生式,则由该文法构造的状态转换图一定是NFA。
A、错误
B、正确
3.对任何正规表达式e,都存在一个NFA M,满足L(M)=L(e)。
A、错误
B、正确
4.对一个布尔表达式而言,它必须至少有一个真出口,但可以没有假出口。
A、错误
B、正确
5.循环的入口结点是循环中每一结点的必经结点。
A、错误
B、正确
6.一个BASIC解释程序和编译程序的不同在于,解释程序由语法制导翻译成目标代码并立即执行之,而编译程序需产生中间代码及优化。
A、错误
B、正确
7.程序中的任何控制转移四元式(条件转移、无条件转移、停机等)都是某基本块的出口。
A、错误
B、正确
8.解释程序与编译程序的主要区别是在解释程序的执行过程中不产生目标程序。
A、错误
B、正确
9.若给定文法G和某个固定的k,则G是否是LR(k)文法是可判定的。
A、错误
B、正确
10.逆波兰表示法表示表达式时,运算对象按实际计算顺序从左到右排列。
A、错误
B、正确
11.布尔表达式有两个基本的作用:一是在某些控制语句中作为实现控制转移的条件;二是用于计算逻辑值本身。
A、错误
B、正确
12.在流程图中的一组结点构成一个循环时,可以有若干个入口结点,但出口结点必须是惟一的。
A、错误
B、正确
13.LR法是自顶向下语法分析方法。
A、错误
B、正确
14.构造句型的语法树时,要从树的根结点出发,逐步向下构造,而不能从句型出发向上构造。
A、错误
B、正确
15.字母表A的自反传递闭包就是A上所有符号串所组成的集合。
A、错误
B、正确
16.空符号串ε与任何符号串x的连接还是x本身。
A、错误
B、正确
17.在一个控制结点树中,一个结点n的全部子孙就组成了这个结点的必经结点集D(n)。
A、错误
B、正确
18.每个文法都能改写为LL(1)文法。
A、错误
B、正确
19.若文法中含有形如A→A的产生式,可使含有非终结符号A的同一句型具有不同的语法树,从而引起二义性。
A、错误
B、正确
20.存在既不是左句型也不是右句型的句型。
A、错误
B、正确
编译原理2022年秋学期在线作业2
共40道题 总分: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分)
1.语法制导翻译模式既可用于自顶向下的语法分析,也可用于自底向上的分析。
A、错误
B、正确
2.1型文法常用来描述一个程序设计语言的单词结构。
A、错误
B、正确
3.对任何一个编译程序来说,产生中间代码是不可缺少的。
A、错误
B、正确
4.逆波兰表示只能用于表示表达式,不能用于表示其它的语法结构。
A、错误
B、正确
5.若G是已化简的文法,则G中的每一符号X至少在一个句子中出现。
A、错误
B、正确
6.一个仅能处理绝对正确源程序的编译程序才具有实用价值。
A、错误
B、正确
7.已经证明文法的二义性是可判定的。
A、错误
B、正确
8.若一个文法G含有既是左递归亦是右递归的非终结符号,则G必定是无二义性文法。
A、错误
B、正确
9.存在这样的前后文无关语言,用来定义该语言的一切文法都是二义性的。
A、错误
B、正确
10.若给定文法G,则是否存在一个k使得G是一个LR(k)文法的问题是不可判定的。
A、错误
B、正确
11.用分层法消除多重优先关系时,由于改写文法引入一些单产生式,将增加文法的复杂性和降低语法分析的效率。
A、错误
B、正确
12.每个句子都有规范推导。
A、错误
B、正确
13.语法树中各结点只能以终结符号来标记。
A、错误
B、正确
14.汇编程序不是一种翻译程序。
A、错误
B、正确
15.一个NFA对符号串的识别是一个试探的过程。不过,这种不确定性给识别过程带来的反复,不会影响到FA的工作效率。
A、错误
B、正确
16.有限自动机和正规式不能作为设计扫描器的工具。
A、错误
B、正确
17.移进-归约分析过程中可能采取的动作不外四种,即移进、归约、接受和报错。
A、错误
B、正确
18.每个文法都能改写为LL(1)文法。
A、错误
B、正确
19.词法分析程序无法自动生成,只能用手工的方式构造。
A、错误
B、正确
20.一个二义性文法所描述的语言不是唯一的。
A、错误
B、正确