Next: , Previous: Interactive Scanners, Up: Other Flex Features


5.3 テーブルの圧縮とスキャナのスピード

テーブルの圧縮とスピードの領域では、 FlexはLexの能力をはるかに上回っています。 Flexは、 使われるオプションに応じて、 Lexよりもはるかに高速なテーブル、 あるいは、 はるかに小さいテーブルを生成することができます。 この節では、 利用可能なオプションと各オプションがスピードにもたらす影響について説明します。 一般的には、 テーブルが圧縮されるほど、 そのスピードは遅くなります。 Flexでは、 こうしたオプションをコマンドラインで指定します。 オプションは以下のとおりです。1

注:-Cxx’オプションは、 コマンドライン上には1つだけ指定すべきです。 というのは、 このうち最後に見つかったオプションだけが実際の効果を持つからです。 したがって、

     flex -Cf -Cem foo.l

は、 Flexに‘-Cem’オプションを使わせることになります。

Flexのデフォルトの動作は、 コマンドライン上で‘-Cem’オプションを使った場合に相当します。 この動作では圧縮を最大限に行うことになり、 一般的には最も遅いスキャナが生成されることになります。 こうした小さなテーブルはより速く生成され、 コンパイルもより速く実行されるので、 デフォルトは、 開発段階では非常に便利です。 スキャナのデバッグが終了した後は、 より高速な (そして通常はよりサイズの大きい) スキャナを作成することができます。


脚注

[1] 訳注:Flex 2.5では、 ここに列挙されているもの以外に、 ‘-Ca’オプションをサポートしています。 これについては、 Command Line Switches (Flex 2.5)を参照してください。