Flex変数およびFlex関数の一覧（Flex 2.5の補足情報）
=================================

Flex 2.5では、前節で説明されていない、以下の関数やマクロもサポートされています。

yy_set_interactive()
     カレントバッファを、対話的なものとみなすか、非対話的なものとみなすかを制御します。引数にゼロ以外の値を渡すと、カレントバッファは対話的なものとみなされ、ゼロを渡すと、非対話的なものとみなされます。

yy_set_bol()
     バッファ内の現在位置が行の先頭にあるか否かを表すコンテキスト情報を設定します。引数にゼロ以外の値を渡すと、バッファ内の現在位置は行の先頭である、というコンテキスト情報がセットされます。したがって、次にトークンのマッチ処理が行われるときには、行頭を表す^を含むルールの適用が試みられます。逆に、引数にゼロを渡すと、バッファ内の現在位置は行の先頭ではないことになり、次にトークンのマッチ処理が行われるときには、行頭を表す^を含むルールの適用が試みられなくなります。

YY_AT_BOL()
     次にトークンのマッチ処理が行われるときに、行頭を表す^を含むルールの適用が試みられるようなコンテキスト情報がセットされている場合には、ゼロ以外の値を返します。それ以外の場合は、ゼロを返します。

yy_new_buffer()
     yy_create_bufferの別名です。

yy_flush_buffer()
     引数で指定されたバッファの内容を破棄し、バッファの先頭2バイトに YY_END_OF_BUFFER_CHAR（\0）をセットします。

YY_FLUSH_BUFFER
     引数にカレントバッファを指定してyy_flush_buffer()を呼び出すよう定義されたマクロです。

yy_scan_string()
     NULLで終わる文字列をスキャンするための入力バッファを作成します。実際には、引数で渡された文字列のコピーがスキャンされます。

yy_scan_bytes()
     引数で指定されたメモリ領域をスキャンするためのバッファを作成します。実際には、メモリ領域上のデータのコピーがスキャンされます。

yy_scan_buffer()
     引数で指定されたメモリ領域をスキャンするためのバッファを作成します。メモリ領域上のデータはコピーされません。

yy_push_state()
     現在のスタート状態をスタート状態スタックにプッシュし、引数で指定された状態に遷移します。

yy_pop_state()
     スタート状態スタックからスタート状態をポップし、そのポップされたスタート状態に遷移します。

yy_top_state()
     スタート状態スタックの先頭にあるスタート状態を返します（スタート状態スタックの内容は変更されません）。

yyFlexLexer::yylex()
     C++スキャナにおいて実際にスキャン処理を行う関数です。

yyFlexLexer::LexerInput()
     yyFlexLexerのサブクラスにおいて再定義することによって、 C++スキャナの入力処理を変更できます。

yyFlexLexer::LexerOutput()
     yyFlexLexerのサブクラスにおいて再定義することによって、 C++スキャナの出力処理を変更できます。

yyFlexLexer::LexerError()
     yyFlexLexerのサブクラスにおいて再定義することによって、 C++スキャナのエラーメッセージ出力処理を変更できます。