当前位置:首页 > 《编译原理和技术》部分课后试题解答
2.1 考虑文法G[S],其产生式如下: S→(L)|a L→L,S|S (1)
试指出此文法的终结符号、非终结符号。
终结符号为:{(,),a,,,} 非终结符号为:{S,L} 开始符号为:S
(2)给出下列各句子的分析树: ① (a,a) ②(a,(a,a))
③ (a,((a,a),(a,a)))
(3)构造下列各句子的一个最左推导: ① (a,a) S
(L)
(L,S)
(S,S)
(a,S)
(a,a)
② (a,(a,a)) S
(L)
(L,S)
(S,S)
(a,S)
(a,(L)
(a,(L,S))
(a,(S,S)) (a,(a,S)) (a,(a,a))
③ (a,((a,a),(a,a))) S
(L)
(L,S)
(S,S)
(a,S)
(a,(L))
(a,(L,S)) (a,((S,S),S))
(a,(S,S)) (a,((L),S)) (a,((L,S),S))
(a,((a,S),S)) (a,((a,a),S)) (a,((a,a),(L)))
(a,((a,a),(a,S)))
(a,((a,a),(L,S))) (a,((a,a),(a,a)))
(a,((a,a),(S,S)))
(4)构造下列各句子的一个最右推导: ①(a,a) S
(L)
(L,S)
(L,a)
(S,a)
(a,a)
②(a,(a,a)) S
(L)
(L,S)
(L,(L))
(L,(L,S)) (S,(a,a))
(L,(L,a)) (a,(a,a)
(L,(S,a)) (L,(a,a))
③(a,((a,a),(a,a)) S
(L)
(L,S)
(L,(L))
(L,(L,S))
(L,(L,(L)))
(L,(L,(L,S))) (L,(L,(a,a)))
(L,(L,(L,a))) (L,(S,(a,a)))
(L,(L,(S,a))) (L,((L),(a,a)))
(L,((S,a),(a,a))) (a,((a,a),(a,a)))
(L,((L,S),(a,a))) (L,((a,a),(a,a)))
(L,((L,a),(a,a))) (S,((a,a),(a,a)))
(5)这个文法生成的语言是什么? L(G[S]) = (α1,α2,...,αn)或a
其中αi(1≤i≤n),即L(G[S])是一个以a为原子的纯表,但不包括空表。
2.2 考虑文法G[S] S→aSbS|bSaS|ε
(1)试说明此文法是二义性的。可以从对于句子abab有两个不同的最左推导来说明。 S S
aSbS aSbS
abS
abaSbS
ababS
abab
abab
abSaSbS abaSbS ababS
所以此文法是二义性的。
(2)对于句子abab构造两个不同的最右推导。 S S
aSbS aSbS
aSbaSbS aSb
aSbaSb
aSbab
abab
abSaSb abSab abab
(3)对于句子abab构造两棵不同的分析树。 (一)
(二)
(4)此文法所产生的语言是什么?
此文法产生的语言是:所有a的个数与b的个数相等的由a和b组成的字符串。
2.4 已知文法G[S]的产生式如下:S → (L)|a L → L,S|S 属于L(G[S])的句子是 A ,(a,a)是L(G[S])的句子,这个句子的最左推导是 B ,最右推导是 C ,分析树是 D ,句柄是 E 。 A:① a ② a,a ③ (L) ④ (L,a) B,C:① S ② S ③ S D:
(L) (L) (L)
(L,S) (L,S) (L,S)
(L,a) (S,S) (S,S)
(S,a) (S,a) (a,S)
(a,a) (a,a) (a,a)
E:① (a,a) ② a,a ③ (a) ④ a
解答: A:① B:③ C:① D:② E:④
3.1 有限状态自动机可用五元组(VT,Q,δ,q0,Qf)来描述,设有一有限状态自动机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 ,它所能接受的
共分享92篇相关文档