- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理练习三答案
练习三
9、考虑下面上下文无关文法:
S—SS*|SS+|a
(1)表明通过此文发如何生成串aa+a*,并为该串构造推导树。
(2)该文法生成的语言是什么?
答:(1)S=SS*=SS+S*=aS+S*=aa+S*=aa+a*
S=SS*=SS*S*=SS*S*S*=…=S(S*)=Sa*(S*)=aa*a*
(S*)=…=S(a*)=SS+(a*)=SS+S+(a*)=SS+S+S+(a*)=…=S(S+)(a*)=a(S+)(a*)=aa+(S+) (a*)=aa+a+(S+) (a*)=a(a+)(a*)
所以该文发生成的语言是:
L1={ a(a+)(a*)|n,m=1}
10、文法S-S(S)S|
(1)生成的语言是什么?
(2)该文发是二义的吗?说明理由。
答:
(1)S=S(S)S=S(S(S)S)S=…=S(…(S(S)S)…)S=S(S)S(…(S(S)S)…)S=S(S)S(S)S(…(S(S)S)…)S=…=(S(S))S(…(S(S)S)…)S=(S(S))S(…(S(S)S)…)S(S)S=(S(S))S(…(S(S)S)…)S(S)S(S)S=…=(S(S))S(…(S(S)S)…) (S(S))S
所以该文法生成的就是嵌套的括号。
(2)由上面推导过程可知该语法可以构成不同的语法树,所以它是二义的。
11、令文法G[E]为:
E-T|E+T|E-T
T-F|T*F|T/F
F-(E)|i
证明E+T*F是它的一个句型,指出这个句型的所有短语,直接短语和句柄。
答:因为E=E+T=E+T*F,所以E+T*F是它的一个句型。
因为E=E+T=E+T*F,所以该句型相对于E的短语有:E+T*F
因为T- T*F,所以该句型相对于T的短语有:T*F
直接短语为:T*F
句柄为:T*F
13、一个上下文无关文法生成句子abbaa的推导树如下:
给出该句子相应的最左推导,最右推导。
该文法的产生式集合P可能有哪些元素?
找出该句子的所有短语,简单短语,句柄。
答:
最右推导:S=ABS=ABAa=ABaa=ASBBaa=ASBbaa=
ASbbaa=Abbaa=Abbaa=abbaa
最左推导:S=ABS=aBS=aSBBS=aBBS=aBBS=abBS=
abbS=abbAa=abbaa
产生式包括:S-ABS|Aa| B-b|SBB A-a
该文法的产生式集合P可能有
S=
S=Aa=aa
S=ABS=aBS=abS=ab =ab
S=ABS=ABAa=aBAa=abAa=abaa
S=ABS=ASBBS=AAaBBS=aAaBBS=aaaBBS=aaabBS=
aaabbS=aaabb=aaabb
…
所以有 aa ab abaa aaabb …
(3)因为产生式包括:S-ABS|Aa| B-b|SBB A-a
S=,是相对S的短语。
S=Aa=aa,aa是相对S的短语。
S=ABS=aBS=aSBBS=aBBS=aBBS=abBS=abbS=abbAa=
abbaa,abbaa是相对S的短语。
A=a,a是相对A的短语。
B=b,b是相对B的短语。
B=SBB=BB =bB=bb,bb是相对B的短语。
直接短语有:a,b,
句柄:a
14、给出生成下述语言的上下文无关文法:
(1){abab|n,m=0}
答:S-ASBS S-ASB S- A-a B-b
S=ASBS=aSBS=aSbS=aASBbS=aaSbBS=aaSbbS=aaASbbBS=aaaSbbBS=aaaSbbbS=…=aSbS=abS=abS=abASB= abaSB= abaSb=abaASBb=abaaSBb=abaaSbb
=…= abaSb= abab= abab
推导得:L1={abab|n,m=0}
(2){1010|n,m=0}
答:S-1S0 S-A A-0A1 A-
S=1S0=11S00=111S000=…=1S0=1A0=11A00=111A000=…=10A10=1010=1010
推导得:L2={1010|n,m=0}
原创力文档


文档评论(0)