LL法
これは、規則の右側の w が空文字列で書き換えられる可能性があるためである。従って構文解析器はεがFi(w)に含まれるとき、規則 A → w を使い A の後に続く可能性のある記号を考慮しなければならない。つまり A に続く記号の集合 (Follow-set) も必要で、これを Fo(A) と表記する。これは、記号列が αAaβ となるような終端記号 a の集合であり、開始記号から規則を適用していくことで導出される。各非終端記号についての Follow-set は以下のように求められる:
各 Fo(Ai) を空集合で初期化する。
Aj → wAiw' という形式の規則がある場合、 終端記号 a が Fi(w' ) に含まれるなら、a を Fo(Ai) に追加する。 ε が Fi(w' ) に含まれるなら、Fo(Aj) を Fo(Ai) に追加する。
ステップ2を全ての Fo 集合が変化しなくなるまで繰り返す。
以上で構文解析表の各マスにどの規則を入れるかが決定される。非終端記号 A と終端記号 a に対応する表のマスを T[A, a] で表したとき、以下が成り立つ。
T[A,a] に規則 A → w が入るのは以下の場合だけである。 a が Fi(w) に含まれるか、または ε が Fi(w) に含まれ、a が Fo(A) に含まれる。
構文解析表の各マスに高々1つの規則だけが入る場合、構文解析器はバックトラッキングなしで常にどの規則を適用すべきかを判断できる。正確には、そのような場合の文法を「LL(1)文法」と呼ぶ。