编译第四章08本.ppt

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

第四章 自上而下 语法分析 4.1 语法分析器的功能 4.1 语法分析器的功能 4.1 语法分析器的功能 语法分析的方式 1)自上而下语法分析 反复使用不同产生式进行推导以谋求与输入符号串相匹配 2)自下而上语法分析 对输入符号串寻找不同产生式进行归约直到文法开始符号 注:这里所说的输入符号串指词法分析所识别的单词 4.2 下推自动机模型 4.2 下推自动机模型 4.2 下推自动机模型 注: 1)由此定义的PDA肯定是不确定的PDA,这给语法分析会带来不确定性,在构造PDA M的算法的时候,要对PDA做一些限制 2)PDA采用“ ”来表示PDA做了一步动作 3)输入串能为PDA所接受,仅当输入串读完,下推栈为空;或者输入串读完,控制器到达某些终态 4)有时,下推自动机还配置输出带,以记录推导或归约过程所用的产生式编号 5)对于形如A w的产生式, 有δ(q,e,A)=(q,w),称为推导 δ(q,a,a)=(q,e),称为匹配,其中a∈∑ 4.3 自上而下分析面临的一般问题 一、自上而下语法分析定义 从文法的开始符号开始,反复使用不同产生式进行推导以谋求与输入符号串相匹配。 注:此处的输入符号串是指词法分析结果的一串二元式 二、一般方法 试探法:带回溯的自上而下分析法 4.3 自上而下分析面临的一般问题 1、基本构成 设下推栈的初始状态包含两个符号:‘#S’,其中‘#’为栈底,‘S’为文法开始符号。整个分析过程在语法分析程序控制下进行,在语法分析中用到的文法产生式的表,称为语法表。 4.3 自上而下分析面临的一般问题 2、算法 (1)若栈顶符号X是非终结符,查询语法表,找出一个以X作为左部的产生式,X出栈,并将其右部反序入栈,且输出带记下产生式编号—推导 (2)若栈顶符号x是终结符,但读头下的符号也是x,则x出栈,读头指向下一个符号—匹配 (3)若栈顶符号x是终结符,但读头下的符号不是x,则匹配失败,这说明可能前面推导时选错了候选式,退回到上次推导现场(包括栈顶符号,读头的指针和输出带上的信息—回溯 (4)回溯后选取另一候选式进行推导,若没有候选式可选,则进一步回溯。若回溯到开始符号又已无候选式可选,则识别失败 (5)若栈内仅剩下“#”,且读头也指向“#”,则识别成功 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 例:文法产生式如下,请分析符号串x*y#的过程 1)S xAy 2) A ** 3) A * 4.3 自上而下分析面临的一般问题 3、带回溯的自上而下分析法的缺陷 消除回溯 1)产生回溯的原因 进行推导时,若产生式存在多个候选式,选择哪个候选式进行推导存在不确定性。 2)消除回溯的基本原则 对文法的任何非终结符,若能根据当前读头下的符号,准确的选择一个候选式进行推导,那

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档