编译期中答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(10分)
1. 描述一个语言的文法是(B )
A.唯一的
B.不唯一的
C.可能唯一,也可能不唯一
2. 若文法G定义的语言是无限集,则文法必然是(D )
A.前后文无关文法
B.正规文法
C.二义性文法
D.递归文法
3. 文法 G 产生的的全体是该文法描述的语言。(D)
A.句型
B.终结符集
C. 非终结符集
D. 句子
4. 有限状态自动机可用五元组(VT,Q,δ,q0,Q)来描述,设有
一有限状态自动机M的定义如下:
VT={0,1},Q={q0,q1,q2},Qf={q2},
δ的定义为:
δ(q0,0)=q1 δ(q1,0)=q2
δ(q2,1)=q2 δ(q2,0)=q2
M是一个(A )有限状态自动机,它所对应的状态转换图为( B) ,它所能接受的语言可以用正则表达式表示为 C 。其含义为 D 。
供选择的答案:
A: B:①歧义的 ②非歧义的 ③确定的 ④非确定的
C: ①(0|1)* ②00(0|1)* ③(0|1)*00 ④0(0|1)*0
D: ①由0和1所组成的符号串的集合
②以0为头符号和尾符号、由0和1所组成的符号串的集合
③以两个0结束的,由0和1所组成的符号串的集合
④以两个0开始的,由0和1所组成的符号串的集合
答案 A:③ B:③ C:② E: ④
对下面的陈述,正确的在陈述后的括号内画"√";否则画"×"
1. 任何算符优先文法的句型中不会有两个相邻的非终结符号。 (√ )
2. 任何LL(1)文法都是无二义性的。 ( √)
3. 任何一个LL(1)文法都是一个LR(1)文法,反之亦然。 (×)
4. 有穷自动机接受的语言是正则语言。(T)
5. 若r1和r2是Σ上的正规式,则r1|r2也是。(T)
6. 令Σ={a,b},则Σ上所有以b为首的字构成的正规集的正规式为b*
(a|b)*。(F)
7. 对任何一个NFA M,都存在一个DFA M',使得L(M')=L(M)。(T)
8. 对一个右线性文法G,必存在一个左线性文法G',使得
L(G)=L(G'),反之亦然。(T)
1. 已知文法G[S]:S→(AS) | (b)
A→(SaA) | (a)
试找出符号串(a)和(A((SaA)(b)))的短语﹑直接短语和句柄(如果有的话)。分析∵ S(AS)((a)S)(a))
∴符号串(a))不是文法的句型,因此它没有短语﹑直接短语和句柄。∵S(AS)(A(AS))(A(A(b)))
(A((SaA)(b)))
∴符号串(A((SaA)(b)))是文法的句型,画出该句型的语法树如下图:
2. 设有文法G[N]:
N→SE | E
S→SD | D
E→0 | 2 | 4 | 6 | 8 | 10
D→0| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
试证明文法G[N]有二义性。
此文法所描述的语言是什么?
试写出另一文法G'使L(G')=L(G)且G'是无二义性的。
该文法所描述的语言是所有无符号偶数
的集合(可以0开头)。
改写后的文法G‘[S]为:
N→SE | E
S→SD | D
E→0 | 2 | 4 | 6 | 8
D→0 | 1 | 2 | 3 | 4 | 5| 6 | 7 | 8 | 9
3. 已知文法G[E]:E→E+T | E-T | T
T→T*F | T/F | T
T→(E) | i
证明 E+T*F是它的一个句型,指出这个句型的短语﹑直接短语和句柄。
4. 已知文法G[S]=( {A,B},{a,b,c,d}, P, S ) ,
其中 P 为:S → AB
A → aAb | ab
B → cBd | cd
该文法所生成的语言是什么?
分析∵ SABaAbBa2Ab2B…
a n-1A
b n-1Ba n b n Ba n b n cBd
a n
b n c2Bd2 …
a n
b n
c m-1B
d m-1a n b n c m d m
∴ L(G[S])={a n b n c m d m | n ,m≥1 }
5. 文法G[N]为:
N →ND | D
D →0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
(1) G[N]所生成的语言是什么?
(2) 给出句子0127的最左、最右推导。
6. 给出语言L={1n0m1m0n | n,m≥0}的
文法。
L={ε,01,0011,…,10,1100,…,1010,100110, 110100,11001100…} P: S → 1S0 | 0A1 | ε
A → 0A1 | ε
7. 给出下述文法所对应的正规式:S→0A | 1B
A→1S | 1
B→0S | 0
分析根据正规文法转换成正规式的方法,首先给出该正规文法对应的正规式方程组:
S=0A+1B (1)
A=1S+1 (2)
B=0S+0 (3)
将(2)、(3)代入(1)得
S=01S+01+10S+10 (4)
对(4)使用求解规则得
S=(01|10)(01|10)*
即正规文法所生成语言的正规式是(01|10)(01|10)*。
8. 设字母表Σ={a,b},给出Σ上的正规式 R= b*ab(b|ab)*
1. 试构造状态最小化的DFA M,使得
L(M)=L(R)。
2. 求右线性文法G,使L(G)=L(M)。
对正规式R=b*ab(b|ab)*采用分列法构造NFA,见下图。
对NFA采用子集法构造其等价的DFA的状态转换矩阵,见表。