LR(1) ----- S' -> S LR(1) kanonikus elem előreolvasási szimbólum [S->AB. a] ------ magja S -> AB A -> a B -> b closure({[S'->.S, #]}) H0= closure([S'->.S #])= [S'->.S #] [S->.AB #] [A->.a b] H1= read(H0, S)=[S'->S. #] H2= read(H0, A)=[S->A.B #][B->.b #] H3= read(H0, a)=[A->a. b] H4= read(H2, B)=[S->AB. #] H5= read(H2, b)=[B->b. #] S -> a | S v a H0= closure([S'->.S #])= [S'->.S #] [S->.a #] [S->.Sva #] [S->.a v] [S->.Sva v] = [S'->.S #] [S->.a #/v] [S->.Sva #/v] H1= read(H0,S)=[S'->S. #][S->S.va #/v] H2= read(H0,a)=[S->a. #/v] H3= read(H1,v)=[S->Sv.a #/v] H4= read(H3,a)=[S->Sva. #/v] S a v # 0 step1 step2 1 step3 accept 2 red(S->a) red(S->a) 3 step4 4 red(S->Sva) red(S->Sva) (#0, avava#) -> 0,a:step2 (#0 a2, vava#) -> 2,v:red(S->a) -- (#0 S1, vava#) -> S -> a | a v S H0= closure([S'->.S,#])= [S'->.S,#][S->.a,#][S->.avS,#] H1= read(H0,S)=[S'->S.,#] H2= read(H0,a)=[S->a.,#][S->a.vS,#] H3= read(H2,v)=[S->av.S,#][S->.a,#][S->.avS,#] H4= read(H3,S)=[S->avS.,#] H2= read(H3,a)=[S->a.,#][S->a.vS,#] S a v # 0 step1 step2 1 accept 2 step3 red(S->a) 3 step4 step2 4 red(S->avS) (#0, avava#) -> (#0 a2, vava#) -> (#0 a2 v3, ava#) -> (#0 a2 v3 a2, va#) -> (#0 a2 v3 a2 v3, a#) -> (#0 a2 v3 a2 v3 a2, #) -> (#0 a2 v3 a2 v3 S4, #) -> (#0 a2 v3 S4, #) -> (#0 S1, #) -> accept S -> a | S v S LALR(1) ------- S -> n S c S | ε H0= closure([S'->.S #]) = [S'->.S #][S->.nScS #][S->. #] H1= read(H0, S)=[S'->S. #] H2= read(H0, n)=[S->n.ScS #][S->.nScS c][S->. c] H3= read(H2, S)=[S->nS.cS #] H4= read(H2, n)=[S->n.ScS c][S->.nScS c][S->. c] H5= read(H3, c)=[S->nSc.S #][S->.nScS #][S->. #] H6= read(H4, S)=[S->nS.cS c] H4= read(H4,n)=[S->n.ScS c][S->.nScS c][S->. c] H7= read(H5,S)=[S->nScS. #] H2= read(H5,n)=[S->n.ScS #][S->.nScS c][S->. c] H8= read(H6,c)=[S->nSc.S c][S->.nScS c][S->. c] H9= read(H8,S)=[S->nScS. c] H4= read(H8,n)=[S->n.ScS c][S->.nScS c][S->. c] H2=[S->n.ScS #][S->.nScS c][S->. c] H4=[S->n.ScS c][S->.nScS c][S->. c] J2/4=[S->n.ScS #][S->n.ScS c][S->.nScS c][S->. c] 2/4 3/6 5/8 7/9 H2 step3 step4 red(S->ε) H4 step6 step4 red(S->ε) J2/4 step3/6 step2/4 red(S->ε) S n c # H0 step1 step2 red(S->ε) H1 accept H2 step3 step4 red(S->ε) H3 step5 H4 step6 step4 red(S->ε) H5 step7 step2 red(S->ε) H6 step8 H7 red(S->nScS) H8 step9 step4 red(S->ε) H9 red(S->nScS) 2/4 3/6 5/8 7/9 S n c # J0 step1 step2/4 red(S->ε) J1 accept J2/4 step3/6 step2/4 red(S->ε) J3/6 step5/8 J5/8 step7/9 step2/4 red(S->ε) red(S->ε) J7/9 red(S->nScS)red(S->nScS)