LR(1) LR(0) A -> aBdFr [A -> .aBdFr] [A -> a.BdFr] [A -> aB.dFr] [A -> aBd.Fr] [A -> aBdF.r] [A -> aBdFr.] A -> eps [A -> .] S' -> S S -> apS | ap H0= closure({[S'->.S]}) = { [S' -> .S], [S -> .apS], [S -> .ap] } H1= read(H0, S) = [S'->S.] H2= read(H0, a) = [S -> a.pS], [S -> a.p] H3= read(H2, p) = [S -> ap.S], [S -> ap.] [S -> .apS], [S -> .ap] H4= read(H3, S) = [S -> apS.] H2= read(H3, a) = [S -> a.pS], [S -> a.p] léptetés (step) redukálás (reduce) action ---goto----- S a p 0 léptet 1 2 1 redukál(S'->S) 2 léptet 3 3 léptet,r(S->ap) 4 2 4 r(S->apS) SLR(1) FIRST(S) = {a} FOLLOW(S) = {#} H0= closure({[S'->.S]}) = { [S' -> .S], [S -> .apS], [S -> .ap] } H1= read(H0, S) = [S'->S.] H2= read(H0, a) = [S -> a.pS], [S -> a.p] H3= read(H2, p) = [S -> ap.S], [S -> ap.] [S -> .apS], [S -> .ap] H4= read(H3, S) = [S -> apS.] H2= read(H3, a) = [S -> a.pS], [S -> a.p] léptetés: tartalom = read(sor, oszlop) -------action------- ----goto----- a p # S 0 lép2 1 1 accept 2 lép3 3 lép2 r(S->ap) 4 4 r(S->apS) (#0, apap#) -> 0/a: lép2 (#0a2, pap#) -> 2/p: lép3 (#0a2p3, ap#) -> 3/a: lép2 (#0a2p3a2, p#) -> 2/p: lép3 (#0a2p3a2p3, #) -> 3/#: r(S->ap) (#0a2p3S4, #) -> 4/#: r(S->apS) (#0S1, #) -> 1/#: accept LR(1) ----- LR(1)-elem A->AbdD előreolvasási szimbólum [A->Ab.dD, a] [A->Ab.dD, #] S -> SpT | T T -> TcF | F F -> nSz | i H0= closure([S'->.S,#]) = [S'->.S,#], [S->.SpT,#],[S->.T,#], [T->.TcF,#],[T->.F,#], [F->.nSz,#],[F->.i,#] H1= read(H0,S) = [S'->S.,#], [S->S.pT,#] H2= read(H0,T) = [S->T.,#], [T->T.cF,#] H3= read(H0,F) = [T->F.,#] read(H0,n) = [F->n.Sz,#] [S->.SpT,z], [S->.T,z], ................ ................ ................ ................ read(H0,i) =