资源描述:
《编译原理第三版课后习题解答》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
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:***
2、************/第三章习题参考答案P64–7(1)XYX1234Y5011011确定化: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
3、,ba确定化:ab{0}{0,1}{1}{0,1}{0,1}{1}{1}{0}φ专业技术分享WORD格式可编辑φφφ给状态编号:ab012112203333a10aabbb32ba最小化: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}φφφφ
4、给状态编号:01012112213333010010321110最小化:031011100第四章P81–1(1)按照T,S的顺序消除左递归递归子程序:procedureS;beginifsym='a'orsym='^'thenabvanceelseifsym='('专业技术分享WORD格式可编辑thenbeginadvance;T;ifsym=')'thenadvance;elseerror;endelseerrorend;procedureT;beginS;end;procedure;begini
5、fsym=','thenbeginadvance;S;endend;其中:sym:是输入串指针IP所指的符号advance:是把IP调至下一个输入符号error:是出错诊察程序(2)FIRST(S)={a,^,(}FIRST(T)={a,^,(}FIRST()={,,}FOLLOW(S)={),,,#}FOLLOW(T)={)}FOLLOW()={)}预测分析表a^(),#ST是LL(1)文法P81–2文法:专业技术分享WORD格式可编辑(1)FIRST(E)={(,a,b,^}FIRST(E')=
6、{+,ε}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,^,+,),#}FOLLOW(F')={(,a,b,^,+,),#}FOLLOW(P)={*,(,a,b,^,+,),#}(2)考虑下列产生式:FI
7、RST(+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(a)∩FIRST(b)∩FIRST(^)=φ所以,该文法式LL(1
8、)文法.(3)+*()ab^#EE'TT'专业技术分享WORD格式可编辑FF'P(4)procedureE;beginifsym='('orsym='a'orsym='b'orsym='^'thenbeginT;E'endelseerrorendprocedureE';beginifsym='+'thenbeginadvance;Eendelseifsym<>')'andsym<>'#'thenerrorendprocedureT;beginifsym='('orsy