本编译原理.docx
《本编译原理.docx》由会员分享,可在线阅读,更多相关《本编译原理.docx(56页珍藏版)》请在冰豆网上搜索。
本编译原理
(一)单选题
1.编译前端主要由与源语言有关但与目标机无关的那些部分组成。
这些部分通常包括词法分析、语法分析、语义分析与中间代码产生。
编译后端包括编译程序中与目标机有关的那些部分,如与目标机有关的和目标代码生成生成等。
()
(A)代码优化(B)静态语义检查(C)一致性检查(D)类型检查
参考答案:
(A)
没有详解信息!
2.文法是G[S]:
S→ABA→aAc|DD→bD|bB→aBb|aabb使其语言为()。
(A)L(G)={albmclanbn|l>=1,m>=1,n>=2}
(B)L(G)={albmclanbn|l>=0,m>=1,n>=2}
(C)L(G)={albmclanbn|l>=0,m>=1,n>=1}
(D)L(G)={albmclanbn|l>=1,m>=1,n>=2}
参考答案:
(B)
没有详解信息!
3.已知文法G[S]S→S*aF|aF|*aFF→+aF|+a消除文法左递归和提公共左因子后的文法为()。
(A)S→aFS’|*aFS’S’→*aFS’|εF→+aF’F’→F|ε
(B)S→aFS’|*aFS’S’→εF→+aF’F’→F|ε
(C)S→aFS’S’→*aFS’|εF→+aF’F’→F|ε
(D)S→aFS’|*aFS’S’→*aFS’|εF→+aF’F’→|ε
参考答案:
(A)
没有详解信息!
4.语言的语法结构是用()描述的。
(A)上下文无关文法(B)上下文有关文法(C)0型文法(D)1型文法
参考答案:
(A)
没有详解信息!
5.()又称为规范推导。
(A)最左推导(B)最上推导(C)最右推导(D)最下推导
参考答案:
(C)
没有详解信息!
6.高级语言程序的执行有编译方式和()。
(A)交互方式(B)解释方式(C)终端方式(D)命令方式
参考答案:
(B)
没有详解信息!
7.在Σ={a,b}上不以a开头,以aa结尾的字符串集合的正规表达式是()。
(A)b*aa
(B)b(a|b)*aa
(C)baa*
(D)(b|a)*aa
参考答案:
(B)
没有详解信息!
8.语法分析器的输入是单词符号,其输出是()。
(A)单词符号串(B)语法单位(C)语句序列(D)句子
参考答案:
(B)
没有详解信息!
9.语法分析器的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的结构是否符合()。
(A)词法规则(B)语义规则(C)符号规则(D)语法规则
参考答案:
(D)
没有详解信息!
10.一字母表Σ={a,b},Σ上所有以a为首的字组成的正规集相对应的正规式是()。
(A)a*(a|b)(B)a(a|b)*(C)a(a|b)+(D)a*(a|b)*
参考答案:
(B)
没有详解信息!
11.语法分析是依据语言的语法规则进行。
中间代码产生是依据语言的()规则进行的。
(A)语句(B)符号(C)语义(D)词法
参考答案:
(C)
没有详解信息!
12.状态转换图是一张有限方向图。
在状态转换图中,有一个初态,()一个终态。
(A)没有
(B)只有
(C)至少
(D)至多
参考答案:
(C)
没有详解信息!
13.规范归约也称为()。
(A)最左归约(B)最上归约(C)最右归约(D)最下归约
参考答案:
(A)
没有详解信息!
14.编译过程可分为词法分析、语法分析、()、代码优化和目标代码生成五个阶段。
(A)中间代码生成(B)静态语义检查(C)一致性检查(D)类型检查
参考答案:
(A)
没有详解信息!
15.b(ab)*正规表达式()(ba)*b正规表达式。
(A)等价
(B)不等价
(C)大于
(D)小于
参考答案:
(A)
没有详解信息!
16.对于文法G[S]S→(L)S→aSS→aL→L,SL→S句子(a,(a,a))的最左推导是()。
(A)S=>(L)=>(L,S)=>(L,(L))=>(L,(L,S))=>(L,(L,a))=>(L,(S,a))=>(L,(a,a))=>(S,(a,a))=>(a,(a,a))
(B)S=>(L)=>(L,S)=>(a,S)=>(a,(L))=>(a,(L,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
(C)S=>(L)=>(L,S)=>(S,S)=>(a,S)=>=>(a,(L,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
(D)S=>(L)=>(L,S)=>(S,S)=>(a,S)=>(a,(L))=>(a,(L,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
参考答案:
(D)
没有详解信息!
17.扫描器的任务是从源程序中识别出一个个()。
(A)句子(B)语法单位(C)语句序列(D)单词符号
参考答案:
(D)
没有详解信息!
18.令Σ={a,b},则正规式a*b|b*a表示的正规集是()。
(A){ab,ba,aab,bba……}
(B){ab,ba,abb,baa……}
(C){aa,bb,aabb,bbaa……}
(D){a,b,ab,ba,aab,bba……}
参考答案:
(D)
没有详解信息!
19.编译预处理主要工作是()。
(A)删除无用代码
(B)删除无用赋值
(C)消除语法错误
(D)滤掉空格,跳过注释、换行符等
参考答案:
(D)
没有详解信息!
20.一个文法G别是LL
(1)文法的充要条件是当且仅当对于G的每一个非终结符A的任何两个不同产生式A→α?
β,下面的条件成立()。
(A)FIRST(α)∩FIRST(β)=Ф
(B)如果β=*>ε,FIRST(α)∩FOLLOW(A)=Ф
(C)FIRST(α)∩FIRST(β)=Ф和如果β=*>ε,FIRST(α)∩FOLLOW(A)=Ф
(D)FIRST(α)∩FIRST(β)=Ф和如果β=*>ε,FIRST(β)∩FOLLOW(A)=Ф
参考答案:
(C)
没有详解信息!
(二)多选题
1.对于文法G[S]S→aPS’|*aPS’S’→*aPS’|εP→+aP’P’→P|εFIRST(S)中包含的符号有()。
(A)+'
(B)a'
(C)ε'
(D)*'
参考答案:
(BD)
没有详解信息!
2.编译程序可分为()。
(A)诊断编译程序(B)优化编译程序(C)交叉编译程序(D)可变目标编译程序
参考答案:
(ABCD)
没有详解信息!
3.考虑文法G[S]S→(L)|aL→L,S|S消除左递归后的文法为G’[S]包含的产生式为()。
(A)S→(L)|a
(B)L→SL'
(C)L'→SL'|e
(D)L'→,SL'|e
参考答案:
(ABD)
没有详解信息!
4.一个上下文无关文法G包括()。
(A)一组终结符集(B)一个开始符(C)一组非终结符集(D)一组产生式
参考答案:
(ABCD)
没有详解信息!
5.下面的文法()定义的语言都是{0n1n|n≥1}
(A)S→0S1|01
(B)A→01R|A→01,R→A
(C)S→01S|01
(D)A→0R|A→01,R→A1
参考答案:
(AD)
没有详解信息!
6.语法分析方法可分为()。
(A)自左向右分析法(B)自右向左分析法(C)自上而下分析法(D)自下而上分析法
参考答案:
(CD)
没有详解信息!
7.编译前端主要由与源语言有关但与目标机无关的那些部分组成,这些部分通常包括()。
(A)词法分析(B)语法分析(C)语义分析(D)中间代码产生
参考答案:
(ABCD)
没有详解信息!
8.编译预处理主要做的工作是()。
(A)删除无用代码(B)滤掉空格(C)删除无用赋值(D)跳过注释、换行符
参考答案:
(BD)
没有详解信息!
9.高级语言可分为()。
(A)强制式的高级语言(B)应用式的高级语言(C)基于规则的高级语言(D)自面向对象的高级语言
参考答案:
(ABCD)
没有详解信息!
10.对于文法G[S]S→aPS’|*aPS’S’→*aPS’|εP→+aP’P’→P|εFOLLOW(P’)中包含的符号有。
(A)*'
(B)a'
(C)='
(D)+'
参考答案:
(AC)
没有详解信息!
11.编译后端包括编译程序中与目标机有关的那些部分,如与目标机有关的()生成等。
(A)语法分析(B)中间代码产生(C)代码优化(D)目标代码生成
参考答案:
(CD)
没有详解信息!
12.在Σ={a,b}上不以a开头,以aa结尾的字符串集合的正规表达式是()。
(A)(a|b)*baa
(B)b(a)*aa
(C)b(a|b)*aa
(D)b(b)*aa
参考答案:
(D)
没有详解信息!
13.单词符号分为()。
(A)基本字(B)标识符号(C)常数(D)算符和界符
参考答案:
(ABCD)
没有详解信息!
14.用高级语言构造编译程序的方法有()。
(A)编译方式(B)移植(C)自编译(D)自动构造工具
参考答案:
(BCD)
没有详解信息!
15.语言L(G)={ban|n≥1}可由下面()文法产生。
(A)S→bA,A→aA|a
(B)S→bA,A→Aa|a
(C)S→bA,A→aAa|a
(D)S→bA,A→|aA|ε
参考答案:
(AB)
没有详解信息!
16.要在某一台机器上为某种语言构造一个编译程序,必需掌握内容()。
(A)源程序(B)命令方式(C)编译方法(D)目标程序
参考答案:
(ACD)
没有详解信息!
17.对自上而下分析方法论述正确的是()。
(A)不允许文法含有任何左递归
(B)允许文法含有任何左递归
(C)允许文法含有任何右递归
(D)不允许文法含有任何右递归
参考答案:
(AC)
没有详解信息!
18.一字母表Σ={a,b}上的正规集{b,bab,babab,bababab,…}对应的正规是()。
(A)b(ab)*
(B)(ba)+b
(C)b(ab)+
(D)(ba)*b
参考答案:
(AD)
没有详解信息!
19.为构造不带回溯的自上而下分析算法,必须对文法()。
(A)消除右递归
(B)消除左递归
(C)提取公共右因子
(D)提取公共左因子
参考答案:
(BD)
没有详解信息!
20.高级语言程序的执行有()方式。
(A)编译方式(B)命令方式(C)交互方式(D)解释方式
参考答案:
(AD)
没有详解信息!
(三)判断题
1.文法的二义性和语言的二义性是同一个概念。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
2.3型文法一定是2型文法。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
3.一张状态转换图只包含有限个状态,其中有一个初态,最多只有一个终态。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
4.编译过程中,语法分析器的任务是分析单词是怎样构成的。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
5.上下文无关文法比正规文法具有更强的描述能力。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
6.二义性问题可判定的。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
7.语法分析器的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的结构是否符合语法规则。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
8.语言的语法结构是用上下文无关文法的描述的。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
9.并不是每个文法都能改写成LL
(1)文法。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
10.一个句型一定句子。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
11.一个程序语言是一个记号系统,包括语法和语义两个方面定义。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
12.自上而下分析方法不允许文法含有任何左递归。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
13.2法一定是3型文法。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
14.正规文法产生的语言都可以用上下文无关文法来描述。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
15.正规式b(ab)*与正规式(ba)*b等价。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
16.一个LL
(1)文法一定是无二义的。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
17.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。
()
(A)对(B)错
参考答案:
(A)
没有详解信息!
18.经证明文法的二义性是可判定的。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
19.下文无关文法的开始符,可以是终结符或非终结符。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
20.递归下降分析法是一种自下而上分析法。
()
(A)对(B)错
参考答案:
(B)
没有详解信息!
(一)单选题
1.在语法树中,一个结点的继承属性由此结点的父结点和/或兄弟结点的某些属性确定称为()。
(A)继承属性(B)一致属性(C)原子属性(D)综合属性
参考答案:
(A)
没有详解信息!
2.已知文法G[S]:
E→E+T|T T→T*F|F F→(E)|i句型(E+T)*i+F的短语是。
(A)i,E+T,(E+T),(E+T)*i,(E+T)*i+F
(B)i,F,E+T,(E+T),(E+T)*i,(E+T)*i+F
(C)i,F,E+T,(E+T),(E+T)*i+F
(D)i,F,E+T,(E+T),(E+T)*i
参考答案:
(B)
没有详解信息!
3.a:
=(b+c)*e+(b+c)/f的逆波兰式是()。
(A)abc*e+bc+f/+:
=(B)abc+e*bc+f/+:
=(C)abc+e*b+c+f/:
=(D)abc+eb*c+f/+:
=
参考答案:
(B)
没有详解信息!
4.素短语是指这样一个短语,()含有一个终结符,并且,除它自身外不再含任何更小的素短语。
(A)至多(B)只(C)至少(D)不
参考答案:
(C)
没有详解信息!
5.S-属性文法只含有()属性。
(A)继承(B)综合(C)原子(D)一致
参考答案:
(B)
没有详解信息!
6.设文法G[S]:
S→(T)|aT→T+S|SLASTVT(T)=()。
(A){a,)}
(B){+,)}
(C){+,a,}
(D){+,a,)}
参考答案:
(D)
没有详解信息!
7.已知文法G[S]:
E→E+T|T T→T*F|F F→(E)|i句型(E+T)*i+F的最左素短语是()。
(A)(E+T)(B)E+T(C)(E+T)*i(D)(E+T)*i
参考答案:
(B)
没有详解信息!
8.规范归约使用进行()归约。
(A)句柄
(B)最左素短语
(C)最右素短语
(D)素短语
参考答案:
(A)
没有详解信息!
9.已知文法G[S]:
S→bAbA→(B|aB→Aa)写出句型b(Aa)b的句柄是()。
(A)b
(B)Aa
(C)Aa)
(D)a
参考答案:
(C)
没有详解信息!
10.表达式(a+b)*(c+d)后缀式为()。
(A)abcd++*(B)abcd*++(C)ab*cd++(D)ab+cd+*
参考答案:
(D)
没有详解信息!
11.移进-归约过程是自顶向下()的逆过程。
(A)最左推导(B)最上推导(C)最右推导(D)最下推导
参考答案:
(C)
没有详解信息!
12.在形式语言中,()常被称为规范推导。
(A)最上推导
(B)最左推导
(C)最下推导
(D)最右推导
参考答案:
(D)
没有详解信息!
13.规范归约也称为()。
(A)最上归约
(B)最左归约
(C)最下归约
(D)最右归约
参考答案:
(B)
没有详解信息!
14.设文法G[S]:
S→(T)|aT→T+S|SFIRSTVT(T)=()。
(A){+,a,(}
(B){+,a,}
(C){+,(}
(D){a,(}
参考答案:
(A)
没有详解信息!
15.已知文法G[S]及相应翻译方案S→aAb{print“1”}S→a{print“2”}A→AS{print“3”}A→c{print“4”}输入acab,输出是()。
(A)4231(B)3214(C)1234(D)3421
参考答案:
(A)
没有详解信息!
16.自下而上分析的中心问题是()。
(A)判断栈中符号可约性,以及如何归约
(B)判断栈底符号可约性,以及如何归约
(C)判断栈顶符号可约性,以及如何归约
(D)判断栈外符号可约性,以及如何归约
参考答案:
(C)
没有详解信息!
17.在语法树中,一个结点的综合属性的值由其子结点的属性值确定称为()。
(A)继承属性(B)一致属性(C)原子属性(D)综合属性
参考答案:
(D)
没有详解信息!
18.紧接词法分析和语法分析之后,编译程序要做的工作就是进行()和翻译。
(A)语法检查(B)一致性检查(C)类型检查(D)静态语义检查
参考答案:
(D)
没有详解信息!
19.属性文法的属性分为()两类。
(A)综合属性和继承属性(B)一致属性和继承属性(C)原子属性和继承属性(D)综合属性和传递属性
参考答案:
(A)
没有详解信息!
20.对于文法的每个产生式都配备了一组属性的计算规则,称为()。
(A)语法规则(B)传递规则(C)语义规则(D)继承规则
参考答案:
(C)
没有详解信息!
(二)多选题
1.常见的中间语言形式有()。
(A)后缀式(B)四元式(C)三元式(D)间接三元式
参考答案:
(ABCD)
没有详解信息!
2.设文法G[S]:
S→T|S∨TT→U|T∧UU→i|-UFIRSTVT(S)包含的符合有()。
(A)∨'
(B)i'
(C)∧'
(D)-'
参考答案:
(ABCD)
没有详解信息!
3.在整个编译期间,对于符号表的操作有()。
(A)查询名字
(B)往表中填入一个新的名字
(C)访问给定名字信息
(D)对给定名字,填写或更新信息
参考答案:
(ABCD)
没有详解信息!
4.符号表中的内容是有()。
(A)名字的类型
(B)名字的种属
(C)名字所占单元大小
(D)名字的地址
参考答案:
(ABCD)
没有详解信息!
5.设文法G[S]:
S→(T)|aT→T+S|SFIRSTVT(T)中的符号有()。
(A)+'
(B))'