szintaktikus elemzés LL(1) ----- 1. egyszerű LL(1) 2. epszilonmentes LL(1) 3. általános LL(1) S -> aAB | bSB A -> b | d B -> aS | bb a b d # S (aAB,1) (bSB,2) A (b,3) (d,4) B (aS,5) (bb,6) -------------------------------- a pop b pop d pop # accept abbb# (abbb#, S#, []) -> a/S: (aAB,1) (abbb#, aAB#, [1]) -> a/a: pop (bbb#, AB#, [1]) -> b/A: (b,3) (bbb#, bB#, [1,3]) -> b/b: pop (bb#, B#, [1,3]) -> b/B: bb,6 (bb#, bb#, [1,3,6]) -> b/b: pop (b#, b#, [1,3,6]) -> b/b: pop (#, #, [1,3,6]) -> #/#: accept S -> aA A -> vS | eps S -> Sva | a 2. epszilonmentes LL(1) S->AfA | De A->B B->a D->d a d e f # S (AfA,1) (De,2) A (B,3) B (a,4) D (d,5) FIRST ----- FIRST(S)=FIRST(A) u FIRST(D)={a,d} FIRST(A)=FIRST(B)={a} FIRST(B)={a} FIRST(D)={d} S AD | d | ad A B | a | a B a | a | a D d | d | d S->AaB | Bb A->DD | d B->bD | f D->e FIRST ----- S AB | dbf | dbfe | dbfe A D d | de | de | de B bf | bf | bf | bf D e | e | e | e a b d e f # S (Bb,2) (AaB,1) (AaB,1) (Bb,2) A (d,4) (DD,3) B (bD,5) (f,6) D (e,7) S->BDaD B->ε | b D->ε | d S->AaB | Bb A->DD | d B->hD | f | ε D->ε