网站大量收购独家精品文档,联系QQ:2885784924

Chapter04_SyntaxAnalysis语法分析..ppt

  1. 1、本文档共125页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京化工大学信息科学与技术学院计算机系 北京化工大学 信息科学与技术学院计算机系 史晟辉 shishenghui@ shish@ Chapter 4 Syntax Analysis语法分析 4.1? 语法分析器的作用 4.2? 上下文无关文法? 4.3?自顶向下语法分析 4.4?自底向上语法分析 4.1? 语法分析器的作用 4.1? 语法分析器的作用 4.1? 语法分析器的作用 4.1.1 语法错误的处理 4.1.1 语法错误的处理 4.1.1 错误恢复策略 4.2 Context-free grammars 上下文无关文法 4.2.1 上下文无关文法概述 Specification of context-free grammar rules 上下文无关文法规则的说明 Derivations and the language defined by a grammar 推导及由文法定义的语言 ● 文法定义的(产生的)语言 ● Example ● Example ● Example ● Example ● Example 4.2.3 Parse trees and abstract syntax trees 分析树与抽象的语法树 ● 分析树 (与推导相对应的作了标记的树) ● Abstract syntax trees抽象语法树 (简称语法树) 4) 简单的算术表达式抽象语法树的存储结构: 例2:if语句的抽象语法树 例3:顺序结构的语句的抽象语法树 4.2.4 Ambiguity 二义性 解: 1)最左推导 ● ambiguous grammar 二义性文法 Precedence and associativity 优先级和结合性 The dangling else problem 悬挂else问题 ● most closely nested rule用于悬挂else问题的最近嵌套规则 (消除二义性的规则) ● 消除二义性的规则方法2 Inessential ambuguity 无关紧要二义性 4.2.5 extended notations: EBNF and syntax diagrams 扩展的表示法:EBNF和语法图 4.2.6 Formal properties of context-free language 上下文无关语言的形式特性 ● 文法G = (T, N, P, S) 的相关术语 2)+推导 4) leftmost derivation最左推导 6) sentential form(句型) 9)短语、简单短语 ● Example 11)文法G的分析树 The chomsky hierarchy 乔姆斯基层次 ● 2型: P:U ? v 其中U∈ N ,v∈ (T?N)* ● 0型、1型、2型、3型比较 附:自动机、正则文法、正则表达式 的相互转化 4.2.7 Syntax of the TINY language TINY语言的语法 A context-free grammar for TINY Syntax tree structure for the TINY compiler ● 语法树结构的图形描述 ● 语法树结构的图形描述 ● C declarations for a TINY syntax tree node 4.3 Top -Down Parsing自顶向下的分析 4.3.1 TOP-DOWN PARSING BY RECURSIVE-DESCENT 使用递归下降分析算法进行自顶向下的分析 4.3.2 LL(1) PARSING LL(1)分析 4.3.3 FIRST AND FOLLOW SETS FIRST集合和FOLLOW集合 ● Parsing 语法分析方法 4.3.1 Top-down Parsing by Recursive-descent 使用递归下降分析算法进行自顶向下的分析 ● example 4.3.2 LL(1) PARSING LL(1)分析 ● example The LL(1) Parsing Table and Algorithm ● The table-constructing rule: (Supposed that the table is originally empty) ● A Parsing Algorithm Using the LL(

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档