编译原理基础——习题与上机题解答 教学课件 作者 刘坚 第1 5章 第3章.ppt

编译原理基础——习题与上机题解答 教学课件 作者 刘坚 第1 5章 第3章.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  3.1 仿照最左推导和左句型的定义,定义最右推导和右句型。   解:   最右推导:在推导过程中,若每次直接推导均替换句型中最右边的非终结符,称为最右推导。   右句型:由最右推导产生的句型被称为右句型。   3.2 对所给文法:S→(L)|a L→L, S|S   (1) 指出文法的开始符号、终结符、非终结符;   (2) 为下述句子建立最左推导和最右推导,并给出它们最终的分析树;   ① (a, a) ② (a, (a, a)) ③ (a, ((a, a), (a, a)))   (3) 用自然语言描述该文法所产生的语言。   解:   (1) 开始符号:S 终结符:( ) , a 非终结符:S L   (2) (a, a) 的最左推导:S=(L)=(L, S)=(S, S)=(a, S)=(a, a)    (a, a) 的最右推导:S=(L)=(L, S)=(L, a)=(S, a)=(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)) 的最右推导:S=(L)= (L, S)=(L, (L))=(L, (L, S))=(L, (L, a))   ?=(L, (S, a))=(L, (a, a))=(S, (a, a))=(a, (a, a))    (a, ((a, a), (a, a)))的最左推导:   S=(L)=(L, S)=(S, S)=(a, S)=(a, (L))=(a, (L, S))=(a, (S, S))   =(a, ((L), S))=(a, ((L, S), S))=(a, ((S, S), S))=(a, ((a, S), S))   =(a, ((a, a), S))=(a, ((a, a), (L)))=(a, ((a, a), (L, S)))   =(a, ((a, a), (S, S)))=(a, ((a, a), (a, S)))=(a, ((a, a), (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, (L, a)))=(L, (L, (S, a)))=(L, (L, (a, a)))=(L, (S, (a, a)))   =(L, ((L), (a, a)))=(L, ((L, S), (a, a)))=(L, ((L, a), (a, a)))   =(L, ((S, a), (a, a)))=(L, ((a, a), (a, a)))=(S, ((a, a), (a, a)))   =(a, ((a, a), (a, a)))   它们最终的分析树如题3.2图所示。    题3.2图   (a) ?(a, a)的分析树;(b) ?a, (a, a)的分析树; (c) ?(a, ((a, a), (a, a)))的分析树   (3) 该文法产生的语言是n元组,其中任何一元可为a或n元组(n=1, 2, …)。   3.3 对所给文法:N→D|ND D→0|1|2|3|4|5|6|7|8|9   (1) 给出句子0127、34和568的最左推导和最右推导;   (2) 用自然语言描述该文法所产生的语言。   解:   (1) 0127的最左推导:N=ND=NDD=NDDD=DDDD=0DDD=01DD=012D   ?=0127   ??0127的最右推导: N=ND=N7=ND7=N27=ND27=N127=D127=0127   ??34的最左推导:N=ND=DD=3D=34   ??34的最右推导:N=ND=N4=D4=34   ??568的最左推导:N=ND=NDD=DDD=5DD=56D=568   ??568的最右推导:N=ND=N8=ND8=N68=D68=568   (2) 该文法所产生的语言:由0~9构成的长度≥1的数字串。   3.4 对所给文法G:S→aSbS|bSaS|ε   (1) 通过为句子abab建立两个最左推导来说明G是二义文法,给出两个最左推导的分析树;   (2) 为句子abab建立最右推导并给出分析树;   (3) 另外举出两个G产生的句子,并用自然语言描述该文法所产生的语言(句子的特点)。   解:   (1) 句子abab的   最左推导一:S=aSbS=abS=abaS

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档