- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章aa2008J
自顶向下的语法分析
5.1 语法分析概述 tu1.10.doc
本章讨论在词法分析之后应当进行的工作,词法分析把例如以下“字符串”,组成若干“单词”。
begin
b:=a+c*c; if b0 then y:=1
else y:=0
end
词分并不能解决:这是一个正确的复合语句吗?if打头的个语句是合法的如果语句吗?词分无此能力。这类任务是由语法分析程序来解决的。语法分析的任务:分析由词法分析给出的单词(tokens)序列,看它是否是符合语言语法规则的正确句子(程序)根据语法规则把“单词”序列分解成为各类语法单位,如语句、表达式、程序等。
本章主要讨论:
递归子程序方法
预测分析方法
LL(1)文法。如何完成这种任务呢?有各种方法达到这个目的。语分方法
递归子程序方法
确定的-
预测分析方法
语 自顶向下
法
分 不确定的:带回溯的方法
析 直接的自底向上分析
方 简单优先方法
法 自底向上- 算符优先分析
高阶优先分析
限界上下文分析
状态矩阵方法
转换矩阵方法
LR(0)方法
LR方法 SLR(1)方法
LR(1)方法
LALR(1)方法
我们只讨论的方法。. 不确定的自顶向下分析方法()
这是一种直接的自顶向下分析。↓的思想:对任何输入串,试图用一切可能的方法,从文法的开始符号出发,自上而下地为输入串建立一棵语法树,或者说为输入串寻找一个最左(右)推导。这种分析过程实质上是一种试过程,是逐次使用不同产生式谋求匹配输入串的问题。
例是一文法S→ x A y (1)
A→ * * (2)
A→ * (3)
注意,该文法的(2)、(3)两条规则右部的头符号是相同的。我们推一下x*y这个串。 S
x A y
* *
注意,这里有意先使用规则(2)。
x*已被认为正确,但输入串的下一符号是y,规则(2)中则为*。此时不能认为错了(不能断定x*y不是正确的符号串)。
改用(3)条规则,得到: S
x A y
*
这就正确了。
这种回头换一个规则去试的情况,称为回溯。
再看分析x**y,此时先使用规则(3),有:
x A y
*
又不能真正匹配,故再试一条规则,得到:
S
x A y
* *
就正确了。
这里的问题是产生了虚假匹配。反映到真正的编译程序中,这种回溯代价太大,要抹去已做工作,非常麻烦,而且必须做标记,以便能够“回去”。例设有文法:
T→T,sT→s
其中,T ∈VN, Vt ,s ∈Vt
这里没有出现右部头符号相同的规则,但却是有左递归的规则。 T
T , s
T , s
T , s
T , s
……
……
不知道何时T→ s规则递归子程序法通常是一个规则的非终符对应一个递归子程序。本例是:
tu5.1.doc
在试图用T去匹配输入符号串时,我们会发现,在没有吃进任何输入符号的情况下,我们又得重新要求T去进行新匹配。这就走不下去了,死递归了。对于回溯而言,很难报出
您可能关注的文档
- 2012-2013学年度揭阳市高三毕业班期末质量测试数学试题(文科).doc
- 山东96高中中考数学试题.doc
- 鲁教版九年级1.1《奇妙的化学》课件.ppt
- 洋县实验学校2011-2012高二第二学期期中考试(化学).doc
- 开题报告-李猛.doc
- 模板专项方案页面.doc
- 梁模板支设(计算)施工方案.doc
- 网络工作的通信原理--说课稿5.doc
- 实验三概率问题.doc
- 福清市园林管理处___审批申请表.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)