编译原理笔记
4-3 LL(1)文法
总结:FOLLOW集的定义为 产生式推出空时,后面可以接的终结符的集合[依赖于后一个非终结符的FIRST集](或为最右符号时,加上$)。FIRST集为产生式能推出的串首终结符的集合(或加上空)。两者都表示可以选择该产生式的输入字符集。故产生式的SELECT集可由FIRST集和FOLLOW集表示。
FIRST集的求法:
FOLLOW集的求法:
SELECT集的求法:
例子:
(2)(3)、(5)(6)产生式的左部相同,但SELECT集不相交,故为LL(1)文法
根据SELECt集构造预测分析表:
第五讲语法分析_2
4-6非递归的预测分析法(表驱动的预测分析)
例子:(输出为最左推导)
第五讲 语法分析_2
4-7预测分析中的错误
例子:
第六讲
4-8 自底向上分析
移入-归约分析
句柄:当前句型的最左 直接短语
(直接短语)
(句柄:<IDS> , iB)
(第六讲4-9)识别句柄->LR分析法:
LR分析表:
(第六讲,4-10) LR(0)分析
存在的问题:
(第七讲4-12)SLR分析(SLR(1)分析)
(第七讲 4-13)LR(1)分析法
(第七讲 4-14)LALR分析法