编译原理:FIRST集、FOLLOW集、SELECT集的求法及LL(1)文法的判定——篇③SELECT集的求法及LL(1)文法的判定
FIRST集的求法见添加链接描述
FOLLOW集的求法见添加链接描述
SELECT集
对于产生式A—>α,集合select(A—>α)定义如下:
若α不能推出ε,则select(A—>α) = first(α)。
若α能推出ε,则select(A—>α)= {first(α)-{ε}}∪ follow(A)。
例子1:
设有文法G【A】:
① E -> TE’
② E’ -> +TE’|ε
③ T -> FT’
④ T’ -> *FT’|ε
⑤ F -> (E)|id
*将以上五个式子分开来看,可得:
(1) E -> TE’
(2)E’ -> +TE’
(3)E’ -> ε
(4&