Scroll to navigation

FLEX(1) プログラミング FLEX(1)

名前

flex - 高速な字句解析ジェネレーター

書式

flex [OPTIONS] [FILE]...

説明

対象テキストのパターンマッチングを実現するプログラムを生成します。

テーブル圧縮:

より大きなテーブルをあきらめて、メモリ配置を優先します。
同等クラス (equivalence class) を構築します。
テーブルを圧縮しません。-f を利用してください。
テーブルを圧縮しません。-F を利用してください。
メタ同等クラス (meta-equivalence class) を構築します。
スキャナーの入力として stdio ではなく read() を用います。
高速で大きなスキャナーを生成します。-Cfr と同じです。
代替テーブル表現 (alternate table representation) を用います。-CFr と同じです。
デフォルトの圧縮を用います (--ecs --meta-ecs と同じです)。

デバッグ

スキャナーにおいてデバッグモードを有効にします。
バックアップ情報を lex.backup に出力します。
性能報告を stderr に出力します。
マッチしなかったテキストを ECHO するデフォルトルールを省略します。
flex をトレースモードで実行します。
警告メッセージを生成しません。
スキャナーの処理統計に関する概要を stdout に出力します。
デバッグ出力において 8 進数ではなく 16 進数を用います。

ファイル

出力ファイル名を指定します。
スケルトンファイルを指定します。
スキャナーを lex.yy.c ではなく stdout に出力します。
C++ クラス名。
スキャナーに加えて C ヘッダーファイルを生成します。

--tables-file[=FILE] テーブルを FILE に出力します。

スキャナーの動作

-7, --7bit
7 ビットスキャナーを生成します。
-8, --8bit
8 ビットスキャナーを生成します。
バッチスキャナー (batch scanner) を生成します (逆は -I)。
パターンにおいて大文字小文字を区別しません。
オリジナルの lex と最大限の互換性を保ちます。
POSIX lex と最大限の互換性を保ちます。
対話型スキャナー (interactive scanner) を生成します (逆は -B)。
行数カウントを yylinenoe により行います。

生成コード

-+, --c++
C++ スキャナークラスを生成します。
#define マクロを defn とします (デフォルトの defn は '1' です)。
スキャナーにおける #line ディレクティブを省略します。
プレフィックスに "yy" ではなく STRING を用います。
リエントラントな (reentrant) C スキャナーを生成します。
スキャナーを bison 向けの純粋なパーサーとします。
yylloc サポートを含めます。
yyin/yyout を stdin/stdout に初期化します。
<unistd.h> をインクルードしません。
特定の FUNCTION を生成しません。

その他

POSIX オプションを処理しません。
POSIX オプションを処理しません。

-?

ヘルプメッセージを表示します。
flex のバージョンを表示します。

関連項目

flex の完全なドキュメントは Texinfo マニュアルとしてメンテナンスされています。infoflex の両プログラムが適切にインストールされていれば、以下のコマンド

info flex

を実行して完全なマニュアルを参照できます。

2017/05 Flex プロジェクト