コマンドが妥当でない時点で直ちに失敗となる。出くわした場合も同様である。example:先に指定したcommitを解除することも可能だ。なくても、二番目のプロダクションを試すことを排除しない。"condition"を発見できない場合、二番目のプロダクションは試行されない。(そのプロダクションが照合を試みられないときでさえ)。3、4番目のプロダクションがスキップされる。<<uncommit>>によって、このプロダクションへの照合が試みられる。(不適切にも)スキップしてしまうだろう。1.<commit>及び<uncommit>ディレクティブは常に成功する。その値は常に1である。失敗させる(これは{undef}アクションと全く等価だが、より明瞭だ)。<reject>は便利だ。設定することも可能だ。これは指定された条件が真の時にのみrejectされる。関連付けられる値もない)。成功する場合があり、このとき、関連付けられる値は1である。ディレクティブで始まるプロダクションを無視する。このようなケースでは全て、レベル1警告が発生する。(例えば<reject:1>)。<reject:...>の終端なのかを知る術がないからだ)。cases.他の引数を取るディレクティブでも同じ問題が生じることに注意。どのケースでも同様の解決策が使える。終端記号前置子を変更することができる。/;/終端記号の前で、空白とタブだけをスキップ可能にする。それぞれリセットされるということに注意して欲しい。production:<skip>ディレクティブは以前の終端記号前置子を評価する。list):コロンの後に指定された値は、正規表現パターンに展開される。違うメカニズムが使用されている。