编译原理复习题给学生.docx

上传人:b****2 文档编号:2680576 上传时间:2023-05-04 格式:DOCX 页数:63 大小:506.53KB
下载 相关 举报
编译原理复习题给学生.docx_第1页
第1页 / 共63页
编译原理复习题给学生.docx_第2页
第2页 / 共63页
编译原理复习题给学生.docx_第3页
第3页 / 共63页
编译原理复习题给学生.docx_第4页
第4页 / 共63页
编译原理复习题给学生.docx_第5页
第5页 / 共63页
编译原理复习题给学生.docx_第6页
第6页 / 共63页
编译原理复习题给学生.docx_第7页
第7页 / 共63页
编译原理复习题给学生.docx_第8页
第8页 / 共63页
编译原理复习题给学生.docx_第9页
第9页 / 共63页
编译原理复习题给学生.docx_第10页
第10页 / 共63页
编译原理复习题给学生.docx_第11页
第11页 / 共63页
编译原理复习题给学生.docx_第12页
第12页 / 共63页
编译原理复习题给学生.docx_第13页
第13页 / 共63页
编译原理复习题给学生.docx_第14页
第14页 / 共63页
编译原理复习题给学生.docx_第15页
第15页 / 共63页
编译原理复习题给学生.docx_第16页
第16页 / 共63页
编译原理复习题给学生.docx_第17页
第17页 / 共63页
编译原理复习题给学生.docx_第18页
第18页 / 共63页
编译原理复习题给学生.docx_第19页
第19页 / 共63页
编译原理复习题给学生.docx_第20页
第20页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

编译原理复习题给学生.docx

《编译原理复习题给学生.docx》由会员分享,可在线阅读,更多相关《编译原理复习题给学生.docx(63页珍藏版)》请在冰点文库上搜索。

编译原理复习题给学生.docx

编译原理复习题给学生

一、单项选择题

1.构造编译程序应掌握。

D

a.源程序b.目标语言

c.编译方法d.以上三项都是

2.编译程序绝大多数时间花在上。

D

a.出错处理b.词法分析

c.目标代码生成d.表格管理

3.DFAM(见图1-1)接受的字集为。

D

a.以0开头的二进制数组成的集合

b.以0结尾的二进制数组成的集合

c.含奇数个0的二进制数组成的集合

d.含偶数个0的二进制数组成的集合

4.-a-(b*c/(c-d)+(-b)*a)的逆波兰表示是。

(@代表后缀式中的求负运算符)C

a.abc*cd-b@a*+/-@b.a@bc*cd-b@a*+/-

c.a@bc*cd-/b@a*+-d.a@bc*/cd-b@a*+-

5.在规范归约中,用来刻画可归约串。

B

a.直接短语b.句柄

c.最左素短语d.素短语

6.若B为非终结符,则A→α·Bβ为项目。

D

a.归约b.移进

c.接受d.待约

7.中间代码生成时所依据的是。

C

a.语法规则b.词法规则

c.语义规则d.等价变换规则

8.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):

E→E

(1)∧T{E.val=E

(1).val*T.val}

E→T{E.val=T.val}

T→T

(1)#n{T.val=T

(1).val+n.val}

T→n{T.val=n.val}

则分析句子1∧2∧3#4其值为。

C

a.10b.34c.14d.54

9.如果文法G是无二义的,则它的任何句子α。

 A

a.最左推导和最右推导对应的语法树必定相同

b.最左推导和最右推导对应的语法树可能不同

c.最左推导和最右推导必定相同

d.可能存在两个不同的最左推导,但它们对应的语法树相同

10.下列动作中,不是自下而上分析动作的是:

B

a.移进b.展开

c.接受d.报错

11.编译程序是对。

D

a.汇编程序的翻译b.高级语言程序的解释执行

c.机器语言的执行d.高级语言的翻译

12.词法分析器的输出结果是。

C

a.单词的种别编码b.单词在符号表中的位置

c.单词的种别编码和自身值d.单词自身值

13.正规式M1和M2等价是指。

C

a.M1和M2的状态数相等

b.M1和M2的有向边条数相等

c.M1和M2所识别的语言集相等

d.M1和M2状态数和有向边条数相等

14.在规范归约中,用来刻画可归约串。

B

a.直接短语b.句柄

