资源描述:
《编译原理与实践作业答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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第二章作业:2.1(a)a
2、a[a-z]*a(c)[1-9][0-9]*(d)[0-9]*[02468]2.8(a)Startaa[b-z]a[b-z]正则表达式中丢了单独a的情况的比较多,另外有些同学在有NFA到DFA的转化过程中,不能够正确的确定最终的状态,造成有两个终结状态的情况。(c)Start[1-9][0-9](d)问题比较多,建议同学画出DF
3、A图生成的全部过程。aabaabbb2.12aaabbb3.4(c).rewritethisgrammartoestablishthecorrectprecedencesfortheoperator.rexp->rexp“
4、”rexp1
5、rexp1rexp1->rexp1rexp2
6、rexp2rexp2->rexp3*
7、rexp3rexp3->(rexp)
8、letter左结合4.8(a)消除左递归lexp->atom
9、listatom->number
10、identifierlist->(lexp-seq)lexp-seq
11、->lexplexp-seq’lexp-seq’->lexplexp-seq’
12、efirst(lexp)={number,identifier,(}first(atom)={number,identifier}first(list)={(}first(lexp-seq)={number,identifier,(}first(lexp-seq’)={number,identifier,(,e}follow(lexp)={$,),number,identifier,(}follow(atom)={$,),number,id
13、entifier,(}follow(list)={$,),number,identifier,(}follow(lexp-seq)={)}follow(lexp-seq’)={)}M[N,T]numberidentifier()$lexplexp->atomlexp->atomlexp->listatomatom->numberatom->identifierlistlist->(lexp-seq)lexp-seqlexp-seq->lexplexp-seq’lexp-seq->lexplexp-seq’lexp-se
14、q->lexplexp-seq’lexp-seq’lexp-seq’->lexplexp-seq’lexp-seq’->lexplexp-seq’lexp-seq’->lexplexp-seq’lexp-seq’->e4.12(a)LL(1)文法不会是二义的,因为它的分析表的每个入口是唯一的。就不会是二义文法了。(b)二义文法也不可能是LL(1)的,否则在LL(1)的parsingtable中会产生各种冲突。非二义的文法不一定是LL(1)的,因为二义文法是非LL(1)文法的一个因素,但不是唯一的因素。如一些带有左递归的
15、文法也不是LL(1)文法。第五章作业5.12s’®ss®aAd
16、bBd
17、aBe
18、bAes’®·s,$s®·aAd,$s®·bBd,$s®·aBe,$s®·bAe,$abs®a·Ad,$s®a·Be,$A®·c,dB®·c,es®b·Bd,$s®b·Ae,$A®·c,eB®·c,ds’®s·,$s®aA·d,$As®aAd·,$s®aB·e,$Bs®aBe·,$As®bA·e,$s®bAe·,$Bs®bB·d,$s®bBd·,$A®c·,eB®c·,dA®c·,dB®c·,eccA®cB®c5.8Considerthef
19、ollowinggrammardeclaration->typevar-listtype->int
20、floatvar-list->identifier,var-list
21、identifier(a)declaration->typevar-listtype->int
22、floatvar-list->var-list,identifier
23、identifier(b)decl->typevlisttype->int,Decl->.typevlisttype->.inttype->.floattypedecl->type.vli
24、stvlist->.vlist,idvlist->.idvlistdecl->typevlist.vlist->vlist.,idvlist->vlist,.idvlist->vlist,id.vlist->id.idtype->int.type->float.idtype->float7vlist->vlist,idvlist-