6.29. Flex-2.5.31

Flex 能生成可以识别文本模式的程序。

预计编译时间: 0.1 SBU
所需磁盘空间: 22.5 MB
安装依赖于: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, M4, Make, Sed

6.29.1. 安装 Flex

Flex 有几个已知的bug,下面的命令可以修正它们:

patch -Np1 -i ../flex-2.5.31-debian_fixes-3.patch

GNU autotools 会检测到 Flex 的源代码已经被上面的补丁修改过了,于是将会尝试更新相应的手册页。在许多系统上这个操作会失败,而原本的手册页并不需要修改,所以要明确指示不要更新:

touch doc/flex.1

为编译 Flex 做准备:

./configure --prefix=/usr

编译软件包:

make

要测试结果,请运行: make check

安装软件包:

make install

一些程序试图在 /usr/lib 下面寻找 lex 库,可以创建一个符号链接来满足要求:

ln -s libfl.a /usr/lib/libl.a

一些程序并不知道 flex 而是试图寻找 lex 程序(flex是实现lex功能的另一种也是更好的选择)。为了满足少数一些程序的需要,我们将创建一个 lex 脚本,这个脚本调用 flex 并通过它来模仿 lex 的输出文件命名惯例:

cat > /usr/bin/lex << "EOF"
#!/bin/sh
# Begin /usr/bin/lex

exec /usr/bin/flex -l "$@"

# End /usr/bin/lex
EOF
chmod 755 /usr/bin/lex

6.29.2. Flex 的内容

安装的程序: flex, lex, texi2pdf
安装的库文件: libfl.a

简要描述

flex

是一个用来生成识别文本的模式程序的工具。模式识别在很多程序中是非常有用,用户设置一些查询规则,然后flex可以生成一个查询程序。人们使用flex可以比亲自编写查询程序更便捷。

lex

lex 仿真模式下运行 flex的一个脚本。

texi2pdf

从Texinfo文件创建PDF文件的脚本。

libfl.a

flex