CHAPTER 4(语法分析 1).pptVIP

  1. 1、本文档共58页,可阅读全部内容。
  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文档。上传文档
查看更多
CHAPTER 4(语法分析 1)

第一章:编译概述 Chapter4 Syntax Analysis 语法分析概述 (An overview of parsing) 自顶向下分析(Top-down Parsing) 自底向上分析(Bottom-up Parsing) LR 分析(LR Parser) 4.1 语法分析概述 4.1 语法分析概述 语法分析的任务: 4.1 语法分析概述 4.1 语法分析概述 4.1 语法分析概述 4.1 语法分析概述 4.1 语法分析概述 最左推导 总是选择每个句型最左边的非终结符号 记为: 最右推导 总是选择每个句型最右边的非终结符号 记为: 4.1 语法分析概述 CFG和REGEX 每个可以使用REGEX描述的构造都可以使用CFG来描述。 反之不成立。 例如 REGEX与正则文法等价 4.1 语法分析概述 为什么使用REGEX来定义一个语言的词法结构? 将语法分成词法和非词法可将前端模块化 词法规则简单 与文法相比,REGEX更加简洁和易于理解 根据REGEX自动构造的词法分析器效率高 4.1 语法分析概述 语法分析方法 自顶向下分析 带回溯的(backtracking) 递归下降分析法 不带回溯的 预测分析法(LL(1)分析) 自底向上分析 算符优先分析法 LR分析法 包括LR(0), SLR(1), LR, LR(1), LALR(1) 4.1 语法分析概述 自顶向下分析(Top-down parsing): 4.1 语法分析概述 4.1 语法分析概述 自底向上分析(Bottom-up parsing): 4.1 语法分析概述 4.2 自顶向下分析 带回溯的自顶向下分析: 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 不带回溯的自顶向下分析: 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 FIRST集: 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 FOLLOW集: 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 LL(1)文法: 4.2 自顶向下分析 4.2 自顶向下分析 非 LL(1)文法到 LL(1)文法的等价转换 4.2 自顶向下分析 设计文法 消除二义性 提取左因子 消除左递归 4.2 自顶向下分析 消除二义性(例4.16) 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 (算法4.31)对G中的每个产生式A→α 对FIRST(α)中的每个终结符a,将A→α加入到M[A, a]中。 如果ε属于FIRST(α),对于FOLLOW(A)中的每个终结符b,将A→α加入到M[A,b]中。 如果ε属于FIRST(α),且$在FOLLOW(A)中,将A→α加入到M[A, $]中。 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 4.2 自顶向下分析 例4.36 输入:)id*+id 不一定每个语言都有 LL(1)文法, 如果语言有 LL(1)文法,希望基于此 LL(1)文法对该语言的句子进行预测分析 如果没有,该语言不能进行预测分析。 stmt ? if expr then stmt | if expr then stmt else stmt | other (any other statement) stmt stmt stmt expr E1 S2 then else if expr E2 S1 then if stmt stmt expr E1 then if stmt expr E2 S2 S1 then else if stmt stmt if E1 then if E2 then S1 else S2 stmt ? matched_stmt | unmatched_stmt matched_stmt ? if expr then matched_stmt else matched_stmt | other unmatched_stmt ? if expr then stmt

文档评论(0)

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

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

1亿VIP精品文档

相关文档