6.32. Flex-2.6.4

Flex パッケージは、字句パターンを認識するプログラムを生成するユーティリティを提供します。

概算ビルド時間: 0.4 SBU
必要ディスク容量: 33 MB

6.32.1. Flex のインストール

glibc-2.26 によって発生する問題を修正します。

sed -i "/math.h/a #include <malloc.h>" src/flexdef.h

実行モジュールに --help オプションを指定した場合には man ページを生成するプログラム help2man が存在していることが前提となっています。 しかし現時点においてこのプログラムは存在していません。 そこで環境変数を用いて man ページの生成工程を回避することにします。 以下により Flex をコンパイルするための準備をします。

HELP2MAN=/tools/bin/true \
./configure --prefix=/usr --docdir=/usr/share/doc/flex-2.6.4

パッケージをコンパイルします。

make

コンパイル結果をテストするために以下を実行します。(約 0.5 SBU)

make check

パッケージをインストールします。

make install

プログラムの中には flex コマンドが用いられず、その前身である lex コマンドを実行しようとするものがあります。 そういったプログラムへ対応するために lex という名のシンボリックリンクを生成します。 このリンクが lex のエミュレーションモードとして flex を呼び出します。

ln -sv flex /usr/bin/lex

6.32.2. Flex の構成

インストールプログラム: flex, flex++ (flex へのリンク), lex (flex へのリンク)
インストールライブラリ: libfl.so, libfl_pic.so
インストールディレクトリ: /usr/share/doc/flex-2.6.4

概略説明

flex

テキスト内のパターンを認識するためのプログラムを生成するツール。 これは多彩なパターン検索の規則構築を可能とします。 これを利用することで特別なプログラムの生成が不要となります。

flex++

flex の拡張。 C++ コードやクラスの生成に利用されます。 これは flex へのシンボリックリンクです。

lex

lex のエミュレーションモードとして flex を実行するスクリプト。

libfl

flex ライブラリ。