复习LL-LR文法.ppt_第1页
复习LL-LR文法.ppt_第2页
复习LL-LR文法.ppt_第3页
复习LL-LR文法.ppt_第4页
复习LL-LR文法.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、六、已知语法GB:B aDd .=.=.且|=0 D bD | | bB (dB或eB )求出各非终结符的First、Follow集。 每个规则的选择集。 判定是LL(1)语法。 建立GB递归下降分析程序建立GB预测分析表。 导出字符串abbdb的预测分析过程。 构筑识别GB拓广语法的所有LR(0)项目的DFA。 制作SLR(1)分析表。 GB是LR(0)语法吗? GB是SLR(1)语法吗? GB是LR(1)语法吗? 为什么? 给出了字符串abbbd的SLR(1)分析过程。 Main() /* Read函数将输入流前缀读取到变量SYM中*/Read (); b (); /*存储sym输入流标题

2、的全局变量*/if SYM=# then /* Write是输出函数。 Skip为空的操作*/write (“分析成功! ”“这是一个很好的例子。” 错误处理程序*/else write (失败)/*说明:另一个名称*/B() if SYM=a then Read (); d (); if SYM=d then Read() Else Error (); else错误(); D() if SYM=b then Read (); d (); 指定要跳过的错误(); 构造GB的预测分析表如下:字符串abdb的预测分析过程包括:标识5.GB扩展语法LR(0)项的DFA构造:生成式编号可以不从1开始,

3、但是必须匹配归约符号r的下标。 SLR(1)表中的行可以任意放置,但必须与项目集编号匹配。 SLR(1)分析表结构,因为明显在项目集I2、I4中存在“转移归约”冲突,所以GB不是LR(0)语法。 因为SLR(1)分析表中没有多重入口,所以GB是SLR(1)语法。 是LR(1)语法,字符串abbd的SLR(1)分析过程如下:递归下降分析器设置修正考虑生成式: a1|2|nprocedurea () ifchselect (a1) then procedure1(); elseifchselect (a2)程序2 (); elseifchselect (an )提升程序(); 对于else ERROR end if和Ai,假定代表I的子程序I=x1x2xmxivtvn (a ) aavnavt (a ) ifch=athenreadelseerrorendifsym或ch。 ERROR ()表示要进行错误处理SKIP输出write ()函数,1 .提供一个三地址命令(即四元序列),其中1)x=a*b(-e-(a*b)(2)y=ab上述表达式的中间代码包含解(1) x=A * B (- E - (A * B ) ) 1 (*,a,b,t1)2(-,e,-,T2) 3 (*) (2

温馨提示

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

评论

0/150

提交评论