LR(1) 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 s2 s3 s1 1 accept 2 s5 s6 s4 3 r(S->c) 4 s7 5 s5 s6 s8 6 r(S->c) 7 r(S->aSb) 8 s9 9 r(S->aSb) (#0, aacbb#) -> 0/a: s2 (#0a2, acbb#) -> 2/a: s5 (#0a2a5, cbb#) -> 5/c: s6 (#0a2a5c6, bb#) -> 6/b: r(S->c) (#0a2a5S8, bb#) -> 8/b: s9 (#0a2a5S8b9,b#) -> 9/b: r(S->aSb) (#0a2S4, b#) -> 4/b: s7 (#0a2S4b7, #) -> 7/#: r(S->aSb) (#0S1, #) -> 1/#: accept LALR(1) ------- 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] K0=H0 K1=H1 K2/5=[S->a.Sb,#/b],[S->.aSb,b],[S->.c,b] K3/6=[S->c.,#/b] K4/8=[S->aS.b,#/b] K7/9=[S->aSb.,#/b] K3/6= read(K0,c) -------action---------------- ----goto--- a b c # S 0 s2/5 s3/6 s1 1 accept 2/5 s2/5 s3/6 s4/8 3/6 r(S->c) r(S->c) 4/8 s7/9 7/9 r(S->aSb) r(S->aSb) bisonc++ --construction shift/reduce