Previous: Command Line Switches, Up: Invoking Flex


2.2 コマンドライン・オプション(Flex 2.5の補足情報)

Flex 2.5では、 前節(Command Line Switches)で説明されていない、 以下のオプションもサポートされています。

-h
Flexに対してコマンドライン・オプションの要約情報を出力するよう指示します。
-l
AT&Tにより実装されたlexとの互換性を最大限に提供します。 このオプションは、 性能面でかなりの悪影響を及ぼします。 また、 このオプションを、 ‘-f’、‘-F’、‘-Cf’、‘-CF’、‘-+’オプションと同時に指定することはできません。 FlexとLexの(非)互換性の問題については、 Flex and Lexを参照してください。
-w
このオプションが指定されると、 Flexは、 警告メッセージを出力しません。
-B
Flexに対してバッチ・スキャナを生成するよう指示します。 これは、 対話型スキャナを生成するよう指示する‘-I’オプションの否定です。
-V
Flexに対してバージョン番号を出力するよう指示します。
-7
Flexに対して7ビット・スキャナを生成するよう指示します。 これは、 ‘-8’オプションの否定です。 内部的に生成されるテーブルのサイズは、 ‘-8’オプションが指定された場合と比較して半分になりますが、 生成されるスキャナは、 8ビット文字を含む入力を処理することができなくなります。 ‘-Cf’、‘-CF’が指定されていない場合は、 明示的に‘-7’を指定しない限り、 8ビット・スキャナが生成されます。
-+
Flexに対してC++スキャナ・クラスを生成するよう指示します。 C++スキャナについては、 Flex and C++ (Flex 2.5)を参照してください。
-?
Flexに対してコマンドライン・オプションの要約情報を出力するよう指示します。 (‘-h’オプションと同じです)。
-Ca
このオプションは、 スキャン処理用のテーブルをlong intの配列として定義するようFlexに通知します (デフォルトではshort int型の配列となります)。 RISCマシンによっては、 long intの方が高速に処理されるため、 スキャナの性能向上が期待できますが、 その反面、 テーブルのサイズは大きくなります。
-Cr
このオプションを指定して生成されたスキャナは、 入力にread()システム・コールを使います。 デフォルトでは、 対話型スキャナの場合はgetc()が、 バッチ(非対話型)・スキャナの場合はfread()が使われます。
-ofile
このオプションが指定されると、 Flexは生成されたスキャナをfileにより指定されるファイルに出力します。 デフォルトでは、 スキャナはファイルlex.yy.cに出力されます。
-Pprefix
Flexにより生成されるスキャナのソース・ファイルの中では、 大域変数や大域関数の名前の先頭に接頭辞‘yy’が付けられます。 このオプションが指定されると、 ‘yy’の代わりに、 prefixにより指定される文字列が接頭辞として使用されます。 また、 ‘-o’オプションが指定されない場合のスキャナ・ファイル名lex.yy.cも、 lex.prefix.cとなります。

以下に、 このオプションにより影響を受ける名前の一覧を示します。

          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

-+’オプションが指定されている場合は、 影響を受けるのはyywrapyyFlexLexerの2つだけです。

このオプションにより、 yywrap()の名前が変更されてしまう点に注意してください。 プログラムをリンクするためには、 ‘prefixwrap’という名前の関数を作成する必要があります。 この関数を作成したくない場合には、 スキャナ定義ファイルの中で、 ‘%option noyywrap’を指定して、 リンク時に‘-lfl’オプションを指定します。 %option指示子については、 %option (Flex 2.5)を参照してください。

--help
Flexに対してコマンドライン・オプションの要約情報を出力するよう指示します。 (‘-h’オプションと同じです)。
--version
Flexに対してバージョン番号を出力するよう指示します。 (‘-V’オプションと同じです)。