第7章作业参考答案优质文档文档格式.docx
- 文档编号:13206221
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:16
- 大小:305.09KB
第7章作业参考答案优质文档文档格式.docx
《第7章作业参考答案优质文档文档格式.docx》由会员分享,可在线阅读,更多相关《第7章作业参考答案优质文档文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
对输入串ab#的分析过程
10.判断下列各题所示文法是否为LR类方法,若是请说明是LR(0),SLR
(1),LALR
(1)或LR
(1)的哪一种,并构造相应的分析表,若不是请说明理由.
(3)S->
aAd|eBd|aBr|eAr
A->
a
B->
1)列出扩展文法G'的产生式列表:
(0)S'->
S
(1)S->
aAd
(2)S->
eBd
(3)S->
aBr
(4)S->
eAr
(5)A->
(6)B->
2)G'的LR(0)项目集族及识别活前缀的DFA如下图所示:
从上图中看出项目集I6中存在归约-归约冲突,所以该文法不是LR(0)文法。
下面判断是否为SLR
(1)文法:
Follow(S)={#}
Follow(A)={d,r}
Follow(B)={d,r}
对于I6,Follow(A)∩Follow(B)={d,r}不为φ,所以项目集I6中的归约-归约冲突不能消除,该文法不是SLR
(1)文法。
下面判断是否为LR
(1)文法,在上面的项目集规范族中加入搜索符:
从上图可以看出原来存的的归约-归约冲突已经消除,所以该文法为LR
(1)文法。
但若合并同心项目集I6和I13,则归约-归约冲突又会重现,因此该文法不是LALR
(1)文法。
3)LR
(1)分析表
Action
Goto
State
aedr#
SAB
S2S3
1
1
acc
2
S6
45
3
S13
87
4
S9
5
S10
6
R5R6
7
S11
8
S12
9
R1
10
R3
11
R2
12
R4
13
R6R5
11.设文法G[S]为:
S->
AS|ε
A->
aA|b
(1)证明G[S]是LR[1]文法;
扩展文法G’为:
(1)S’->
(2)S->
AS
(3)S->
ε
(4)A->
aA
(5)A->
b
G'的LR
(1)项目集族及识别活前缀的DFA如下图所示:
从上图中可以看出,每个项目集中均无移进-归约冲突和归约-归约冲突,所以该文法为LR
(1)文法。
(2)构造它的LR
(1)分析表;
ab#
SA
S3S4R2
12
52
S3S4
6
R4R4R4
R3R3R3
(3)给出输入符号串abab#的分析过程。
序号
状态栈
符号栈
输入缓冲区
动作
#
abab#
S3,移进
03
#a
bab#
S4,移进
034
#ab
ab#
R4,归约A->
036
#aA
R3,归约A->
02
#A
023
#Aa
b#
0234
#Aab
0236
#AaA
022
#AA
R2,归约S->
0225
#AAS
R1,归约S->
025
#AS
01
#S
acc成功
15.已知文法为:
a|∧|(T)
T->
T,S|S
(1)构造它的LR(0),LALR
(1),LR
(1)分析表;
∧
(4)S->
(T)
(5)T->
T,S
(6)T->
1)LR(0)项目集族及识别活前缀的DFA如下图所示:
LR(0)分析表:
a∧(),#
ST
S2S3S4
R1R1R1R1R1R1
R2R2R2R2R2R2
65
S7S8
R5R5R5R5R5R5
R3R3R3R3R3R3
9
R4R4R4R4R4R4
2)LR
(1)项目集族及识别活前缀的DFA如下图所示:
图中“,”为文法符号。
说明:
对于I4中的项目T->
.T,S和T->
.S,先由项目S->
(.T),#推出扩展项目的搜索符为“)”,再由T->
.T,S,)扩展出新的搜索符“,”,合并后的搜索符为“)/,”。
LR
(1)分析表:
S7S8S9
S10S11
R5R5
R1R1
R2R2
612
13
S14S11
R4R4
14
R3R3
LALR
(1)分析表需将上面DFA中的同心项目(同底色)的项目集合并后考虑,将状态数大的合并入状态数小的项目集中,在此不再另画图。
LALR
(1)分析表:
R1R1R1
R2R2R2
S10S11
(2)给出对输入符号串(a#和(a,a#的分析过程;
1)对输入符号串(a#的分析过程
用LR(0)分析表
(a#
04
#(
a#
S2,移进
042
#(a
046
#(S
R5,归约T->
045
#(T
出错
用LR
(1)分析表
S7,移进
047
错误
用LALR
(1)分析表
2)对输入符号串(a,a#的分析过程
(a,a#
a,a#
a#
S8,移进
0458
#(T,
04582
#(T,a
04589
#(T,S
R4,归约T->
S11,移进
045(11)
045(11)7
045(11)2
045(11)(13)
(3)说明
(1)中三种分析表发现错误的时刻和输入串的出错位置有何区别。
见
(2),由此二例说明,对于错误分析,LR
(1)的效率最高,LALR
(1)次之,LR(0)最差。
补充题:
G[S]文法如下,求其LR分析表
1.S→AaDC
2.C→Cba
3.C→ba
4.D→A
5.D→Ba
6.A→b
7.B→b
答:
扩展文法G’为:
0.S’→S
1.S→AaDC
答:
1)首先判断是否为LR(0)方法:
由上图中可以看到I8中存在归约-归约冲突,I9中存在移进-归约冲突,所以该文法不是LR(0)文法
2)再判断是否为SLR
(1)文法:
Follow(A)={a,b}
Follow(B)={a}
Follow(C)={b,#}
Follow(D)={b}
2对于I8,Follow(A)∩Follow
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 参考答案 优质 文档