区別するのに便利だ)。意味するのは、undefだけだから)。自動ないしはユーザー定義で提供する。テキストとの間の不整合に基づいてエラーメッセージを用意する。production"という具合に)。向上するだろう(同時に元の文法の維持管理もしやすくなる)。メッセージを与えることが可能だ。展開される(ディレクティブを指定したときではない!)。error.これはエラーを引き起こした周囲のテキスト文字列が正しく挿入される。msg>と全く同じように振舞う。エラーが引き起こされるという点が違う。対してのみエラーを発生させる。commitするからである。照合が失敗したとき、commitが復帰して続くプロダクションがスキップされる)。メッセージは、直ちに表示されるわけではない。パース処理が最終的に失敗したときにだけ表示される。メッセージから取り除かれる。表示されるということだ。(Gotchas)"も参照のこと。低レベルか最も高レベルのどちらかで生成されるものだ。終わりに<error...>ディレクティブを置くことである。(Look-ahead)"を参照)。その規則を失敗させるとしても、それはこっそりとなされるだろう。関連付けられる値もない)。出会うと、それらを含むプロダクションは常に照合に失敗するということだ。アイテムを含んでいると、レベル3警告が発生する)。失敗というわけ(笑))。終端の前に使うことができる。場合は暗黙のうちに)"ということを意味するわけではない。"commitされたときだけ失敗(そして報告)、そうでなければ成功"を意味している。とき、自動的に<reject>ディレクティブを追加する。場合、レベル2警告が発生する(下を見よ)。$::RD_WARN、$::RD_HINT、そして<$::RD_TRACE>。reported.$::RD_WARNが定義されていれば常に、致命的でない問題もある程度報告される。警告は関連付けられたレベル(1、2、3)を持つ。表示される最低限の警告レベルが決まる。$::RD_WARNに1をセットし、最も深刻な警告だけみるなら、3をセットする。デフォルトでは、$::RD_WARNは3で初期化されている。致命的ではないエラーが自動的に報告される。種々のエラー及び警告メッセージのリストについては"DIAGNOSTICS"参照。レポートされる情報量がさらに増える。しても、自動的に$::RD_WARNに1がセットされる。$::RD_HINTを定義していなければヒントは報告されない)。キャラクタだけが報告される。デバッグとして役に立つ。-s.これら四つの変数は"main"パッケージに所属していることに注目して欲しい。-s下で"-RD_ERRORS"、"-RD_WARN"、"-RD_HINT"、"-RD_TRACE")。example:一つの規則に対して局所化された変数を指定できたら便利な場合がある。含めることで達成できる。プロダクションの前で宣言される)。text;という形式の一行を付け加える。localしなければならない。rulevarのデフォルトはmyである。subrules.こうすれば代わりにlocal変数が宣言され、サブ規則内からも利用できる。いる間、その値が永続的に存在するわけではないことに注意。プロダクションは直ちに照合に失敗する)。このようなプロダクションを最適化するという効果ももたらす)。トークンを持ったプロダクションを指定するのが比較的容易である。いうペアに結び付けられることが確かなものとなる。this:文脈感度の高いサブ規則を含んだプロダクションを構築することも可能だ。これは<matchrule:...>ディレクティブを通じてなされる。決定される場合を除いて、サブ規則アイテムと全く同様に振舞う。qq{...}演算子内で現れたもの)として扱われる。文字列の値は、マッチされるべきサブ規則の名前である。ディレクティブ内に置いても、ほとんど面白くも無いし、益のないことだ。ときにこそ発揮される。場合、その規則名は"遅延バインディング"(late-bound)になる。呼び出される規則の名前は、照合がなされる度に再評価される。cats"には完全にマッチする。8文字目までしかマッチしない。最初の一回目だけ評価されるなら)、逆の振る舞いが予想されただろう。規則の呼び出しをするのではない。ようなものであって、evalではないとうことだ。