资源描述:
《编译原理课后答案解析[陈火旺]》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、完美WORD格式编辑第二章P36-6(1)是0~9组成的数字串(2)最左推导:最右推导:P36-7G(S)P36-8文法:最左推导:最右推导:语法树:/********************************学习指导参考资料完美WORD格式编辑*****************/P36-9句子iiiei有两个语法树:P36-10/*****************************/P36-11/***************L1:L2:L3:学习指导参考资料完美WORD格式编辑L4:***************/第三章习题参考答案P64–7(1)XYX1234
2、Y5011011确定化:01{X}φ{1,2,3}φφφ{1,2,3}{2,3}{2,3,4}{2,3}{2,3}{2,3,4}{2,3,4}{2,3,5}{2,3,4}{2,3,5}{2,3}{2,3,4,Y}{2,3,4,Y}{2,3,5}{2,3,4,}032010100110654010111最小化:学习指导参考资料完美WORD格式编辑002110010543010111P64–8(1)(2)(3)P64–12(a)a10a,ba确定化:ab{0}{0,1}{1}{0,1}{0,1}{1}{1}{0}φ学习指导参考资料完美WORD格式编辑φφφ给状态编号:ab01211
3、2203333a10aabbb32ba最小化:aa210bbab(b)032bbaabaab541baaa已经确定化了,进行最小化学习指导参考资料完美WORD格式编辑最小化:021bbaabaP64–14(1)01010(2):YX201Y1X0确定化:01{X,1,Y}{1,Y}{2}学习指导参考资料完美WORD格式编辑{1,Y}{1,Y}{2}{2}{1,Y}φφφφ给状态编号:01012112213333010010321110最小化:031011100第四章P81–1(1)按照T,S的顺序消除左递归递归子程序:procedureS;beginifsym='a'orsym
4、='^'thenabvanceelseifsym='('学习指导参考资料完美WORD格式编辑thenbeginadvance;T;ifsym=')'thenadvance;elseerror;endelseerrorend;procedureT;beginS;end;procedure;beginifsym=','thenbeginadvance;S;endend;其中:sym:是输入串指针IP所指的符号advance:是把IP调至下一个输入符号error:是出错诊察程序(2)FIRST(S)={a,^,(}FIRST(T)={a,^,(}FIRST()={,,}FOLLOW(
5、S)={),,,#}FOLLOW(T)={)}FOLLOW()={)}预测分析表a^(),#ST是LL(1)文法P81–2文法:学习指导参考资料完美WORD格式编辑(1)FIRST(E)={(,a,b,^}FIRST(E')={+,ε}FIRST(T)={(,a,b,^}FIRST(T')={(,a,b,^,ε}FIRST(F)={(,a,b,^}FIRST(F')={*,ε}FIRST(P)={(,a,b,^}FOLLOW(E)={#,)}FOLLOW(E')={#,)}FOLLOW(T)={+,),#}FOLLOW(T')={+,),#}FOLLOW(F)={(,a,b,^
6、,+,),#}FOLLOW(F')={(,a,b,^,+,),#}FOLLOW(P)={*,(,a,b,^,+,),#}(2)考虑下列产生式:FIRST(+E)∩FIRST(ε)={+}∩{ε}=φFIRST(+E)∩FOLLOW(E')={+}∩{#,)}=φFIRST(T)∩FIRST(ε)={(,a,b,^}∩{ε}=φFIRST(T)∩FOLLOW(T')={(,a,b,^}∩{+,),#}=φFIRST(*F')∩FIRST(ε)={*}∩{ε}=φFIRST(*F')∩FOLLOW(F')={*}∩{(,a,b,^,+,),#}=φFIRST((E))∩FIRST(
7、a)∩FIRST(b)∩FIRST(^)=φ所以,该文法式LL(1)文法.(3)+*()ab^#EE'TT'学习指导参考资料完美WORD格式编辑FF'P(4)procedureE;beginifsym='('orsym='a'orsym='b'orsym='^'thenbeginT;E'endelseerrorendprocedureE';beginifsym='+'thenbeginadvance;Eendelseifsym<>')'andsym<>'#'thenerrorendproce