编译原理与实践作业答案

上传人:豆浆 文档编号:20510684 上传时间:2017-11-22 格式:DOC 页数:7 大小:312.50KB
返回 下载 相关 举报
编译原理与实践作业答案_第1页
第1页 / 共7页
编译原理与实践作业答案_第2页
第2页 / 共7页
编译原理与实践作业答案_第3页
第3页 / 共7页
编译原理与实践作业答案_第4页
第4页 / 共7页
编译原理与实践作业答案_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《编译原理与实践作业答案》由会员分享,可在线阅读,更多相关《编译原理与实践作业答案(7页珍藏版)》请在金锄头文库上搜索。

1、作业题:2.1(a,c,d), 2.8(a,c,d), 2.12, 3.3, 3.4, 4.8, 4.125.8(a,b,c), 5.12, 6.7, 6.8, 6.137.4, 7.15第二章作业:21 (a) a | aa-z*a(c) 1-90-9*(d) 0-9*024682.8(a)Start a a b-z a b-z 正则表达式中丢了单独 a 的情况的比较多,另外有些同学在有 NFA 到 DFA 的转化过程中,不能够正确的确定最终的状态,造成有两个终结状态的情况。(c)Start 1-90-9 (d)问题比较多,建议同学画出 DFA 图生成的全部过程。2.1234 (c).rew

2、rite this grammar to establish the correct precedences for the operator.rexp - rexp “|” rexp1 | rexp1rexp1 - rexp1 rexp2 | rexp2rexp2 - rexp3 * | rexp3rexp3 - (rexp) | letter左结合48 (a) 消除左递归lexp - atom | list atom - number | identifierlist - (lexp-seq)lexp-seq - lexp lexp-seqlexp-seq - lexp lexp-seq

3、| first (lexp)= number ,identifier,( first (atom)= number, identifier first (list) = ( first (lexp-seq)= number ,identifier,( first (lexp-seq)= number ,identifier,( , a abaaba bba aaba bbfollow(lexp)= $,),number,identifier,(follow (atom)= $,), number,identifier,( follow (list) = $,), number,identifi

4、er,(follow (lexp-seq)= )follow (lexp-seq)= )MN,T number identifier ( ) $lexp lexp-atom lexp-atom lexp-listatom atom-number atom-identifierlist list - (lexp-seq)lexp-seq lexp-seq - lexp lexp-seqlexp-seq - lexp lexp-seqlexp-seq - lexp lexp-seqlexp-seq lexp-seq - lexp lexp-seqlexp-seq - lexp lexp-seqle

5、xp-seq - lexp lexp-seqlexp-seq - 4.12(a) LL(1)文法不会是二义的,因为它的分析表的每个入口是唯一的。就不会是二义文法了。(b) 二义文法也不可能是 LL(1)的,否则在 LL(1)的 parsing table 中会产生各种冲突。非二义的文法不一定是 LL(1)的,因为二义文法是非 LL(1)文法的一个因素,但不是唯一的因素。如一些带有左递归的文法也不是 LL(1)文法。第五章作业512 s ssa A d | b B d | a B e | b A eAcBc5.8 Consider the following grammardeclaration

6、 - type var-listtype - int | floatvar-list - identifier, var-list | identifier (a) declaration - type var-listtype - int | floatvar-list - var-list, identifier | identifier s s,$sa A d,$ s b B d ,$s a B e,$ s b A e,$absaA d,$ saB e,$ Ac, dBc, es bB d ,$s bA e,$Ac, eBc, ds s,$saAd,$AsaAd,$saBe,$BsaBe

7、,$As bAe,$sbAe,$BsbBd,$sbBd,$Ac, eBc, dAc, dBc, ec c(b) decl - type vlist type - inttype -float 7vlist - vlist, idvlist - id061 243 5follow(decl)= $ , follow(type)= id follow(vlist)= $, , (c ) construct the SLR(1) parsing table for the rewritten grammarstate input gotoint float id , $ type Decl vlis

8、t0 6 7 11 3 22 4 r13 r5 r54 55 r4 r46 r27 r36.7 ,Decl- . type vlist type-.inttype -.floattypedecl - type. vlistvlist - . vlist , idvlist - .id vlistdecl - type vlist.vlist - vlist. , idvlist - vlist, .idvlist - vlist, id.vlist - id.idtype-int. type - float.iddecl var-list: type var-list.dtype = type

9、.dtypevsr-list11 var-list2, id var-list2.dtype = var-list1.dtypeid.dtype = var-list1.dtypetype integer type.dtype = inttype real type.dtype = float 6.8 decl id var-list id.dtype = var-list.dtypevar-list1 , id var-list2 var-list1.dtype = var-list2.dtypeid.dtype = var-list2.dtype var-list : type var-l

10、ist.dtype = type.dtypetype integer type.dtype = inttype real type.dtype = float6.13 Solution:a.u S vu A v u B v u C vabcOne correct order can be:C.v = 1B.u = S.uB.v = B.uA.u = B.v + C.vA.v = 2 * A.uS.v = A.vb.8.c.u S vu A v u B v u C vabcThe value is not calculable due to the circularity of the depe

11、ndency graph. The value of C.u depends on that of A.v, which in turn depends on that of A.u, which in its own turn depends on C.v, which finally depends on that of C.u, which is to be decided by the calculation.6.13 s.v = -2, 存在环,不是一个拓扑排序。74 main procedure a procedureb procedurec procedureb procedurec procedure715A、1,1B、3,1C、2,1D、2,2control linkreturn addressx: access link control linkreturn addressaccess link control linkreturn addressaccess linkcontrol linkreturn addressaccess link control linkreturn addressfpsp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号