编译原理正规式(ab)ab(ab).doc_第1页
编译原理正规式(ab)ab(ab).doc_第2页
编译原理正规式(ab)ab(ab).doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

正规式 (a | b)*ab(a | b)* 六、(1) SaSSbS SaAAbBBaBBbBB e(2) 0123645 a a e e a b e e b b(3) 确定化I0,1,21,2,31,21,2,31,2,31,2,4,5,61,21,2,31,21,2,4,5,61,2,3,5,61,2,5,61,2,3,5,61,2,3,5,61,2,4,5,61,2,5,61,2,3,5,61,2,5,6012345 b b 1 a a a a a a b b b baa01b3ba(4) 最小化七、(1)(a, (a, a)的最左推导为S(T)(T, S)(S, S)(a, (T)(a, (T, S)(a, (S, a)(a, (a, a)(a, a), , (a), a)的最左推导为S(T)(T, S)(S, a)(T), a)(T, S), a)(T, S, S), a)(S,(T), a)(T), (S), a)(T, S),(a), a)(S, a),(a), a)(a, a),(a), a)(2) 由于有T T, S的产生式,所以消除该产生式的左递归,增中一个非终结符U有新的文法GS:S a | | (T)T SUU , SU | 各非终结符的FIRST集如下:FIRST(S)=a, , (FIRST(T)=FIRST(S)=a, , (FIRST(U)=, , 各非终结符的FOLLOW集如下:FOLLOW(S)=#FIRST(U)FOLLOW(T)FOLLOW(U)=#, , ,)FOLLOW(T)=)FOLLOW(U)=FOLLOW(T)=) (3) LL(1) 分析表a(),#SS aSS (T)TT SUT SUT SUUUU, SU(4) 输入串(a, a)#的分析过程 步骤分析栈剩余输入串所用产生式123456789101112#S#)T(#)T#)US#)Ua#)U#)US,#)US#)Ua#)U#)#(a,a)#(a,a)#a,a)#a,a)#a,a)#,a)#,a)#a)#a)#)#)#S (T)( 匹配TSUSaa 匹配U, SU, 匹配Saa 匹配U) 匹配Acc可见,该串是G的一个合法句子。(5) 每个非终结符的不带回溯的递归子程序如下char CH; /存放当前的输入符号void P_S() /非终结符S的子程序if (CH= =a) READ(CH); /产生式S a else if (CH= =) READ(CH); /产生式S else if (CH=() /产生式S (T)READ(CH);P_T();if (CH= =) then READ(CH) else ERRORelse ERROR;void P_T() /非终结符T的子程序if (IsIn(CH, FIRST_SU) /FIRST_SU为T SU的右部的FIRST集P_S(); P_U();void P_U() /非终结符U的子程序if(CH= =,) /产生式U , SUREAD(CH);P_S(); P_U();else /产生式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论