005《编译原理》.docVIP

  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文档。上传文档
查看更多
005《编译原理》

《编译原理》练习题参考答案 一 一、填空题 (1) 开始符号S终结符号标记为ε一个句子已化简的文法内部表示类别(VN,VT,P,S) (9) 字汇表手工的方式自动生成直接递归的递归的所区分非终态规范推导规范句型终态结点标记字符( aB ( aaBB ( aabSB ( aabbAB ( aabbaB ( aabbab S ( aB ( aaBB ( aabB ( aabbS ( aabbaB ( aabbab 所以文法G[S]为二义性文法。 2. 证明: 因为文法G[S]的一个句子aaab对应如下的两个最左推导序列: S ( aAB ( aaAB ( aaaB ( aaab S ( aAB ( aaB ( aaaB ( aaab 所以文法G[S]为二义性文法。 四、简答题 1.解:对应文法为S→aAd A→aAd∣bBc B→bBc∣ε 2.解:首先求出如下集合 W(S)={S,A,B}, W(A)={A,B}, W(B)={B} 然后按如下步骤得到产生式集P′单产生式P′中: S→AbB A→AB∣caB B→Aa∣b 因为A,B∈W(S),故将A,B的所有非单产生式产生式P′中: S→AB∣caB S→Aa∣b 因为B∈W(A),故将B的所有非单产生式产生式P′中: A→Aa∣b 由此消除单产生式后的如下: 正规式如图所示 4. 解:对于G我们得到W={A},于是得到消除ε产生式:为W(S)={S,F,M}, W(F)={F,M}, W(M)={M} 然后按如下步骤得到产生式集P′单产生式P′中: S→aFbM F→abc M→abF∣c 因为F,M∈W(S),故将F,M的所有非单产生式产生式P′中: S→abc S→abF∣c 因为M∈W(F),故将M的所有非单产生式产生式P′中: F→abF∣c 由此消除单产生式后的如下: S→Cc,C→Da,D→Cb∣CDa都是无用产生式,应予以删除。 因此我们最后得到与等价且不含无用符号及无用产生式的文法为S→Bab B→bS∣b 8. 解: 与正规式如图所示 9.解:对应文法为S→aA A→bB B→bB∣cC C→bC∣a 10.解: L[G]={a(ab)nba(ab)mckd∣n,m,k≥0} 五、应用题 1.解: (1) 相应的状态转换图如图所示 (2) 相应的3型文法S→aA∣bA∣cA A→aB∣bC∣cD∣a∣b∣c B→aA C→bA D→cA 2.解:(1) 将NFA确定化后状态转换如图且由于的组成中含有M的终态,故和组成了M′的终态集Z′。于是,所构造之DFA M′的状态转换状态转换图如图()及()所示。 3.解:(1) 将NFA M确定化后状态转换如图且由于的组成中含有M的终态,故和组成了M′的终态集Z′。于是,所构造之DFA M′的状态转换状态转换图如图()及()所示。 4.解: 现将M最小化(ⅰ) 初始分划由两个子集组成,即π0:{1,2,4}, {3,5} (ⅱ) 为得到下一分划,考察子集{}。因为 {}a ={3}({3,5} 而 {2,4}a ={4}({1,2,4} 故于是便得到下一分划π1: {1}, {2,4}, {3,5} (ⅲ) 为得到下一分划,考察子集{}。因为 {}a ={5}a ={4} 又因为 {3}b ={3}({3,5}, {5}b ={5}({3,5} 故,于是得到下一分划π1相同: π2: {1}, {2,4}, {3,5} (ⅳ) 再考察子集{},因为 {}a ={4}a ={4} 又因为 {2}b ={5}, {4}b ={3}, 且3与5等价, 故于是得到下一分划π2相同: π3: {1}, {2,4}, {3,5} 此时子集分裂的过程宣告结束(ⅴ)现选择状态作为{}的代表,状态作为{}的代表将状态从状态转换图中删去,并将原来引的矢线都引至,将原来引的矢线都引至这样,我们就得到了化后的DFA M如图所示。 5.解: 现将M最小化(ⅰ) 初始分划由两个子集组成,即 π:{1,2,4}, {3,5,6,7} (ⅱ) 为得到下一分划,考察子集{}。因为 {}0 ={2}({1,2,,4}, {2,4}0 ={3,6}({3,5,6,7} 故,于是便得到下一分划 π: {1}, {2,4}, {3,5,6,7} (ⅲ) 再考察{},因为 {}1 ={4} 而{4}1 =( 故,从而又得

文档评论(0)

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

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

1亿VIP精品文档

相关文档