编译原理2016小测验1-解析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理2016小测验1-解析

2016年 《编译原理》小测验(一)之解析为帮助大家掌握课程内容,特针对第1次小测验编制本文档。应注意:- 由于时间限制,小测验只涉及基础性知识点,比期末考试的量小、简单;- 阅读本文前,请务必先看我提供的《第二章习题解答.ppt》(已在群中)。- 对于本文档中若有疑问、疑义、改善建议的话,请通过 QQ 群或 QQ 邮箱联系反馈。总结:本次小测验反映出在课程学习中:概念掌握不严谨、有疑问不及时解决、甚至有混学分的现象。希望以后不要再存在这些问题。1. 模式指 产生和识别单词的规则 ,记号指 按(某个)模式识别的元素(或单词) 。解析:本小题考察词法相关的两个基本概念,绝大部分同学都回答正确,但个别同学将教材中的“原文”生硬地照搬,如第一个空填写为“我们将产生和识别单词的规则称为模式”。2.“每个a的紧前面至少一个b的ab串”可用正规式 描述。答: 注意:表示同一模式的正规式不唯一,因为正规式之间存在等价关系!这里给出几个(来自同学们的)答案,它们均等价:(ba | b)* 或 (b | b+a)* 或 (b*|(ba)* )* 或(b*(b+a)*b*)* 或 (b*(ba)*)*应注意:最外层是 星闭包,而不是正闭包,因为题目并未约束字符串的长度。解析:这题考察 正规式运算字符串结构特征之间的对应关系:或运算:表示串/子串有多种可能;所有可能的情况之间就是“或”关系;连接运算:表示串/子串由若干部分拼接得到(按先后次序、依次出现);闭包:串/子串反复出现;若至少出现一次,则为正闭包;若可出现0次或任意次,则为星闭包。** 完成此类题目前,先翻阅我提供的“第二章习题解答.ppt”中的步骤:写出若干实例 观察结构规律 写出正规式 检查是否考虑了所有情况?若没有,请结合未考虑的情况之结构规律来修正正规式。本题要求的字符串之特征有(可写出若干实例来观察):串中仅包含字符 a、 b。注意:串长度没有约束,即可以为空串;对字符a的每次出现,其紧前至少一个b,该特征可用正规式 ba,或 b+a 表示;若干 b 可连续出现,该特征可用正规式b* 表示;该正规式也表示了只由b构成的所有字符串;还应注意, c) 和 b) 两种形式的子串可以任意次序、出现任意次。所以最终正规式为 (b* | ( b+a)* )* ,等价于 ( b | ba )* 。***有些同学未考虑上述 c) 或 d)中的情况,所以最终正规式就错了。识别该正规集的其中两个有限自动机如下:01bba01bab左图为 NFA,右图为 状态数最少的DFA。3. “能被5整除的奇数”可用正规式 描述。答:两个等价的答案: (+|-|ε) ([1-9][0-9]*|ε) 5 ,(+|-)?[0-9]*5解析:考核点与上题相同。这里分析一下模式所述字符串的特点:“能被5整除的奇数”必为整数,且末位(即个位)一定为5;奇数可正可负;为正值时正号可选(大部分同学忘记了正负号);上述第一个正规式限制了数值的最高为不为0,但题目中并未限制,因此上面第2个正规式也是正确的。此外还应注意,正规式中的符号、括号均有特定作用,绝对不许乱用。比如有些童鞋的解答为:digit=[0,1,2,3,4,5,6,7,8,9] (digit)*5[b(a|b)]*还有不是正规式的更错误的解答还有:{0,1,2,3,4,5,6,7,8,9}* * 10 + 5, (2n-1)·5。-_-||4. 对于正规式 x 和 y ,设L(x)={令,令狐},L(y)={冲,狐冲},则L(xy)= 。答:{ 令冲, 令狐冲, 令狐狐冲 }解析:考核大家对正规式连接、字符串集合连接运算的理解。题目已给出了正规式 x和y所表示的正规集L(x)和L(y),所求的 L(xy) 就是正规式 xy 所表示的正规集(正规集都是字符串集合),该集合即 L(x) 和 L(y)的连接运算所得集合:L(xy) = L(x)L(y)= { st | s ∈L(x) and t∈L(y) }即从 L(x) 任选一个元素 s,其后拼接任一L(y)中的元素所得的所有串。下表列出全部的拼接组合(即集合的笛卡尔积),共四种情况,但其中两个拼接所得字符串相同,因此集合L(xy)中仅有三个字符串。L(x)L(y)L(x)×L(y)令 冲 令冲狐冲令狐冲令狐冲令狐冲狐冲令狐狐冲另外注意,因为L(xy)是一个集合,所以要用一对花括号包围全部元素。5. 用自然语言给出下列正规式所描述的语言: (1) yx+y (2) (a|b)*a(a|b)。答: (1) 首尾均为y、中间为一个或多个x 构成的串。 (2) 以 aa 或 ab 结尾的 ab串(或:倒数第2个字符为a的ab串).解析:用自然语言描述模式时,其陈述方式不唯一,但必须将要求的所

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档