本讲纲要
回顾
重点:FIRST集、FOLLOW集
LL(1)文法
自上而下分析实现
递归函数法
非递归的预测分析方法
构造预测分析表
1
FIRST集和FOLLOW集
FIRST (? )={a | ? ?* a…, a ? VT}
计算满足? 的句子的所有可能开头字符
特殊情况:当? ?* ?时,规定? ? FIRST (? )
FOLLOW (A) = {a | S ?* …Aa…,a?VT}
计算语言的句型中所有可能跟在A后面的字符
特殊情况:如果A是某个句型的最右符号,那么$属于FOLLOW(A)
2
FIRST集合及FOLLOW集合的计算方法
FIRST集合计算方法
若X?a.., 则将终结符a加入FIRST(X)中
若X??,则将?加入FIRST(X)中
若X?Y…,且Y属于非终结符,则将FIRST(Y)\{?}加入到FIRST(X)中
若X?Y1Y2..YK,且Y1,Y2,..Yi-1 (2≤i≤k)都是非终结符,且Y1,Y2,..Yi-1 的FIRST集合中均包含?,则将FIRST(Yj)的所有非?元素加入到FIRST(X)中,(j=1,2,..i).特别地,若Y1~YK均有?产生式,则将?加到FIRST(X)中。
3
S?BA
A?BS|d
B?aA|bS|c
FIRST(S)=FIRST(B)
FIRST(A)=FIRST(B) ∪ {d}
FIRST(B)={a,b,c}
步骤1:
FIRST集和FOLLOW集
FIRST (? )={a | ? ?* a…, a ? VT}
计算满足?的句子的所有可能开头字符
特殊情况:当? ?* ?时,规定? ? FIRST (? )
FOLLOW (A) = {a | S ?* …Aa…,a?VT}
计算语言的句型中所有可能跟在A后面的字符
特殊情况:如果A是某个句型的最右符号,那么$属于FOLLOW(A)
4
A的FOLLOW集合,是从开始符号可以导出的所有含A的文法符号序列中紧跟A之后的终结符。
α的FIRST集合是从α开始可以导出的文法符号序列中的开头终结符。
FOLLOW集合的计算方法
FOLLOW集合计算方法
对文法开始符号S,置$于FOLLOW(S)中。
若有A??B?,则将FIRST(?)\{?} 加入FOLLOW(B)中。 (此处? 可以为空)
若A?? B 或A?? B ?,且 ? ?* ?(即? 属于FIRST(?)),则将 FOLLOW(A)加入FOLLOW(B)中
(此处? 可以为空)。
5
S?BA
A?BS|d
B?aA|bS|c
FIRST(B)={a,b,c} FIRST(A)={a,b,c,d} FIRST(S)={a,b,c}
FOLLOW(S)=?
FOLLOW(A)=?
FOLLOW(B)=?
FOLLOW集计算
文法
6
S?BA
A?BS|d
B?aA|bS|c
第1步: FOLLOW(S) - $
FOLLOW(S)={$}
FOLLOW(A)={}
FOLLOW(B)={a,b,c,d}
第2步: FOLLOW(B) += FIRST(A)
FOLLOW(B) += FIRST(S)
FIRST(B)={a,b,c}
FIRST(A)={a,b,c,d}
FIRST(S)={a,b,c}
FOLLOW集计算
文法
7
S?BA
A?BS|d
B?aA|bS|c
第1步: FOLLOW(S) - $
FOLLOW(S)={$}
FOLLOW(A)={a,b,c,d}
FOLLOW(B)={a,b,c,d}
第2步: FOLLOW(B) += FIRST(A)
FOLLOW(B) += FIRST(S)
FIRST(B)={a,b,c}
FIRST(A)={a,b,c,d}
FIRST(S)={a,b,c}
FOLLOW(B)中的所有元素都可以加到FOLLOW(A)中
FOLLOW集计算
文法
8
S?BA
A?BS|d
B?aA|bS|c
第1步: FOLLOW(S) - $
FOLLOW(S)={a,b,c,d,$}
FOLLOW(A)={a,b,c,d}
FOLLOW(B)={a,b,c,d}
第2步: FOLLOW(B) += FIRST(A)
FOLLOW(B) += FIRST(S)
FIRST(B)={a,b,c}
FIRST(A)={a,b,c,d}
FIRST(S)={a,b,c}
FOLLOW(B)中的所有元素都可以加到FOLLOW(A)中
FOLLOW(B)中的所有元素都可以加到FOLLOW(S)中
FOLLOW集计算
文法
9
S?BA
A?BS|d
您可能关注的文档
- 常州激光产业发展的路径选择及对策建议素材.docx
- 超分子量聚乙烯生产工艺及加工成型素材.docx
- 第3讲宝石矿物的性质素材.pptx
- 第四章4.3节配位聚合修改浅析.ppt
- 第3课时--2.全反射现象的理解与应用素材.pptx
- 超声成像设备的发展趋势素材.docx
- 第3课时--3.光路控制与平行板玻璃砖模型素材.pptx
- 超微量分光光度计素材.docx
- 第3课时----光综合训练素材.pptx
- 超星尔雅微生物与人类健康钟江2016最新题库全部原题素材.docx
- 2026年旅行社岗位考试题库含答案.docx
- 2023-2024学年山西省吕梁市交口县多校八年级(下)期末数学试卷.docx
- 节能环保墙体砖生产线项目投资计划书.docx
- 电子商务行业就业趋势分析.pptx
- 人工智能与仿真技术.pptx
- 2026年梅毒实验室检测特异性抗体检测方法练习与答题指引含答案.docx
- 2023-2024学年山西省太原市七年级上学期开学考试数学试题.docx
- 《随机变量及其分布深度解析_六大核心考点串讲、十二种常见题型剖析与解题技巧全掌握》——助你轻松应对考试挑战.docx
- 2026年宠物店店长考试题及答案.docx
- 酸胁迫环境下牛至精油和Ca2+对沙门氏菌诱导耐酸及多重抗逆性的影响.docx
原创力文档

文档评论(0)