FOLLOW(X) は自明にそれ自体のサブセットであるため、ルール 3 は右再帰生成に適用されても何も寄与しません。
これは記述的に簡単にアプローチできますが、計算するアルゴリズムについて考えることが困難な場合があります。FOLLOW セットを計算する場合、ルールに従って飽和するまで反復的に埋めることができます。次に、些細なケースでも何もする必要はありません。
ただし、a または b を FOLLOW(X) に取得するルールはなく、FOLLOW(X) でそれらを期待する理由がわかりません。文法は、生成できる構文ツリーの完全なセットを想像するのに十分単純です。
X
/|
X / X
/| / /|
X / X / / X
/| / /| / / /|
X / X / / X / / / X
/| / /| / / /| / / / /|
X / X / / X / / / X / / / / X
/| / /| / / /| / / / /| / / / / /|
X / X / / X / / / X / / / / X / / / / / X
| / | / / | / / / | / / / / | / / / / / |
ε α ε α α ε α α α ε α α α α ε α α α α α ε ...
( for α ∊ {a, b} )
彼らは X を一番右にしか許可しないので、X の後に a または b を続ける方法はありません。