6.32. Flex-2.6.4

Flex 软件包包含一个工具,用于生成在文本中识别模式的程序。

估计编译时间: 0.4 SBU
需要硬盘空间: 35 MB

6.32.1. 安装 Flex

首先修正一个 glibc-2.26 引入的问题:

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

构建过程假设 help2man 程序存在,以根据可执行文件的 --help 选项创建一个 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
安装的目录: /usr/share/doc/flex-2.6.4

简要描述

flex

一个用于生成在文本文件中识别模式的程序的工具, 它允许灵活地指定查找模式的规则,消除了开发专用程序的需要。

flex++

flex 的扩展,用于生成 C++ 代码和类。它是一个指向 flex 的符号链接

lex

一个以 lex 仿真模式运行 flex 的符号链接

libfl

flex