SLR(1) ------ S -> ε | k S | b S e S FIRST(S) = { k, b } FOLLOW(S) = { #, e } H0 = closure([S'->.S]) = [S'->.S], [S->.], [S->.kS], [S->.bSeS] H1 = read(H0,S) = [S'->S.] H2 = read(H0,k) = [S->k.S], [S->.], [S->.kS], [S->.bSeS] H3 = read(H0,b) = [S->b.SeS], [S->.], [S->.kS], [S->.bSeS] H4 = read(H2,S) = [S->kS.] H3 = read(H2,b) = [S->b.SeS], [S->.], [S->.kS], [S->.bSeS] H2 = read(H2,k) = [S->k.S], [S->.], [S->.kS], [S->.bSeS] H5 = read(H3,S) = [S->bS.eS] H3 = read(H3,b) = [S->b.SeS], [S->.], [S->.kS], [S->.bSeS] H2 = read(H3,k) = [S->k.S], [S->.], [S->.kS], [S->.bSeS] H6 = read(H5,e) = [S->bSe.S], [S->.], [S->.kS], [S->.bSeS] H7 = read(H6,S) = [S->bSeS.] H3 = read(H6,b) = [S->b.SeS], [S->.], [S->.kS], [S->.bSeS] H2 = read(H6,k) = [S->k.S], [S->.], [S->.kS], [S->.bSeS] b k e # | S 0 s3 s2 red(S->ε) red(S->ε) | 1 1 accept | 2 s3 s2 red(S->ε) red(S->ε) | 4 3 s3 s2 red(S->ε) red(S->ε) | 5 4 red(S->kS) red(S->kS) | 5 s6 | 6 s3 s2 red(S->ε) red(S->ε) | 7 7 r(S->bSeS) r(S->bSeS) | S -> ε | k S | b S e S (#0, bke#, ε) -> (#0 b3, ke#, ε) -> (#0 b3 k2, e#, ε) -> ---- ε ------- (#0 b3 k2 S4, e#, 1) -> ----- kS (#0 b3 S5, e#, 12) -> (#0 b3 S5 e6, #, 12) -> (#0 b3 S5 e6 S7, #, 121) -> (#0 S1, #, 1213) -> accept