2007-2008-2期中选考b卷编译答案详解.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文档。上传文档
查看更多
中国民航学院2005-2006 学年第1学期 《编译原理》期中选考(B卷)标准答案 (评分标准:每小题10分,共100分) 1.证明: E = T = iF = iE* = iEiT* = iTiT* = iFiT* E = T = F = E* = EiT* = TiT* = iFiT* 评分标准: 正确推导出二义性者得满分,否则不得分。 2.解: (1)消除左递归: S - a | ^ | (T) T - ST’ T’ - , ST’ | ε (2)计算FIRST和FOLLOW : FIRST(S) = {a, ^, ( ) FIRST(T) = {a, ^, ( } FIRST(T’) = {, , ε} FOLLOW(S) = { #, , , ) } FOLLOW(T) = { ) } FOLLOW(T’) = { } } (3)验证是LL(1)文法。 首先,该文法已经消除了左递归; 其次,S和T’的产生式的FIRST集两两不相交; 最后,FIRST(T’)∩FOLLOW(T’)为空,所以该文法是LL(1)文法。 评分标准:消除左递归3分,计算FIRST和FOLLOW 4分,验证LL(1)文法3分。FIRST和FOLLOW不要求全部计算,但T’的FIRST和FOLLOW必须全部计算。若计算错误,错一个扣1分,扣完为止。验证LL(1)文法时第一条不含左递归不明确表示也不扣分。 3.解答 1)对于规则S ( Pa | Pb | c,我们有 FIRDT(Pa) (FIRDT(Pb)={c,f}(( 所以该文法不是LL(1)文法。 2)将文法拓广为: S’( S S ( Pa S ( Pb S ( c P ( Pd P ( Se P ( f 画出该文法识别活前缀的DFA,其中只有一个状态存在移进规约冲突。 S’ ( S. P ( S.e FOLLOW(S’)={#} 可以使用SLR方法解决冲突,所以该文法是SLR(1)文法。 评分标准:LL(1)文法判断正确得4分,SLR(1)文法判断正确得5分。 4.解答 规约及翻译过程如下: 步骤 符号栈 输入串 使用规则 输出结果 0 # aaadbc# 1 #a aadbc# 2 #A aadbc# A(a 3 3 #Aa adbc# 4 #AA adbc# A(a 3 5 #AAa dbc# 6 #AAA dbc# A(a 3 7 #AAAd bc# 8 #AAAdb c# 9 #AAAdbc # 10 #AAAdbC # C(C 6 11 #AAAdB # B(bC 4 12 #AAAB # B(dB 5 13 #AAS # S(AB 2 14 #AS # S(AS 1 15 #S # S(AS 1 输出结果为:333645211。 评分标准:未给出输出结果或者输出结果错误者最高得分不能超过5分;归约过程酌情给分。 5.解答 三地址代码: 四元式序列 T1 := i * 20 100 (*, i, 20, T1) T2 := T1 + j 101 (+, T1, _, T2) T3 := B – 84 102 (-, B, 84, T3) T4 := 4 * T2 103 (*, 4, T2, T4) T5 := T3[T4] 104 (:=, T3[T4], _, T5) T6 := i + j 105 (+, i, j, T6) T7 := C – 4 106 (-, C, 4, T7) T8 := 4*T6 107 (*, 4, T6, T8) T9 := T7[T8] 108 (:=, T7[T8], _, T9) A := T5 + T9 109 (+, T5, T9, A) 评分标准:每行1分,给出四元式即得满分。 6.解答 100 (j=, A, 1, 102) 101 (j, _, _, 105) 102 (+, C, 1, T1) 103 (:=, T1, _, C) 104 (j, _, _, 107) 105 (+, A, 2, T2) 106 (:=, T2, _, A) 107 评分标准:100、101和104各占2分,其余每个1分,107不占分。 7.解答: 100 (j, A, C, 102) 101 (j, _, _, 115) 102 (j, B, D, 104) 103 (j, _, _, 115) 104 (j=, A, 1, 106) 105

文档评论(0)

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

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

1亿VIP精品文档

相关文档