返します)を使用しなければなりません。yy_scan_buffer()。これらに関する議論は複数の入力バッファの節を参照して下さい。ポインタに割り当てることで再定義できます)に書きます。条件的に有効となるルールのための機構を提供します。いう名前の開始条件にいる場合のみ有効です。いずれかの場合のみ有効です。始まり名前が続く行において宣言されます。開始条件を、それぞれ宣言します。他の開始条件のルールは無効です。場合、開始条件を持たないルールもまた有効です。入力中の別のルールとは独立なスキャナを記述します。両者の関係を表す例を示して説明します。something_else();と等価です。場合、有効となりません(すなわちマッチしません)。最初の例ではどちらの場合でも有効です。全ての開始条件にマッチすることに注意して下さい。)は開始条件中でも有効です。開始条件の無いルールだけが有効である、最初の状態に戻ります。(開始条件名を括る括弧は不要ですが、良いスタイルであるとされています。アクションは、ルール部の先頭のインデントされたコード中に現れても良いです。通りの異なった解釈をするスキャナを示します。トークンに数えられます。現在の入力行を数えるスキャナです。した問題が起こります。各ルールで最大のマッチを得ようとすることが最も成功します。開始条件名は実際には整数値であり、格納することが出来ることに注意して下さい。代入は次のように記述できます。