c.最左素短语d.素短语

15.若a为终结符,则A→α·aβ为项目。

B

a.归约b.移进

c.接受d.待约

16.语法分析时所依据的是。

A

a.语法规则b.词法规则

c.语义规则d.等价变换规则

17.文法G:

S→xSx|y所识别的语言是。

C

a.xyxb.(xyx)*

c.xnyxn(n≥0)d.x*yx*

18.如果文法G是无二义的,则它的任何句子α。

 A

a.最左推导和最右推导对应的语法树必定相同

b.最左推导和最右推导对应的语法树可能不同

c.最左推导和最右推导必定相同

d.可能存在两个不同的最左推导,但它们对应的语法树相同

19.下列动作中,不是自上而下分析动作的是:

C

a.匹配b.展开

c.移进d.报错

20.词法分析器的输出结果是。

C

a.单词的种别编码b.单词在符号表中的位置

c.单词的种别编码和自身值d.单词自身值

21.-a-(b*c/(c-d)+(-b)*a)的逆波兰表示是。

(@代表后缀式中的求负运算符)C

a.abc*cd-b@a*+/-@b.a@bc*cd-b@a*+/-

c.a@bc*cd-/b@a*+-d.a@bc*/cd-b@a*+-

22.在规范归约中,用来刻画可归约串。

B

a.直接短语b.句柄

c.最左素短语d.素短语

23.若B为非终结符,则A→α·为项目。

A

a.归约b.移进

c.接受d.待约

24.文法G:

S→xSx|xS|y所识别的语言是。

A

a.xmyxn(m≥n≥0)b.(xyx)*

c.xnyxn(n≥0)d.x*yx*

25.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):

E→E

(1)∧T{E.val=E

(1).val*T.val}

E→T{E.val=T.val}

T→T

(1)#n{T.val=T

(1).val+n.val}

T→n{T.val=n.val}

则分析句子2∧3#4其值为。

C

a.10b.21

c.14d.24

26.间接三元式表示法的优点为。

A

a.采用间接码表,便于优化处理

b.节省存储空间,不便于表的修改

c.便于优化处理,节省存储空间

d.节省存储空间,不便于优化处理

27.下列动作中,不是自上而下分析动作的是:

C

a.匹配b.展开

c.接受d.报错

28.同正规式(a|b)+等价的正规式是______B___________。

A.(a|b)*B.(a|b)(a|b)*C.(ab)*(ab)D.(a|b)|(a|b)*

29.称有限自动机A1和A2等价是指_______D________。

A.A1和A2都是定义在一个字母表上的有限自动机

B.A1和A2状态数和有向边数相等

C.A1和A2状态数或有向边数相等

D.A1和A2所能识别的字符串集合相等

30.由文法的开始符号出发经过若干步(包括0步)推导产生的文法符号序列称为______B________。

A.语言B.句型C.句子D.句柄

31.在自上而下的语法分析中,应从C开始分析。

A.句型B.句子C.文法开始符号D.句柄

32.一个文法G,若________C____________,则称它是LL

(1)文法。

A.G中不含左递归B.G无二义性

C.G的LL

(1)分析表中不含多重定义的条目D.G中产生式不含左公因子

33.在规范归约中,用______B______来刻画可归约串。

A.直接短语B.句柄C.素短语D.短语

34.若a为终结符,则A→α·aβ为_______B______项目。

A.归约B.移进C.接受D.待约

35.中间代码生成时所依据的是C。

A.词法规则B.语法规则C.语义规则D.等价变换规则

36.文法G[S]及其语法制导翻译定义如下:

产生式语义动作

S’→Sprint(S.num)

S→(L)S.num=L.num+1

S→aS.num=0

L→L

(1),SL.num=L

(1).num+S.num

L→SL.num=S.num

若输入为(a,(a)),且采用自底向上的分析方法,则输出为C。

A.0B.1C.2D.4

37.四元式之间的联系是通过_______B____________实现的。

A.指示器B.临时变量C.符号表D.程序变量

38.将编译程序分成若干“遍”,是为了( B)。

A.提高程序的执行效率B.使程序的结构更为清晰

C.利用有限的机器内存并提高机器的执行效率

D.利用有限的机器内存但降低了机器的执行效率

39.一个编译程序在编译时,大多数时间花在(D )上。

