




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1对文法GS G:S a | | (T) T T , S | S (1) 给出(a,(a,a)和(a,a), ,(a),a)的最左推导。 (2) 对文法G,进行改写,然后对每个非终结符写出不带回溯的递归子程序。 (3) 经改写后的文法是否是LL(1)的?给出它的预测分析表。 (4) 给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。1. 解答(1) S S ( T ) ( T ) T , S T , S S=(T) =(T,S) =(S,S) S ( T ) S a =(T),S) =(T,S),S) a T , S ( T ) =(T,S,S),S) =(S,S,S),S) S a T , S =(T),S,S),S) =(T,S),S,S),S) a T , S ( T ) =(S,S),S,S),S) =(a,S),S,S),S) S=(T) =(T,S) S S =(a,a),S,S),S) =(S,S) =(a,S) =(a,a),S),S) =(a,(T) ( T ) a =(a,a),(T),S) =(a,(T,S) =(a,a),(S),S) =(a,(S,S) T , S =(a,a),(a),S) =(a,(a,S) =(a,a),(a),a) =(a,(a,a) S a a(2)消除左递归G:S a | | (T) T STT ,ST |递归子程序:program parser proceduce T;begin begin getsym; if sym in a,() then S beginend; S;proceduce S; T; begin end;if sym=a or sym= then else getsym error;elseif sym=( end; begin getsym; proceduce T; T; begin If sym=) then if sym=, then Getsym; begin Else getsym; Error; S; End; T; Else end; Error; elseEnd; if sym=) then else error; end;(3) FIRST集FOLLOW集Sa (#FIRST(T)/FOLLOW(T)FOLLOW(T)# , ) TFIRST(S)a ()T, FOLLOW(T)FOLLOW(T)FIRST集FOLLOW集Sa (# , ) Ta ()T, )SELECT集合SaaSS(T)(TSTa (T,ST,T)a( ),#Sa(T)TSTSTSTT,ST预测分析表不含多重定义入口, 所以该文法是LL(1)文法!(4) 分析栈 余留串 所用产生式或动作 1 #S (a,a)# S(T) 2 #)T( (a,a)# (匹配 3 #)T a,a)# TST 4 #)TS a,a)# Sa 5 #)Ta a,a)# a匹配 6 #)T ,a)# T ,ST 7 #)TS, ,a)# ,匹配 8 #)TS a)# Sa 9 #)Ta a)# a匹配 10 #)T )# T 11 #) )# )匹配 12 # # 接受因为 (a,a)#分析成功 所以 (a,a)为文法的句子步骤分析栈 余留串所用产生式或动作 1#S(a,a#S(T) 2#)T(a,a#( 匹配 3 #)Ta,a#TST 4 #)TSa,a# Sa 5 #)Taa,a# a 匹配 6 #)T,a# T ,ST 7 #)TS,a# , 匹配 8 #)TSa# Sa 9 #)Taa# a 匹配 10#)T# 出错2. G:E TE E +E |T FTT T |F PFF *F |P (E) | a | b |2. 解答可推出FIRST集FIRST集ENFIRST(T)( a b EY+ + TNFIRST(F)( a b TYFIRST(T) ( a b FNFIRST(P)( a b FY* * PN( a b ( a b FOLLOW集FOLLOW集E # FOLLOW(E) ) # )EFOLLOW(E)# )TFIRST(E)/ FOLOW(E)FOLOW(T)+ # )TFOLLOW(T)+ # )FFIRST(T)/ FOLOW(T)( a b + # )FFOLLOW(F)( a b + # )PFIRST(F)/ FOLOW(F)* ( a b + # )SELECT集SELECT集ETEFIRST(T)( a b E+E+EFOLLOW(E)# )TFTFIRST(F)( a b TTFIRST(T)( a b TFOLLOW(T)# ) +FPFFIRST(P)( a b F*F *FFOLLOW(F)( a b + # )P(E)(PaaaPbbbP预测分析表+*()ab#ETETETETEE+ETFTFTFTFTTTTTTFPFPFPFPFF*FP(E)abETETETETE3已知文法G:S MH | a H LSo | K dML | L eHf M K | bLM判断G是否是LL(1)文法,如果时,构造LL(1)分析表。3. 解答可推出FIRST集FIRST集SYa, FIRST (M), FIRST (H)a, b, , d, eHY, FIRST (L), eKY, d, dLNeeMYb, FIRST (K)b, , dFOLLOW集FOLLOW集S#, o#, oHFOLLOW(S), f#, o, fKFOLLOW(M)e, #, oLFIRST(So)/, FOLLOW(K), FIRST(M)/ , FOLLOW(M)a, b, d, e, o, #MFIRST(H)/, FOLLOW(S), FIRST(L), FOLLOW(M)e, #, oSELECT集SELECT集SMH FIRST(MH)/,FOLLOW(S)b,d,e, #, oSaaaHLSoFIRST(LSo)eHFOLLOW(H)#, o, fKdMLddKFOLLOW(K)e, #, oLeHfeeMKFIRST(K) /,FOLLOW(M)d, e, #, oMbLMbbaodefb#SaMHMHMHMHMHHLsoKdMLLeHfMKKKbLMK因为 相同左部的select集互不相交 所以 该文法是LL(1)文法或者 因为 预测分析表入口唯一 所以 该文法是LL(1)文法7对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。(2)AaABe | a BBb | d (3) SAa | b ASB Bab7. 解答不一定(2)AaABe | a BBb | d 改写为AaAAABe |BdB BbB |可推出FIRST集ANaAYa,BNdBYb,FOLLOW集FOLLOW集A#, FIRST(Be)#, dAFOLLOW(A)#, dBeeBFOLLOW(B)eSELECT集AaAaAABe aA#, dBdBdBbB bBeSelect(A Abe)select(A )= select(BbB)select(B)=所以 该文法是LL(1)文法(3)SAa | bASB Babl 排序 B A SBab不含左递归代入A得 ASab 不含左递归代入S得SSaba | b 消左递归得SbS S abaS | 整理得SbSSabaS | ASab Bab化简文法,消去A,B得SbSSabaS | 判断select(S abaS)select(S )= 所以 改写后的文法是LL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级历史上册 第13课《英国的新生》教学设计 川教版
- 人音版一年级音乐上册(简谱)第6课《聆听 小青蛙》教学设计
- 信息技术八年级下册2.2《程序与传感器》教学设计
- 人教版七年级上册教学设计2.2.3众多的河湖
- 公司员工请假单
- 人教版生物八下 8.2用药与急救 【教案】
- 九年级英语下册 Unit 1 AsiaPerid Ⅱ Reading教学设计设计(pdf)(新版)牛津版
- 人教版历史(2016)上册教学设计第5课 青铜器与甲骨文
- 2024华润怡宝饮料(六安)有限公司招聘笔试参考题库附带答案详解
- 三年级语文上册 第四单元 14 小狗学叫配套教学设计 新人教版
- 寻甸城乡投资开发集团有限公司笔试信息
- 本科成考试题及答案政治
- 中国桂花茶行业市场前景预测及投资价值评估分析报告
- 陕西省县以下医疗卫生机构定向招聘真题2024
- 2024年中国邮政储蓄银行广东省分行招聘笔试真题
- 四年级语文国测模拟试题 (1)附有答案
- MOOC 知识创新与学术规范-南京大学 中国大学慕课答案
- 换发药品生产许可证自查报告格式
- 吊篮四方验收表
- 严重障碍量表SIB
- 建筑垃圾清运报价单.doc
评论
0/150
提交评论