对下面的文法G_第1页
对下面的文法G_第2页
对下面的文法G_第3页
对下面的文法G_第4页
对下面的文法G_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

对下面的文法GP912、对下面的文法G:ETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P(E)|a|b|^(1)计算这个文法的每个非终结符的FIRST集和FOLLOW集。(2)证明这个文法是LL(1)的。(3)构造它的预测分析表。(4)构造它的递归下降分析程序。解:(1)计算FIRST与FOLLOW集FIRST(P)={(,a,b,^}FIRST(F’)={*,

}FIRST(F)=FIRST(P)={(,a,b,^}FIRST(T’)=FIRST(T){}={(,a,b,^,

}FIRST(T)=FIRST(F)={(,a,b,^}FIRST(E’)={+,}FIRST(E)=FIRST(T)={(,a,b,^}FOLLOW(E)={),#}FOLLOW(E’)=FOLLOW(E)={),#}FOLLOW(T)=FIRST(E’)\FOLLOW(E)={+,),#}FOLLOW(T’)=FOLLOW(T)=={+,),#}FOLLOW(F)=FIRST(T’)\FOLLOW(T)={(,a,b,^,+,),#}FOLLOW(F’)=FOLLOW(F)={(,a,b,^,+,),#}FOLLOW(P)=FIRST(F’)\FOLLOW(F)={*,(,a,b,^,+,),#}ETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P(E)|a|b|^FIRSTFOLLOWE(,a,b,^),#E’+,),#T(,a,b,^+,),#T’(,a,b,^,

+,),#F(,a,b,^(,a,b,^,+,),#F’*,

(,a,b,^,+,),#P),a,b,^*,(,a,b,^,+,),#(2)证明这个文法是LL(1)的。对产生式P(E)|a|b|^,有FIRST((E))FISRT(a)FIRST(b)FIRST(^)=对产生式E’+E|

FIRST(+E)FOLLOW(E’)={+}{),#}=

对产生式T’T|

FIRST(T)FOLLOW(T’)=

{(,a,b,^}{+,),#}=

对产生式F‘*F’|

FIRST(*F’)FOLLOW(F’)={*}{(,a,b,^,+,),#}=

文法不含左递归。综上i,ii,iii可知,文法G是LL(1)的。ETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P(E)|a|b|^(3)构造预测分析表。(ab^)+*#E

TE’

TE’

TE’

TE’E’

+E

T

FT’

FT’

FT’

FT’T’

T

T

T

T

F

PF’

PF’

PF’

PF’F’

*F’

P(E)

a

b^(1)设置过程advance为读下一个单词送全程变量(2)设置过程error为错误处理程序1.主程序Beginadvance;E;End2.E过程ProcedureEBeginT;E’;end(4)构造递归下降分析程序。ETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P

(E)|a|b|^3.E’过程ProcedureE’Beginifsym=‘+’thenbeginadvance;E;endelseifsymin[#,)]returnelseerrorETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P

(E)|a|b|^4.T过程ProcedureTBeginF;T’;End5.T’过程ProcedureT’Beginifsymin[),+,#]returnelseTendETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P

(E)|a|b|^6.F过程ProcedureFBeginP;F’endETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P

(E)|a|b|^7.F’过程ProcedureFBeginifsym=‘*’thenbeginadvance;F’endelseifsymin[a,b,(,),^,+,#]thenreturnelseerror;endETE‘E’+E|

TFT‘T’T|

FPF‘F’*F‘|

P

(E)|a|b|^8.P过程ProcedurePBeginifsymin[a,b,^]thenadvanceelseifsym=‘(‘thenbeginadvance;Eifsym=‘)’thenadvance;

温馨提示

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

最新文档

评论

0/150

提交评论