- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
编译原理第六章到第十一章课后习题答案
p116/1.已知文法G[S]为:
S→a|∧|(T)
T→T,S|S
(1)计算FIRSTVT--LASTVT表
(2)构造算符优先关系表(OPERATERPRIORITYRELATION
TABLE),说明是否为算符优先文法。=:#=#,(=)=:#=#,(=)
:LASTVT(S)#,LASTVT(T)),LASTVT(T),
表中无多重人口所以是算符优先(OPG)文法。
(3)计算G[S]的优先函数。
收敛
(4)对输入串(a,a)#的算符优先分析过程为
Success!
3.有文法G(S):
s-V
v-T/ViT
T-F/T+F
F-)V*|(
(1)(+(i(的规范推导
S=V
=ViT
=ViF
=Vi(
=Ti(
=T+Fi(
=T+(i(
=F+(i(
=(+(i(
(2)F+Fi(的短语、句柄、素短语。
短语
S:F+Fi(
T1:F+F(素短语)
T2:F(句柄)
F:((素短语)
(3)G(S)是否为OPG?若是,给出(1)中句子的分析过程!
S’-#S#S-VV-T/ViTT-F/T+FF-)V*|(
算符优先关系表(OPERATERPRIORITYRELATIONTABLE)
对输入串(+(I(的算符优先分析过程为:
p152/2
文法:
S→L.L|L
L→LB|B
B→0|1
拓广文法为G′,增加产生式S′→S
I3
若产生式排序为:
0S→S
1S→L.L
2S→L
3L→LB
4L→B
5B→0
6B→1
由产生式知:
First(S)={0,1}
First(S)={0,1}
First(L)={0,1}
First(B)={0,1}
Follow(S)={#}
Follow(S)={#}
Follow(L)={.,0,1,#}
Follow(B)={.,0,1,#}
G′的LR(0)项目集族及识别活前缀的DFA如下图所示:
I5
B→.0和B→.1为移进项目,S→L.为归约项目,存在移进-归约
冲突,因此所给文法不是LR(0)文法。
在I
2、I
8
中:
Follow(s)∩{0,1}={#}∩{0,1}=
所以在I
2、I
8
中的移进-归约冲突可以由Follow集解决,所以G是SLR(1)文法。
构造的SLR(1)分析表如下:
分析成功,说明输入串101.110是题目2文法的句子。
0)S’-S
1)S-a
2)S-^
3)S-(T)
4)T-T,S
5)T-S
LR(0)分析表
[8。1]写出下列各式的逆波兰表示
(1)-a-((b*c)/(c-d)+(-b)*a)
(2)-A+B*C↑(D/E)/F
栈顶运算符与当前运算符比较:
栈顶运算符当前运算符:进栈
栈顶运算符当前运算符:进行运算
解8.1:
(1)a@bc*cd-/b@a*+-
(2)A@BCDE/↑*F/+
[8。2]写出表达式
A+B*(C-D)-E/F↑G
逆波兰表示,三元组表示,四元组表示。解8.2:逆波兰表示:
ABCD-*+EFG↑/-
①(-,C,D)
②(*,B,①)
③(+,A,②)
④(↑,F,G)
⑤(/,E,④)
⑥(-,③,⑤)
四元式组:
1)(
文档评论(0)