A.出错处理B.词法分析

C.目标代码生成D.表格管理及处理

40.下列符号串不可以由符号集S={a,b}上的正闭包运算产生的是:

(A )

A.εB. a

C. aaD. ab

41.词法分析器的输出是:

(C )

A.单词在符号表中的位置B.单词的自身值

C.单词的自身值和单词的种类码D.单词的种类码

42.两个DFA等价是指:

(D )

A.这两个DFA的状态数相同

B.这两个DFA的状态数和有向弧条数都相等

C.这两个DFA的有向弧条数相等

D.这两个DFA接受的语言相同

43.生成中间代码时所依据的是(C)。

A.语法规则B.词法规则

C.语义规则D.等价变换规则

44.表达式(┐a∨b)∧(c∨d)的逆波兰表示为(B)。

A.┐ab∨∧cd∨B.a┐b∨cd∨∧

C.ab∨┐cd∨∧D.a┐b∨∧cd∨

45.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):

E→E

(1)∧T{E.val=E

(1).val*T.val}

E→T{E.val=T.val}

T→T

(1)#n{T.val=T

(1).val+n.val}

T→n{T.val=n.val}

则分析句子2∧3#4其值为(C)。

A.10B.21

C.14D.24

46.表达式a+b+c+d的逆波兰表示为(B)。

A.a+bc+d+B.ab+c+d+

C.ab+cd++D.abc+d++

47.文法G[S]及其语法制导翻译定义如下:

产生式语义动作

S’→Sprint(S.num)

S→(L)S.num=L.num+1

S→aS.num=0

L→L

(1),SL.num=L

(1).num+S.num

L→SL.num=S.num

若输入为(a,(a)),且采用自底向上的分析方法,则输出为(C)。

A.0B.1

C.2D.4

48.若a为终结符,则A→α.aβ为(B )。

A.归约项目B.移进项目

C.待约项目D.接受项目

49.若B为非终结符,则A→α.Bβ为(C )。

A.归约项目B.移进项目

C.待约项目D.接受项目

50.项目A→α.为(A )。

A.归约项目B.移进项目

C.待约项目D.接受项目

51.语法分析器的输入是:

(A )

A.Token序列B.源程序

C.目标程序D.符号表

52.在LR(0)的Action表中,如果某行中存在标记为“rj”的栏,则:

(A )

A.该行必定填满“rj”B.该行未必填满“rj”

C.其他行可能也有“rj”D.goto表中也可能有“rj”

53.LR分析过程中栈内存储的是(A )。

A.活前缀B.前缀

C.归约活前缀D.项目

54.文法G:

S→xxS|y所识别的语言是(D )。

A.xxy*B.(xxy)*C.xx*yxD.(xx)*y

55.若状态k含有项目“A→α.”,对任意非终结符a,都用规则“A→α”归约的语法分析方法是(B )。

A.LALR分析法B.LR(0)分析法

C.LR

(1)分析法D.SLR

(1)分析法

56.在编译过程中,如果遇到错误应该(C)。

A.把错误理解成局部的错误

B.对错误在局部范围内进行纠正,继续向下分析

C.当发现错误时,跳过错误所在的语法单位继续分析下去

D.当发现错误时立即停止编译,待用户改正错误后再继续编译

57.将编译程序分成若干“遍”,是为了(B)

A.提高程序的执行效率B.使程序的结构更为清晰

C.利用有限的机器内存并提高机器的执行效率

D.利用有限的机器内存但降低了机器的执行效率

58.下列符号串不可以由符号集S={a,b}上的正闭包运算产生的是:

(A )

A.εB. a

C. aaD. ab

59.表达式(┐a∨b)∧(e∨f)的逆波兰表示为(B)。

A.┐ab∨∧ef∨B.a┐b∨ef∨∧

C.ab∨┐ef∨∧D.a┐b∨∧ef∨

60.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):

E→E

(1)∧T{E.val=E

(1).val*T.val}

E→T{E.val=T.val}

T→T

(1)#n{T.val=T

(1).val+n.val}

T→n{T.val=n.val}

则分析句子3∧3#4其值为(B)。

A.10B.21

C.14D.24

61.表达式a+b+c的逆波兰表示为(B)。

A.a+bc+B.ab+c+

C.+abc+D.abc++

