smlweb ucalgary LR(1) ------- S -> aEa | bEb | aFb | bFa E -> e F -> e a b e # S E F 0 s2 s3 1 1 2 s6 4 ... 6 r(E->e) r(F->e) ... 13 S->bFa H0= closure([S'->.S,#])= [S'->.S,#], [S->.aEa,#],[S->.bEb,#], [S->.aFb,#],[S->.bFa,#] H1= read(H0,S)=[S'->S.,#] H2= read(H0,a)= [S->a.Ea,#],[S->a.Fb,#] [E->.e,a],[F->.e,b] H3= read(H0,b)= [S->b.Eb,#],[S->b.Fa,#] [E->.e,b],[F->.e,a] H4= read(H2,E)=[S->aE.a,#] H5= read(H2,F)=[S->aF.b,#] H6= read(H2,e)=[E->e.,a],[F->e.,b] H7= read(H3,E)=[S->bE.b,#] H8= read(H3,F)=[S->bF.a,#] H9= read(H3,e)=[E->e.,b],[F->e.,a] H10=read(H4,a)=[S->aEa.,#] H11=read(H5,b)=[S->aFb.,#] H12=read(H7,b)=[S->bEb.,#] H13=read(H8,a)=[S->bFa.,#] LALR(1) -------- H6= read(H2,e)=[E->e.,a],[F->e.,b] H9= read(H3,e)=[E->e.,b],[F->e.,a] összevonhatóak: K6/9=[E->e.,a/b], [F->e.,a/b] ha lennének olvasások: read(H6,x)=H10 read(H9,x)=H18 ===> read(K6/9, x)=K10/18 táblázat: a b x H6 red(E->e) red(F->e) s10 H9 red(F->e) red(E->e) s18 K6/9 redE/redF redE/redF s10/18