Flex 2.5では、 前節(Command Line Switches)で説明されていない、 以下のオプションもサポートされています。
long intの配列として定義するようFlexに通知します
(デフォルトではshort int型の配列となります)。
RISCマシンによっては、
long intの方が高速に処理されるため、
スキャナの性能向上が期待できますが、
その反面、
テーブルのサイズは大きくなります。
read()システム・コールを使います。
デフォルトでは、
対話型スキャナの場合はgetc()が、
バッチ(非対話型)・スキャナの場合はfread()が使われます。
以下に、 このオプションにより影響を受ける名前の一覧を示します。
yy_create_buffer
yy_delete_buffer
yy_scan_buffer
yy_scan_string
yy_scan_bytes
yy_flex_debug
yy_init_buffer
yy_flush_buffer
yy_load_buffer_state
yy_switch_to_buffer
yyin
yyleng
yylex
yylineno
yyout
yyrestart
yytext
yywrap
`-+'オプションが指定されている場合は、
影響を受けるのはyywrapとyyFlexLexerの2つだけです。
このオプションにより、
yywrap()の名前が変更されてしまう点に注意してください。
プログラムをリンクするためには、
`prefixwrap'という名前の関数を作成する必要があります。
この関数を作成したくない場合には、
スキャナ定義ファイルの中で、
`%option noyywrap'を指定して、
リンク時に`-lfl'オプションを指定します。
%option指示子については、
%option (Flex 2.5)を参照してください。