第三章语法分析 复习习题 优质课件.pptVIP

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上下文无关文法 自上而下 自下而上 LL(1) 文法 2 个函数 递归下降 预测分析 非递归的 预测分析 最左推导 最右推导 ! LR 文法 输 入 LR 分析程序 输 出 栈 LR 分析器的模型 action goto s m X m s m -1 X m -1 … s 0 … a 1 a i … a n $ 移进 - 归约分析 归约 移进 - 归约冲突 规约 - 归约冲 突 句柄 活前缀 右句型的前缀, 该前缀不超过最 右句柄的右端 1 。句柄与某个产生式的右部 符号串相同 2 。句柄是句型的一个子串 3 。把句柄归约成非终结符代 表了最右推导逆过程的 一步 简单的 LR 方法( SLR ) 规范的 LR 方法 向前看的 LR 方法 (LALR ) 温故知新 2 语法分析部分回顾 自上而下分析的知识点 ? LL(1) 文法的判定 – FIRST 、 FOLLOW 集的计算 (重点) – LL(1) 文法判定方法 ? LL(1) 分析的实现方法 – 递归函数实现 – 非递归的预测分析实现 ? 先求 FIRST 、 FOLLOW 集 ? 画预测分析表 3 语法分析部分回顾 应用 LL(1) 分析方法的步骤 ? 判定文法是否是 LL(1) 文法 – 如果不是,则改写文法 ? 消除左递归 ? 提取左因子 – 如果改写后的文法是 LL(1) 的,那么进行 LL(1) 分析 ? 构造 LL(1) 分析算法 – 可以采用递归函数实现,也可以采用非递归的栈 式分析方法实现 4 文法 G: S-aSb | P P-bPc | bQc Q-Qa | a ( 1 )它是 chomsky 哪一型文法? ( 2 )它生成的语言是什么? ( 3 )给出提取左因子、消除左递归之后的文法 ( 4 )求出每个非终结符的 First 集和 Follow 集 ( 5 )构建 LL ( 1 )预测分析表 ( 6 )文法 G 是否是 LL ( 1 )文法 ( 7 )利用非递归预测分析程序,验证 abacb 是否是 文法 G 描述的语言的句子 5 文法 G: S-aSb | P P-bPc | bQc Q-Qa | a ( 1 )它是 chomsky 哪一型文法? 答:它是 2 型文法,即上下文无关文法。 ( 2 )它生成的语言是什么? 答: {a i b j a k c j b i | i=0; j,k=1} 6 文法 G: S-aSb | P P-bPc | bQc Q-Qa | a ( 3 )给出提取左因子、消除左递归之后的文法 答: S-aSb | P P- bP P -Pc | Qc Q- aQ Q - aQ | ? 7 S-aSb | P P- bP P -Pc | Qc Q- aQ Q - aQ | ? First(S)={a,b} First(P)={b} First(P )={a,b} First(Q)={a} First(Q )={a, ? } Follow(S)={$,b} Follow(P)={$,b,c} Follow(P )={$,b,c} Follow(Q)={c} Follow(Q )={c } ( 4 )求出每个非终结符的 First 集和 Follow 集 8 ( 5 )构建 LL ( 1 )预测分析表 输入符号 非终结符 a b c $ S S-aSb S-P P P- bP P P -Qc P -Pc Q Q- aQ Q Q - aQ Q - ? 9 ( 6 )文法 G 是否是 LL ( 1 )文法 答:构建出的 LL ( 1 )分析表不含有多重定 义的条目,因此文法 G 是 LL ( 1 )文法。 10 ( 7 )利用非递归预测分析程序,验证 abacb 是 否是文法 G 描述的语言的句子 栈 输入 输出

文档评论(0)

wangsux + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档