- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理张晶版 第四章 自上而下语法分析
第四章 自上而下 语法分析;第四章 自上而下语法分析引言;4、语法分析的方式
1)自上而下语法分析
反复使用不同产生式进行推导以谋求与输入符号串相匹配
2)自下而上语法分析
对输入符号串寻找不同产生式进行归约直到文法开始符号
注:这里所说的输入符号串指词法分析所识别的单词;第二节 自上而下分析法的一般问题二、一般方法;第二节 自上而下分析法的一般问题三、不带回溯的自上而下分析算法;第二节 自上而下分析法的一般问题三、不带回溯的自上而下分析算法;例1:文法G: (1) E E+T|T
(2) T T*F|F
(3) F (E)|I
消除左递归;例2:文法G:P PaPb| BaP
转化为:P BaPP’ ,P’ aPbP’|e
注:只有最左边的P参加变换;4、消除回溯
1)产生回溯的原因
进行推导时,若产生式存在多个候选式,选择哪个候选式进行推导存在不确定性。
2)消除回溯的基本原则
对文法的任何非终结符,若能根据当前读头下的符号,准确的选择一个候选式进行推导,那么回溯可以消除。
注:之所以会产生回溯是因为在推导匹配过程中存在虚假匹配。;4、消除回溯
3)消除回溯的方法
预测与提左因子
4)预测
根据读头下符号选择候选式,使其第一个符号与读头下符号相同,或该候选式可推导出的第一符号与读头下符号相同,这相当于向前看了一个符号,所以称为预测。
注:使用了预测之后,选择候选式不再是盲目的了,所以也就无需回溯;7)提取公共左因子
将某产生式 A δb1| δb2|……| δbn| δ
改写为 A δA’
A’ b1|b2|……..|bn|e
注:1)通过反复提取左因子,就能把所有非终结符的所有候选首符集变为两两不相交
2)反复提取左因子也有一定代价,因为在提取过程中会大量引入非终结符和e 产生式,增加语法分析的复杂性。;1、求串a的终结首符集First(a)
a) 定义
假定a是文法G的一个符号串,a∈V*,则
First(a)={a|a a….,a∈VT}
注:1).若a e,那么e∈ First(a)
2). First(a)集合是a的所有可能推导出的开头终结符或 e所组成的集合
b) 算法
设a=X1X2…..Xn,其中Xi ∈(VN∪VT), 1≤i≤n,为了求a的
首符集,
分两步:首先求Xi的首符集,然后再求a的首符集;1、求串a的终结首符集First(a)
b).算法
1)求出文法中每个文法符号的首符集
(1) 若x∈VT,则First(x)={x};
(2) 若X∈VN,且有产生式X a……,则将a加到First(X)中,若X e,则e也加入到First(X)
;1、求串a的终结首符集First(a)
b).算法
1)求出文法中每个文法符号的首符集
(3) 若X Y1Y2…Yk,其中Yj∈(VN∪VT), 1≤j≤k,则按如下算法求First(X)
j=0;First(X)={};//初始化
REPEAT j=j+1;
FIRST(X)=FIRST(X) ∪(FIRST(Yj)-{e})
UNTIL e∈FIRST(Yj)或j=k
IF (j=k 且e∈FIRST(Yk))
THEN FIRST(X)=FIRST(X) ∪{e};1、求串a的终结首符集First(a)
b).算法
2) 求First(a)
设 a=X1X2….Xn,其中Xi ∈(VN∪VT), 1≤i≤n,则按如下算法求First(a)
i=0; First(a)={};//初始化
REPEAT i=i+1;
FIRST(a)=FIRST(a) ∪(FIRST(Xi)-{e})
UNTIL e∈FIRST(Xi)或 i=n
IF (i=n 且e∈FIRST(Xn))
THEN FIRST(a)=FIRST(a) ∪{e}
;第三节 预测分析程序与LL(1)文法二、求串a的终结首符集和非终结符A的随符集;2.求非终结符A的随符集Follow(A)
a)定义
假定S是文法G的开始符号,对于G的任何非终结符A
定义
Follow(A)={a|S …..Aa…
您可能关注的文档
最近下载
- DIN 9830 冲压件切割毛边高度.pdf VIP
- 2024-2025学年广东省深圳市红岭中学九年级上学期开学考数学试题及答案.pdf VIP
- 2020秋部编人教版语文二年级上册全册课件.pptx VIP
- 古建筑传统瓦工(砧刻工砌花街工泥塑工古建瓦工)施工机械用电管理详细措施.docx VIP
- (高清版)DB51∕T 2997-2023 四川省水文数据通信传输指南 .pdf VIP
- 二升三年级数学暑假作业完整版25天.pdf VIP
- 统编《世界历史》九年级上册教材分析与建议.doc VIP
- 沪教牛津版八年级英语上册词汇表.docx VIP
- 2025年全国翻译专业资格(水平)考试西班牙语二级口译试卷.docx VIP
- GB∕T 5796.1-2022 梯形螺纹 第1部分:牙型.pdf
文档评论(0)