new第四章_语法分析1(最后版本)PPT培训课件.ppt

new第四章_语法分析1(最后版本)PPT培训课件.ppt

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

1. 定义 LL(1)分析方法也是一种自顶向下不带回溯的分析方法, LL的意思是:从左(Left)到右扫描输入符号串并建 立它的最左推导(Left most derivations)。数字1是 指向前看一个符号来决定选择同一个非终结符不同规则。 如果向前查看K个符号(K1)才能确定应选规则时,这 种语法分析方法就称LL(K)分析法。 §4.2 自顶向下语法分析 三、LL(1)分析法 ch e a d e a a 7)读入下一个字符d,即ch=d 子程序P(B) 主返 P(E):5 TOP→ SCIN ch=d? 1 2 READ P(E) ch=d? READ P(C) ERROR = ≠ = ≠ 3 4 5 6 7 9 ERROR ≠ READ 8 = ch=a? SCOUT 10 # ch e a d e a a 8)P(B)子程序调用子程序P(C),P(C)调用递归入口子程序SCIN,将P(C)在P(B)中的返回地址P(B):10送入返回栈中 子程序P(B) 主返 P(E):5 P(B):10 TOP→ SCIN ch=d? 1 2 READ P(E) ch=d? READ P(C) ERROR = ≠ = ≠ 3 4 5 6 7 9 ERROR ≠ READ 8 = ch=a? SCOUT 10 # ch e a d e a a 9)接着执行P(C),分析ch?=e。现在不是字符 e,再接着判定ch?=d,现在ch=d,接着 读入下一个字符。 子程序P(C) 主返 P(E):5 P(B):10 TOP→ SCIN ch=e? 1 2 READ P(C) ERROR SCOUT ≠ = ≠ 3 4 6 7 ch=d? READ 5 = # ch e a d e a a 10)读入下一个字符e,即ch=e 子程序P(C) 主返 P(E):5 P(B):10 TOP→ SCIN ch=e? 1 2 READ P(C) ERROR SCOUT ≠ = ≠ 3 4 6 7 ch=d? READ 5 = # ch e a d e a a 11)P(C)子程序再调用子程序P(C),P(C)调用 递归入口子程序SCIN,将P(C)在P(C)中的返 回P(C):7地址送入返回栈中。 子程序P(C) 主返 P(E):5 P(B):10 P(C):7 TOP→ SCIN ch=e? 1 2 READ P(C) ERROR SCOUT ≠ = ≠ 3 4 6 7 ch=d? READ 5 = # ch e a d e a a 12)然后执行子程序P(C),这时要判定ch?= e,现在ch=e,接着读入下一个字符。 子程序P(C) 主返 P(E):5 P(B):10 P(C):7 TOP→ SCIN ch=e? 1 2 READ P(C) ERROR SCOUT ≠ = ≠ 3 4 6 7 ch=d? READ 5 = # ch e a d e a a 13)读入下一个字符a,即ch=a 子程序P(C) 主返 P(E):5 P(B):10 P(C):7 TOP→ SCIN ch=e? 1 2 READ P(C) ERROR SCOUT ≠ = ≠ 3 4 6 7 ch=d? READ 5 = # ch e a d e a a 14)P(C)调用递归出口子程序SCOUT,将返 回栈中返回地址P(C):7取出。 子程序P(C) 主返 P(E):5 P(B):10 P(C):7 TOP→ SCIN ch=e? 1 2 READ P(C) ERROR SCOUT ≠ = ≠ 3 4 6 7 ch=d? READ 5 = # ch e a d e a a 15)P(C)调用递归出口子程序SCOUT,将返回 栈中返回地址P(C):7取出。 子程序P(C) 主返 P(E):5 P(B):10 TOP→ SCIN ch=e? 1 2 READ P(C) ERROR SCOUT ≠ = ≠ 3 4 6 7 ch=d? READ 5 = # ch e a d e a a 16)P(C)执行P(C):7,即P(C)调用递归出口子程序SCOUT,将返回栈中返回地址P(B):10取出。 子程序P(C) 主返 P(E):5 P(B):10 TOP→ SCIN ch=e? 1 2 READ P(C) ERR

文档评论(0)

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

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

1亿VIP精品文档

相关文档