• if A ® X1X2 … Xk-1Xk …Xn Î P then
Předchozí algoritmus: Ilustrace
1) pro každé a Î T: First(a) := {a}, protože a Þ0 a
2) pro každé A Î N: First(A) := Æ (Inicializace)
 e
a Î First(Xk)
a Î First(A)
e
e
e
…
3b) if Empty(Xi) = {e} pro i = 1,…, k-1, kde k < n
    then přidej všechny symboly z First(Xk) do First(A):
A
X1
X2
Xk-1
…
Xn
Xk
…
3b:
3) Používej následující pravidlo, dokud bude
    možné měnit nějakou množinu First:
… 
a
21/57
a Î First(Xk)
a Î First(A)
… 
a
3a:
A
X1
X2
…
Xn
3a) přidej všechny symboly z First(X1) do First(A)