punkt 3 nie ma tu zastosowania 8:F → i nie ma symbolu nieterminalnego po prawej stronie produkcji

Drugi przebieg:

1:E → T E' dla T z Follow(E) do Follow(T) dodany ')' dla E' z Follow(E) do Follow(E') dodany ')' 4:T → F T' dla F z Follow(T) do Follow(F) dodany ')' dla T'z Follow(T) do Follow(T') dodany ')'

Obliczanie dla k >=1 W konstrukcji dla k=1 można zauważyć, że mamy zarówno ε jak i pojedyncze tokeny (W algorytmie można utożsamić ε ze znakiem końca strumienia $) czyli występują ciągi długości 0, jak i 1. Dla k>1 w zbiorach będą ciągi długości od 0 (ε) do k. Będziemy mieli operacje zarówno dołączania ciągów do zbiorów, jak i modyfikacji tych ciągów poprzez dołączanie tokenów do ciągów. Same algorytmy niewiele się zmieniają, zmienia się zarządzanie zbiorami ciągów.

bool addFirstOfRule_k(outSet, rule, startIndex) { //Tworzymy tymczasowy zbiór ciągów tempSet; tempSet.eps = true; for (int Yidx=startIndex; Yidx < rule.v.size();