LR法
また、入力の最後を示すため、 $ が追加されている。
構文解析を開始したとき、常に状態 0 から始まる。スタックは次のようになっている:
[0]
構文解析器が最初に見る入力記号は '1' であり、アクション表を参照すると状態 2 への遷移が指示されているので、スタックが次のようになる:
[0 '1' 2]
スタックのトップは右端である。なお、説明のために状態遷移の原因となった記号(ここでは '1')をその前に記している。もちろん、本当のスタックにはこのような記号はプッシュされない。
状態 2 ではアクション表によれば、次の入力記号が何であれ、5 番の文法規則を適用しなければならない。これはつまり、5 番の規則の右辺を認識したことを示す。そこで、出力ストリームに 5 を書き出し、スタックから1個の状態をポップし、GOTO表から(状態 0 で非終端記号 B)状態 4 をスタックにプッシュする。結果としてスタックは次のようになる:
[0 B 4]
状態 4 の場合、アクション表を見ると文法規則 3 番の適用をしなければならない。そこで出力ストリームに 3 を書き出し、スタックから1個の状態をポップして、GOTO表から(0、E)状態 3 を新たにプッシュする。スタックは次のようになる:
[0 E 3]