资源描述:
《编译原理练习题及答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章练习题(绪论)一、选择题1.编译程序是一种常用的软件。A)应用B)系统C)实时系统D)分布式系统2.编译程序生成的目标代码程序是可执行程序。A)一定B)不一定3.编译程序的大多数时间是花在上。A)词法分析B)语法分析C)出错处理D)表格管理4.将编译程序分成若干“遍”将。A)提高编译程序的执行效率;B)使编译程序的结构更加清晰,提高目标程序质量;C)充分利用内存空间,提高机器的执行效率。5.编译程序各个阶段都涉及到的工作有。A)词法分析B)语法分析C)语义分析D)表格管理6.词法分析的主要功能是。A)识别字符串B)识别语句C)识别单词D)识别标识符7.若某程序设
2、计语言允许标识符先使用后说明,则其编译程序就必须。A)多遍扫描B)一遍扫描8.编译方式与解释方式的根本区别在于。A)执行速度的快慢B)是否生成目标代码C)是否语义分析2021-9-159.多遍编译与一遍编译的主要区别在于。A)多遍编译是编译的五大部分重复多遍执行,而一遍编译是五大部分只执行一遍;B)一遍编译是对源程序分析一遍就立即执行,而多遍编译是对源程序重复多遍分析再执行;C)多遍编译要生成目标代码才执行,而一遍编译不生成目标代码直接分析执行;D)多遍编译是五大部分依次独立完成,一遍编译是五大部分交叉调用执行完成。10.编译程序分成“前端”和“后端”的好处是A)便于
3、移植B)便于功能的扩充C)便于减少工作量D)以上均正确2021-9-15第二章练习题(文法与语言)一、选择题1.文法G产生的(1)的全体是该文法描述的语言。A.句型B.终结符集C.非终结符集D.句子2.若文法G定义的语言是无限集,则文法必然是(2)A递归的B上下文无关的C二义性的D无二义性的3.Chomsky定义的四种形式语言文法中,0型文法又称为(A)文法;1型文法又称为(C)文法;2型语言可由(G)识别。A短语结构文法B上下文无关文法C上下文有关文法D正规文法E图灵机F有限自动机G下推自动机4.一个文法所描述的语言是(A);描述一个语言的文法是(B)。A唯一的B不
4、唯一的C可能唯一,也可能不唯一二、构造文法以生成下列语言:1.{anbn︱n≥0}G=({S},{a,b},S,P),其中P={S→e
5、aSb}2.{anbm︱n,m≥1}G=({S,A,B},{a,b},S,P),其中P={S→AB,A→a︱aA,B→b︱bB}3.{an,bm︱n,m≥1}G=({S,A,B},{a,b},S,P),其中P={S→A
6、B,A→a︱aA,B→b︱bB}2021-9-154.L={w
7、w是不含两个相邻1的0、1串}G=({S,A},{0,1},S,P),其中P={S→0
8、1
9、0S
10、1A,A→0S︱0}5.能被5整除的整数集合。G[S]:
11、S→FNCF→+
12、-
13、eC→0
14、5N→AN
15、eA→0
16、1
17、2
18、3
19、4
20、5
21、6
22、7
23、8
24、9以下更准确:G[S]:S→FC
25、FNMCF→+
26、-
27、eC→0
28、5N→1
29、2
30、3
31、4
32、5
33、6
34、7
35、8
36、9M→AM
37、eA→0
38、1
39、2
40、3
41、4
42、5
43、6
44、7
45、8
46、92021-9-15第四章练习题(词法分析)一、设语言L是由奇数个a和偶数(可以是0)个b组成的符号串之集。1.构造识别L的DFA;一、1.2.给出定义L的正规文法;2.S=aA
47、bBA=aS
48、bCB=bS
49、aCC=bA
50、aB(其它习题见本章课件)2021-9-15第五章练习题(自上而下语法分析)1、已知文法G(E) E→T
51、E
52、+T T→F
53、T*F F→(E)
54、i (1)给出句型(T*F+i)的最右推导及画出语法树; (2)给出句型(T*F+i)的短语、素短语。1)最右推导:E=>E+T=>E+F=>E+i=>T+i=>T*F+i2)句型T*F+i的短语:T*F+iT*Fi素短语:T*Fi2、给出文法G[S]:S->aSb
55、PP->bPc
56、bQcQ->Qa
57、a1)它是Chomsky哪一型文法?2)2021-9-15它是不是LL(1)文法?若不是,求消除左递归、提取公共左因子后的文法G’。1)证明所有(a)左递归、(b)由公共左因子的文法均不是LL(1)文法。2)G’是不是LL(1)文
58、法,试用预测分析表证实。1)2型文法2)不是LL(1)文法,转换:G’[S]:S->aSb
59、PP->bKK->Pc
60、QcQ->aWW->aW
61、ε3)LL(1)为从上往下推导,若存在左递归,即形如P->P的产生式,则面对FIRST(P)的符号,会反复用P->P…进行往下推导,无法终止,故左递归文法不是LL(1)文法。有公共左因子的文法存在形如P->aβ
62、aγ的产生式,那么,当面对属于FIRST(a)的终结符时,无法确定用P->aβ还是用P->aγ匹配,也就是说存在多重入口,所以有公共左因子的文法不是LL(1)文法。4)FIRST(S)={a,b},FI