LR(0) SLR(1) S'->S S->nScS|epszilon H0= closure([S'->.S])=[S'->.S],[S->.nScS],[S->.] H1= read(H0,S)=[S'->S.] H2= read(H0,n)=[S->n.ScS],[S->.nScS],[S->.] H3= read(H2,S)=[S->nS.cS] H2= read(H2,n)=[S->n.ScS],[S->.nScS],[S->.] H4= read(H3,c)=[S->nSc.S],[S->.nScS],[S->.] H5= read(H4,S)=[S->nScS.] H2= read(H4,n)=[S->n.ScS],[S->.nScS],[S->.] FOLLOW(S)={c,#} SLR(1) -------action-------------- ----goto--- n c # S 0 s2 r(S->e) r(S->e) 1 1 accept 2 s2 r(S->e) r(S->e) 3 3 s4 4 s2 r(S->e) r(S->e) 5 5 r(S->nScS) r(S->nScS) (#0, nc#) -> 0/n: s2 (#0n2, c#) -> 2/c: r(S->e) (#0n2S3, c#) -> 3/c: s4 (#0n2S3c4, #) -> 4/#: r(S->e) (#0n2S3c4S5, #) -> 5/#: r(S->nScS) -------- (#0S1, #) -> 1/#: accept LR(0) action S n c 0 step/red(S->e) 1 2 1 accept 2 step/red(S->e) 3 2 3 step 4 4 step/red(S->e) 5 2 5 red(S->nScS) LR(1) A->bBDBfBE B->g D->a E->a|b [B->g., a] [B->g., f] [B->g., a][B->g.,b] [B->g., a/b] [B->g., a/b/c/#] [A->absagasdf.dwfewfds, a] [A->., #] [A->dshafj.BDA, #] [B->.~~~~, ] S->SnSc|epszilon H0= closure([S'->.S,#]) =[S'->.S,#][S->.SnSc,#][S->.,#] [S->.SnSc,n][S->.,n] =[S'->.S,#][S->.SnSc,#/n][S->.,#/n] H1= read(H0,S)=[S'->S.,#]