62.文法G[S]及其语法制导翻译定义如下:

产生式语义动作

S’→Sprint(S.num)

S→(L)S.num=L.num+1

S→aS.num=0

L→L

(1),SL.num=L

(1).num+S.num

L→SL.num=S.num

若输入为(a,a),且采用自底向上的分析方法,则输出为(B)。

A.0B.1

C.2D.4

63.在SLR

(1)的Action表中,如果某行中存在标记为“rj”的栏,则:

(B )

A.该行必定填满“rj”B.该行未必填满“rj”

C.其他行可能也有“rj”D.goto表中也可能有“rj”

64.一个(D )指明了在LR分析过程中的某个时刻所能看到产生式多大一部分。

A.活前缀B.前缀

C.归约活前缀D.项目

65.文法G:

S→xS|y所识别的语言是(D )。

A.xy*B.(xy)*

C.xx*yxD.x*y

66.若状态k含有项目“A→α.”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A→α”归约的语法分析方法是(D )。

A.LALR分析法B.LR(0)分析法

C.LR

(1)分析法D.SLR

(1)分析法

67.设有文法G[T]:

T→T*F|F

F→F↑P|P

P→(T)|a

该文法句型T*P↑(T*F)的句柄是下列符号串(C)

A.(T*F)B.T*FC.PD.P↑(T*F)

68.LR分析表中的转移表(goto)是以(B)作为列标题的。

A.终结符B.非终结符C.终结符或非终结符D.表示状态的整形数

69.编译程序的语法分析器必须输出的信息是(A)

A.语法错误信息B.语法规则信息C.语法分析过程D.语句序列

70.下列项目中为可移进项目的是(C)。

A.E′→E.B.L→.C.L→-.LD.F→L*F.

71.有一语法指导定义如下:

S→bAbprint“1”

A→(Bprint“2”

A→aprint“3”

B→aA)print“4”

若输入序列为b(a(a(aa)))b,且采用自底向上的分析方法,则输出序列为(B)

A.32224441B.34242421C.12424243D.34442212

72.同正规式(a|b)*等价的正规式为(D)

A.(a|b)+B.a*|b*C.(ab)*D.(a*|b*)+

73.词法分析器的加工对象是(C)

A.中间代码B.单词C.源程序D.元程序

74.在自下而上的语法分析中,应从(B)开始分析。

A.句型B.句子C.文法开始符号D.句柄

75.赋值语句X:

=-(a+b)/(c-d)-(a+b*c)的逆波兰表示是(C)

A.Xab+cd-/-bc*a+-:

=

B.Xab+/cd-bc*a+--:

=

C.Xab+-cd-/abc*+-:

=

D.Xab+cd-/abc*+--:

=

76.设有文法G[T]:

T→T*F|F

F→F↑P|P

P→(T)|a

该文法句型T*F↑(T*F)的句柄是下列符号串(B)

A.(T*F)B.T*FC.PD.P↑(T*F)

77.LR分析表中的动作表(action)是以(D)作为列标题的。

A.终结符B.非终结符C.终结符或非终结符D.终结符和结束符$

78.下列项目中为可归约项目的是(B)。

A.E′→.EB.L→.C.L→-.LD.F→L*.F

79.有一语法指导定义如下,其中+表示符号连接运算:

S→BprintB.vers

B→aB.vers=a

B→bB.vers=b

B→BaB.vers=a+B.vers

B→BbB.vers=b+B.vers

若输入序列为abab,且采用自底向上的分析方法,则输出序列为(D)

A.aabbB.ababC.bbaaD.baba

80.同正规式(a|b)*等价的正规式为(D)

A.(a|b)+B.a*|b*C.(ab)*D.(a*|b*)+

共4页第1页

81.词法分析器的加工对象是(C)

A.中间代码B.单词C.源程序D.元程序

82.在自上而下的语法分析中,应从(C)开始分析。

A.句型B.句子C.文法开始符号D.句柄

83.赋值语句X:

=-(a+b)/(c-d)-(a+b*c)的逆波兰表示是(C)

E.Xab+cd-/-bc*a+-:

=

F.Xab+/cd-bc*a+--:

=

G.Xab+-cd-/abc*+-:

=

H.Xab+cd-/abc*+--:

=

