二义文法的应用PPT课件.ppt_第1页
二义文法的应用PPT课件.ppt_第2页
二义文法的应用PPT课件.ppt_第3页
二义文法的应用PPT课件.ppt_第4页
二义文法的应用PPT课件.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

二义文法的应用4 8 1 4 6二义文法的应用 二义文法的特点 二义文法决不是LR文法简洁 自然例二义文法E E E E E E id非二义的文法 E E T TT T F FF E id该文法有单个非终结符为右部的产生式 2 34 4 6二义文法的应用 二义文法的特点 二义文法决不是LR文法简洁 自然可以用文法以外的信息来消除二义语法分析的效率高 基于消除二义后得到的分析表 3 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合 4 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I7E E E E E EE E E 5 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I7E E E E E Eid id idE E E面临 归约 6 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I7E E E E E Eid id idE E Eid id id面临 归约面临 移进 7 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I7E E E E E Eid id idE E Eid id id面临 归约面临 移进面临 和 归约 8 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I8E E E E E EE E E 9 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I8E E E E E Eid id idE E E面临 归约 10 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I8E E E E E Eid id idE E Eid id id面临 归约面临 归约 11 34 4 6二义文法的应用 4 6 1使用文法以外信息来解决分析动作冲突例二义文法E E E E E E id规定 优先级高于 两者都是左结合LR 0 项目集I8E E E E E Eid id idE E Eid id id面临 归约面临 归约面临 和 归约 12 34 4 6二义文法的应用 4 6 2特殊情况产生式引起的二义性E EsubEsupEE EsubEE EsupEE E E c 13 34 4 6二义文法的应用 4 6 2特殊情况产生式引起的二义性E EsubEsupEE EsubEE EsupEE E E c从定义形式语言的角度说 第一个产生式是多余的 14 34 4 6二义文法的应用 4 6 2特殊情况产生式引起的二义性E EsubEsupEE EsubEE EsupEE E E c联系到语义处理 第一个产生式是必要的 15 34 4 6二义文法的应用 4 6 2特殊情况产生式引起的二义性E EsubEsupEE EsubEE EsupEE E E c对asubisup2 需要下面第一种输出 16 34 4 6二义文法的应用 4 6 2特殊情况产生式引起的二义性E EsubEsupEI11 E EsubEE EsubEsupE E EsupEE EsupE E E E c按前面一个产生式归约 17 34 4 6二义文法的应用 4 6 3LR分析的错误恢复1 LR分析器在什么情况下发现错误访问动作表时若遇到出错条目访问转移表时它决不会遇到出错条目决不会把不正确的后继移进栈规范的LR分析器甚至在报告错误之前决不做任何无效归约 18 34 4 6二义文法的应用 2 紧急方式错误恢复 19 34 4 6二义文法的应用 2 紧急方式错误恢复 1 退栈 直至出现状态s 它有预先确定的A的转移 20 34 4 6二义文法的应用 2 紧急方式错误恢复 1 退栈 直至出现状态s 它有预先确定的A的转移 2 抛弃若干输入符号 直至找到a 它是A的合法后继 21 34 4 6二义文法的应用 2 紧急方式错误恢复 1 退栈 直至出现状态s 它有预先确定的A的转移 2 抛弃若干输入符号 直至找到a 它是A的合法后继 3 再把A和状态goto s A 压进栈 恢复正常分析 22 34 本章要点 文法和语言的基本知识自上而下的分析方法 预测分析 非递归的预测分析 LL 1 文法自下而上的分析方法 SLR 1 方法 规范LR 1 方法和LALR 1 方法LR方法如何用于二义文法语法分析的错误恢复方法 23 34 例题1 下面的二义文法描述命题演算公式的语法 为它写一个等价的非二义文法S SandS SorS notS p q S 非二义文法的产生式如下 E EorT TT TandF FF notF E p q 24 34 例题1 下面的二义文法描述命题演算公式的语法 为它写一个等价的非二义文法S SandS SorS notS p q S 非二义文法的产生式如下 E EorT TT TandF FF notE E p q notpandq有两种不同的最左推导 25 34 例题1 下面的二义文法描述命题演算公式的语法 为它写一个等价的非二义文法S SandS SorS notS p q S 非二义文法的产生式如下 E EorT TnotpandqT TandF FnotpandqF notE E p q notpandq有两种不同的最左推导 26 34 例题2 设计一个文法 字母表 a b 上a和b的个数相等的所有串的集合二义文法 S aSbS bSaS aabbababaabbababSSSS 27 34 例题2 设计一个文法 字母表 a b 上a和b的个数相等的所有串的集合二义文法 S aSbS bSaS aabbababaabbabab二义文法 S aB bA A aS bAAB bS aBBaabbababaabbababaabbababBBBBBB 28 34 例题2 设计一个文法 字母表 a b 上a和b的个数相等的所有串的集合二义文法 S aSbS bSaS aabbababaabbabab二义文法 S aB bA A aS bAAB bS aBBaabbababaabbababaabbabab非二义文法 S aBS bAS A a bAAaabbababB b aBBaBS 29 34 例题3 试说明下面文法不是LR 1 的 L MLb aM 30 34 例题4 下面的文法不是LR 1 的 对它略做修改 使之成为一个等价的SLR 1 文法program begindeclist statementenddeclist d declist dstatement s statement s该文法产生的句子的形式是begind d d s s send修改后的文法如下 program begindecliststatementenddeclist d declist d statement s statement s

温馨提示

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

评论

0/150

提交评论