3.4 自下而上分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4 自下而上分析.ppt

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3.5 LR分析器 3.5.2 LR文法和LR分析方法的特点 1、概念 活前缀:右句型的前缀,该前缀不超过最右句柄的右端 2、定义 LR文法:我们能为之构造出所有条目都唯一的LR分析表 3.5 LR分析器 3、LR分析方法的特点 栈中的文法符号总是形成一个活前缀 3.5 LR分析器 栈 输 入 动 作 0 id ? id + id $ 移进 0 id 5 ? id + id $ 按F ? id归约 0 F 3 ? id + id $ 按T ? F归约 0 T 2 ? id + id $ 移进 0 T 2 ? 7 id + id $ 移进 0 T 2 ? 7 id 5 + id $ 按F ? id归约 0 T 2 ? 7 F 10 + id $ 按T ? T?F归约 . . . . . . . . . 0 E 1 $ 接受 3.5 LR分析器 3、LR分析方法的特点 栈中的文法符号总是形成一个活前缀 分析表的转移函数本质上是识别活前缀的DFA 3.5 LR分析器 例 E ? E + T | E ? T 下表绿色部分构成 T ? T ? F | T ? E 识别活前缀DFA的 F ? (E ) | F ? id 状态转换表 状态 动 作 转 移 id + ? ( ) $ E T F 0 s5 s4 1 2 3 1 s6 acc 2 r2 s7 r2 r2 3 r4 r4 r4 r4 4 s5 s4 8 2 3 3.5 LR分析器 3、LR分析方法的特点 栈中的文法符号总是形成一个活前缀 分析表的转移函数本质上是识别活前缀的DFA 栈顶的状态符号包含了确定句柄所需要的一切信息 3.5 LR分析器 栈 输 入 动 作 0 id ? id + id $ 移进 0 id 5 ? id + id $ 按F ? id归约 0 F 3 ? id + id $ 按T ? F归约 0 T 2 ? id + id $ 移进 0 T 2 ? 7 id + id $ 移进 0 T 2 ? 7 id 5 + id $ 按F ? id归约 0 T 2 ? 7 F 10 + id $ 按T ? T?F归约 . . . . . . . . . 0 E 1 $ 接受 3.5 LR分析器 3、LR分析方法的特点 栈中的文法符号总是形成一个活前缀 分析表的转移函数本质上是识别活前缀的DFA 栈顶的状态符号包含了确定句柄所需要的一切信息 是已知的最一般的无回溯的移进?归约方法 能分析的文法类是预测分析法能分析的文法类的真超集 能及时发现语法错误 手工构造分析表的工作量太大 3.5 LR分析器 4、LR分析方法和LL分析方法的比较 LR(1)方 法 LL(1)方 法 建立分析树的方式 自 下 而 上 自 上 而 下 3.5 LR分析器 4、LR分析方法和LL分析方法的比较 LR(1)方 法 LL(1)方 法 建立分析树的方式 自 下 而 上 自 上 而 下 归约还是推导 规 范 归 约 最 左 推 导 3.5 LR分析器 4、LR分析方法和LL分析方法的比较 在下面的推

文档评论(0)

gshbzl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档