@c Copyright (C) 1999 Kazuhisa Ichikawa
@c This is part of the Flex manual, as published by ASCII
@ignore
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission notice
identical to this one except for the removal of this paragraph (this
paragraph not being relevant to the printed manual).

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Free Software Foundation.
@end ignore

@node Summary or Flex Variables and Functions (Flex 2.5), Summary of Flex Characters, Summary or Flex Variables and Functions, Summary
@section Flex変数およびFlex関数の要約（Flex 2.5の補足情報）
@cindex  FlexとCのインターフェイス（Flex2.5補足）

Flex 2.5では、
前節（@ref{Summary or Flex Variables and Functions}）で説明されていない、
以下の関数やマクロもサポートされています。

@itemize
@table @code
@findex @code{yy_set_interactive()}@r{、要約}
@item yy_set_interactive()
カレント・バッファを、
対話的なものと見なすか、
非対話的なものと見なすかを制御します。
引数にゼロ以外の値を渡すと、
カレント・バッファは対話的なものと見なされ、
ゼロを渡すと、
非対話的なものと見なされます。

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

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

@findex @code{yy_new_buffer()}@r{、要約}
@item yy_new_buffer()
@code{yy_create_buffer}の別名です。

@findex @code{yy_flush_buffer()}@r{、要約}
@item yy_flush_buffer()
引数で指定されたバッファの内容を破棄し、
バッファの先頭２バイトに@code{YY_END_OF_BUFFER_CHAR}（@samp{\0}）をセットします。

@findex @code{YY_FLUSH_BUFFER}@r{、要約}
@item YY_FLUSH_BUFFER
引数にカレント・バッファを指定して@code{yy_flush_buffer()}を呼び出すよう定義されたマクロです。

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

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

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

@findex @code{yy_push_state()}@r{、要約}
@item yy_push_state()
カレントなスタート状態をスタート状態スタックにプッシュし、
引数で指定された状態に遷移します。

@findex @code{yy_pop_state()}@r{、要約}
@item yy_pop_state()
スタート状態スタックからスタート状態をポップし、
そのポップされたスタート状態に遷移します。

@findex @code{yy_top_state()}@r{、要約}
@item yy_top_state()
スタート状態スタックの先頭にあるスタート状態を返します
（スタート状態スタックの内容は変更されません）。

@findex @code{yyFlexLexer::yylex()}@r{、要約}
@item yyFlexLexer::yylex()
C++スキャナにおいて実際にスキャン処理を行う関数です。

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

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

@findex @code{yyFlexLexer::LexerError()}@r{、要約}
@item yyFlexLexer::LexerError()
@code{yyFlexLexer}のサブクラスにおいて再定義することによって、
C++スキャナのエラー・メッセージ出力処理を変更することができます。
@end table
@end itemize
