• Vstup: LR tabulka pro G=(N, T, P, S); x Î T*
• Výstup: Pravý
rozbor x, pokud x Î L(G), jinak
chyba
• Metoda:
• Vlož <$,
q0> na zásobník;
stav := q0;
• repeat
• nechť a = aktuální znak na vstupu
case a[stav, a] of:
• sq: push(<a, q>) & přečti další symbol a ze vstupu
&
stav := q;
• rp: if
p: A ® X1X2… Xn Î P and
<?, q><X1,?><X2,?>…<Xn,?> je
na vrcholu zás.
then stav := b[q, A] &
zaměň <X1,?><X2,?>…<Xn, ?> za <A, stav>
na zásobníku & zapiš r na výstup
else chyba
• J: úspěch
• prázdné políčko: chyba
until úspěch
or chyba