Next: An Example of Flex and C, Previous: Flex and C, Up: Interfacing to Flex
Flex 2.5では、 前節(Flex and C)で説明されていない、 以下のマクロもサポートされています。
yy_set_interactive(
is_interactive)
yy_set_interactive()
による指定は、
‘%option always-interactive’や‘%option never-interactive’による指定に優先します。
このマクロは、
バッファからのスキャン処理が始まるよりも前に呼び出されなければなりません。
yy_set_bol(at_bol)
マクロyy_set_bol()
は、
バッファ内のカレントな位置が行の先頭にあるか否かを表すコンテキスト情報を設定します。
引数にゼロ以外の値を渡すと、
バッファ内のカレントな位置は行の先頭である、
というコンテキスト情報がセットされます。
したがって、
次にトークンのマッチ処理が行われる時には、
行頭を表す‘^’を含むルールの適用が試みられます。
逆に、
引数にゼロを渡すと、
バッファ内のカレントな位置は行の先頭ではないことになり、
次にトークンのマッチ処理が行われる時には、
行頭を表す‘^’を含むルールの適用が試みられなくなります。
YY_AT_BOL()