- 1、本文档共127页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第四章语法分析;4.1自顶向下的分析
4.2预测分析法
4.3自底向上的分析
4.4LR分析法
4.5语法分析器自动生成工具;从分析树的顶部(根节点)向底部(叶节点)方向构造分析树
可以看成是从文法开始符号S推导出词串w的过程
例
每一步推导中,都需要做两个选择
替换当前句型中的哪个非终结符
用该非终结符的哪个候选式进行替换;在最左推导中,总是选择每个句型的最左非终结符进行替换
例
如果S?*lmα,则称α是当前文法的最左句型(left-sententialform);在最右推导中,总是选择每个句型的最右非终结符进行替换
例
在自底向上的分析中,总是采用最左归约的方式,因此把最左归约称为规范规约,而最右推导相应地称为规范推导;E?lmE+E
?lmid+E
?lmid+(E)
?lmid+(E+E)
?lmid+(id+E)
?lmid+(id+id);总是选择每个句型的最左非终结符进行替换
根据输入流中的下一个终结符,选择最左非终结符的一个候选式;文法
①E→TE’
②E’→+TE’|ε
③T→FT’
④T’→*FT’|ε
⑤F→(E)|id
输入
id+id*id
;递归下降分析(Recursive-DescentParsing)
由一组过程组成,每个过程对应一个非终结符
从文法开始符号S对应的过程开始,其中递归调用文法中其它非终结符对应的过程。如果S对应的过程体恰好扫描了整个输入串,则成功完成语法分析;预测分析是递归下降分析技术的一种,它不需要回溯,因此,是一种确定的自顶向下分析方法
通过在输入中向前看固定个数符号来选择正确的A-产生式。通常情况下只需向前看一个符号(即下一个输入符号)
可以对某些文法构造出向前看k个输入符号的预测分析器,该类文法有时也称为LL(k)文法类;例
文法G
S→aAd|aBe
A→c
B→b
输入
abc;例
文法G
E→E+T|E–T|T
T→T*F|T/F|F
F→(E)|id
输入
id+id*id;
A→Aα|β (α≠ε,β不以A开头)
A→βA′
A′→αA′|ε
例
;A→Aα1|Aα2|…|Aαn|β1|β2|…|βm
(αi≠ε,βj不以A开头)
A?β1A′|β2A′|…|βmA′
A′?α1A′|α2A???|…|αnA′|ε
;例S→Aa|b
A→Ac|Sd|ε
将S的定义代入A-产生式,得:
A→Ac|Aad|bd|ε
消除A-产生式的直接左递归,得:
A→bdA’|A’
A’→cA’|adA’|ε
;输入:不含循环推导(即形如A?+A的推导)和ε-产生式的文法G
输出:等价的无左递归文法
方法:;例
文法G
S→aAd|aBe
A→c
B→b
文法G
S→aS
S→Ad|Be
A→c
B→b
;输入:文法G
输出:等价的提取了左公因子的文法
方法:
;4.1自顶向下的分析
4.2预测分析法
4.3自底向上的分析
4.4LR分析法
4.5语法分析器自动生成工具;S_文法不含ε产生式
;;非终结符A的后继符号集
可能在某个句型中紧跟在A后边的终结符a的集合,记为
FOLLOW(A)={a|S?*αAaβ,a∈VT,α,β∈(VT∪VN)*}
例
(1)S→aBC
(2)B→bC
(3)B→dB
(4)B→ε
(5)C→c
(6)C→a
FOLLOW(B)={a,c}
;产生式A→β的可选集是指可以选用该产生式进行推导时对应的输入符号的集合,记为SELECT(A→β)
SELECT(A→aβ)={a}
SELECT(A→ε)=FOLLOW(A)
q_文法
每个产生式的右部或为ε,或以终结符开始
具有相同左部的产生式有不相交的可选集
;串首终结符
串首第一个符号,并且是终结符。简称首终结符
给定一个文法符号串α,α的串首终结符集FIRST(α)被定义为可以从α推导出的所有串首终结符构成
您可能关注的文档
- 美容药物学补充阅读-自由基学习资料.pptx
- 美容药物学第00章 绪论-2015学习资料.pptx
- 美容药物学第01章 皮肤保养基础-2015学习资料.pptx
- 美容药物学第03章 保湿-2015学习资料.pptx
- 美容药物学第04章 防晒-2015学习资料.pptx
- 美容药物学第6章 祛痘-2015学习资料.pptx
- IBM AIX & Linux 课件 chap2-程序包原理及linux package.ppt
- IBM AIX & Linux 课件 chap3-设备管理与驱动.ppt
- IBM AIX & Linux 课件 chap4-存储管理与文件系统.ppt
- IBM AIX & Linux 课件 chap5-安全管理及开发基础技术.ppt
文档评论(0)