「還元」について補足すると 式 := 式 + 式 式 := 1 | 2 | 3 という文法があったとき、 1+2+3 という入力に対して、 1+2 は 2番目の文法により「式+式」に還元でき、それは1番目の左辺の「式+式」という形式なので、右辺の「式」に還元できます。すると 1+2+3 は「式+3」という形式になるので、これは「式+式」という形式に還元され、同様に「式」に還元できます。これで 1+2+3 は唯一つの「式」に還元することができます。 なお、入力を最後まで還元できたとき、これは「受理(accept)された」といいます。 (注意: 実際にはこの文法だと一行目の文法で「シフト(shift)」という概念により処理されると考えたほうがいい。詳しくはコンパイラの教科書参照)