LR(1) S' -> S S -> aSb | c H0= closure([S'->.S,#])= [S'->.S,#],[S->.aSb,#],[S->.c,#] H1= read(H0,S)=[S'->S.,#] H2= read(H0,a)=[S->a.Sb,#],[S->.aSb,b],[S->.c,b] H3= read(H0,c)=[S->c.,#] H4= read(H2,S)=[S->aS.b,#] H5= read(H2,a)=[S->a.Sb,b],[S->.aSb,b],[S->.c,b] H6= read(H2,c)=[S->c.,b] H7= read(H4,b)=[S->aSb.,#] H8= read(H5,S)=[S->aS.b,b] H5= read(H5,a)=[S->a.Sb,b],[S->.aSb,b],[S->.c,b] H6= read(H5,c)=[S->c.,b] H9= read(H8,b)=[S->aSb.,b] -----action-------------------- ----goto---- a b c # S 0 lép2 lép3 lép1 1 accept 2 lép5 lép6 lép4 3 r(S->c) 4 lép7 5 lép5 lép6 lép8 6 r(S->c) 7 r(S->aSb) 8 lép9 9 r(S->aSb) LALR(1) ------- H2= read(H0,a)=[S->a.Sb,#],[S->.aSb,b],[S->.c,b] H5= read(H2,a)=[S->a.Sb,b],[S->.aSb,b],[S->.c,b] K2/5=[S->a.Sb,b],[S->a.Sb,#],[S->.aSb,b],[S->.c,b] =[S->a.Sb,b/#],[S->.aSb,b],[S->.c,b] -----action-------------------- ----goto---- a b c # S 2 lép5 lép6 lép4 5 lép5 lép6 lép8 2/5 lép2/5 lép?/6 lép4/8 K0= [S'->.S,#],[S->.aSb,#],[S->.c,#] K1= read(K0,S)=[S'->S.,#] K2/5= read(K0,a)= [S->a.Sb,b],[S->a.Sb,#],[S->.aSb,b],[S->.c,b] K3/6= read(K0,c)=[S->c.,#/b] K4/8= read(K2/5,S)=[S->aS.b,#/b] K2/5= read(K2/5,a)=,[S->.aSb,b],[S->.c,b] K3/6= read(K2/5,c)=[S->c.,b] K7/9= read(K4/8,b)=[S->aSb.,#/b] K4/8= read(K2/5,S) K2/5= read(K2/5,a) K3/6= read(K2/5,c) K7/9= read(K4/8,b) -----action-------------------- ----goto---- a b c # S 0 lép2/5 lép3/6 lép1 1 accept 2/5 lép2/5 lép3/6 lép4/8 3/6 r(S->c) r(S->c) 4/8 lép7/9 7/9 r(S->aSb) r(S->aSb) (#0, aacbb#) -> 0,a: lép2/5 (#0a2/5, acbb#) -> 2/5,a: lép2/5 (#0a2/5a2/5, cbb#) -> 2/5,c: lép3/6 (#0a2/5a2/5c3/6, bb#) -> 3/6,b: r(S->c) (#0a2/5a2/5S4/8, bb#) -> 4/8,b: lép7/9 (#0a2/5a2/5S4/8b7/9,b#) -> 7/9,b: r(S->aSb) (#0a2/5S4/8, b#) -> 4/8,b: lép7/9 (#0a2/5S4/8b7/9, #) -> 7/9,#: r(S->aSb) (#0S1, #) -> 1,#: accept