84.编译程序不能检查、处理的错误是程序中的_______B_________。

A.静态语义检查B.动态语义检查C.语法错误D.词法错误

85.在LR(0)的ACTION子表中,如果某一行中有标记为“rj”的栏,则_______C__________。

A.该行既有rj又有SjB.其它行也有rj

C.该行一定填满rjD.该行未填满rj

86.同正规式(a|b)+等价的正规式是_________B________________。

A.(a|b)*B.(a|b)(a|b)*C.(ab)*(ab)D.(a|b)|(a|b)*

87.在规范归约中,用______B______来刻画可归约串。

A.直接短语B.句柄C.素短语D.短语

88.若a为终结符,则A→α·aβ为_______B______项目。

A.归约B.移进C.接受D.待约

89.一个文法G,若________C____________,则称它是LL

(1)文法。

A.G中不含左递归B.G无二义性

C.G的LL

(1)分析表中不含多重定义的条目D.G中产生式不含左公因子

90.LR分析器的核心部分是一张分析表,该表由_______D___________组成。

A.ACTION表B.GOTO表C.预测分析表D.ACTION表和GOTO表

91.构造编译程序应该掌握_______D__________。

A.源程序B.目标语言C.编译方法D.以上三项都是

92.在递归子程序方法中,若文法存在左递归,则会使分析过程产生___D__________。

A.回溯B.非法调用C.有限次调用D.无限循环

93.最左简单子树的叶结点,自左至右排列组成句型的________C____________。

A.短语B.句型C.句柄D.间接短语

94.如果一个正规式所代表的集合是无穷的,则它必含有的运算是__________C___________。

A.连接运算“·”B.或运算“|”C.闭包运算“*”D.括号“(”和“)”

95.同正规式a*b*等价的文法是________C___________。

A.G1:

S→aS|bS|εB.G2:

S→aSb|εC.G3:

S→aS|Sb|εD.G4:

S→abS|ε

96.由文法的开始符号出发经过若干步(包括0步)推导产生的文法符号序列称为______B________。

A.语言B.句型C.句子D.句柄

97.四元式之间的联系是通过_______B____________实现的。

A.指示器B.临时变量C.符号表D.程序变量

98.编译程序的语法分析器必须输出的信息是________A____________。

A.语法错误信息B.语法规则信息C.语法分析过程D.语句序列

99.LL

(1)分析法中“1”的含义是在输入串中查看一个输入符号,其目的是_______C___________。

A.确定最左推导B.确定句柄

C.确定使用哪一个产生式进行展开D.确定是否推导

100.称正规式R1和R2等价是指__________C_______________。

A.R1和R2都是定义在同一个字母表上的正规式

B.R1和R2使用的运算符相同

C.R1和R2代表同一个正规集

D.R1和R2代表不同的正规集

二、填空题

概述部分:

1.编译程序的开发常常采用自编译、交叉编译、自展和移植等技术实现。

2.解释程序和编译程序的区别在于是否生成目标程序。

3.如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分为3个阶段:

编译阶段、汇编阶段和运行阶段。

4.编译程序工作过程中,第一阶段输入是源程序,最后阶段的输出为目标程序。

5.编译过程通常可分为5个阶段词法分析阶段、语法分析阶段、语义分析和中间代码生成阶段、优化阶段和目标代码生成阶段。

6.如果编译阶段生成的目标程序是某特定计算机系统的机器代码程序,则源程序的执行分为两大阶段:

编译阶段和运行阶段。

7.对编译程序而言,输入数据是源程序,输出结果是目标程序。

8.贯穿于编译程始终的工作有符号表处理和出错处理。

词法分析部分:

1.词法分析的工作是将源程序中的字符串变换成单词符号流的过程,所遵循的是语言的构词规则。

2.若两个正规式所表示的正规集相同,则认为二者是等价的。

3.若两个正规式所表示的正规集相同,则认为二者是等价的。

4.正规式R1和R2等价是指_______表示相同的正规集。

5.词法分析器的输入是源程序字符串,输出结构是二元式(单词种别,单词自身的值)。

词法分析所遵循的是语言的构词规则。

6.确定的有限自动机是一个五元组,包含的五个元分别是:

状态集合、字母表、初态、终态集、状态转换函数集合。

7.有限自动机是更一般化的状态转换图,它分

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2