编译原理平时作业-答案.docVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
平时作业 对于下列语言分别写出它们的正规表达式。 (1)?英文字母组成的所有符号串,要求符号串中顺序包含五个元音。 答:?令Letter表示除这五个元音外的其它字母。 ??((letter)*A(letter)*E(letter)*I(letter)*O(letter)*U(letter))* (2)?英文字母组成的所有符号串,要求符号串中的字母依照词典顺序排列。 答: A*B*....Z* (3)?Σ={0,1}上的含偶数个1的所有串。 答:?(0|10*1)* (4)?Σ={0,1}上的含奇数个1的所有串。 答:(0|10*1)*1 (5)?具有偶数个0和奇数个1的有0和1组成的符号串的全体。 答:设S是符合要求的串,|S|=2k+1 (k≥0)。 则 S→S10|S21,|S1|=2k (k0),|S2|=2k (k≥0)。 且S1是{0,1}上的串,含有奇数个0和奇数个1。 ?S2是{0,1}上的串,含有偶数个0和偶数个1。 考虑有一个自动机M1接受S1,那么自动机M1如下: 和L(M1)等价的正规表达式,即S1为: ((00|11)|(01|10)(00|11)*(01|10))*(01|10)(00|11)* 类似的考虑有一个自动机M2接受S2,那么自动机M2如下: 和L(M2)等价的正规表达式,即S2为: ((00|11)|(01|10)(00|11)*(01|10))* 因此,S为: ((00|11)|(01|10)(00|11)*(01|10))*(01|10)(00|11)*0| ((00|11)|(01|10)(00|11)*(01|10))*1 (6)?不包含子串011的由0和1组成的符号串的全体。 答:1*|1*0(0|10)*(1|ε) (7)?由0和1组成的符号串,把它看成二进制数,能被3整除的符号串的全体。 答: 假设w的自动机如下: 对应的正规表达式:(1(01*0)1|0)* 给出接受下列在字母表{0,1}上的语言的DFA。 (1)?所有以00结束的符号串的集合。 (2)?所有具有3个0的符号串的集合。 答: (1) DFA?M=({0,1},{q0,q1,q2},q0,{q2},δ) 其中δ定义如下: δ(q0,0)=q1???? δ(q0,1)=q0 δ(q1,0)=q2???? δ(q1,1)=q0 δ(q2,0)=q2???? δ(q2,1)=q0 (2)正则表达式: 1*01*01*01* DFA?M=({0,1},{q0,q1,q2,q3},q0,{q3},δ) 其中δ定义如下: δ(q0,0)=q1???? δ(q0,1)=q0 δ(q1,0)=q2???? δ(q1,1)=q1 δ(q2,0)=q3???? δ(q2,1)=q2 δ(q3,1)=q3???? 3 下面是用正规式表示的变量声明: ( int | float ) id (, id )* ; 请改用上下文无关文法表示,也就是写一个上下文无关文法,它和该正规式等价。 答:D ? T L ; T ? int | float L ? L, id | id 试分析下面给出的if-then-else语句的文法,它的提出原本是为了矫正dangling-else (悬而未决的-else)文法的二义性: stmt → if expr then stmt |matched-stmt matched-stmt→ if expr then matched-stmt else stmt |other 试说明此文法仍然是二义性的。 答:考虑句子if e then if e then other else if e then other else other 它具有如下所示的两种分析树 stmt expr then e if stmt if matched-stmt expr then matched-stmt e other if esle stmt matched-stmt expr then matched-stmt e other esle stmt matched-stmt other stmt matched-stmt if expr then matched-stmt e if esle stmt esle stmt matched-stmt expr then e stmt other expr then matched-stmt e other if matched-stmt other 则上面给出的if-then-else文法仍是二义性的。 证明下面文法是SLR(1)文法,并构造其SLR分析表。 E→E+T|T T→TF|F F→F*|a|b 答:该文法的拓广文法G为 (0)

文档评论(0)

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

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

1亿VIP精品文档

相关文档