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 包含多个已知错误。使用以下补丁修复这些错误

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

GNU autotools 检测到 Flex 源代码已被之前的补丁修改,并尝试相应地更新 man 手册页。这在许多系统上无法正确工作,并且默认页面效果很好,因此请确保它不会被重新生成

touch doc/flex.1

准备编译 Flex

./configure --prefix=/usr

编译软件包

make

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

安装软件包

make install

有些软件包希望在lex库文件位于/usr/lib。创建一个符号链接来解决这个问题

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

一些程序尚不知道 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 -v 755 /usr/bin/lex

6.29.2. Flex 的内容

已安装的程序: flex 和 lex
已安装的库文件: libfl.a

简短描述

flex

一个用于生成识别文本中模式的程序的工具;它允许灵活地指定模式查找的规则,从而无需开发专门的程序

lex

一个以 lex 模拟模式运行 flex 的脚本

libfl.a

flex