6.29. Flex-2.5.31

6.29. Flex-2.5.31

Пакет Flex используется для генерации программ, которые могут обрабатывать шаблоны в тексте.

Расчетное время сборки 0.1 SBU

Требуемое место на диске 3.4 MB

Flex - зависимости установки: 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-2.patch

GNU autotools определит, что исходный код Flex был изменен предыдущим патчем и, соответственно, попытается обновить страницы документации. Это не работает на многих системах и основная страница остается неизменной, поэтому подтверждаем, что она не была изменена:

touch doc/flex.1

Подготавливаем Flex для компиляции:

./configure --prefix=/usr

Компилируем пакет

make

Для проверки результата вводим: make check.

Устанавливаем пакет

make install

Некоторые пакеты ищут библиотеку lex в /usr/lib. Создадим необходимую ссылку:

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

Некоторые программы не знают о flex и используют его предыдущий вариант, lex. Для поддержки таких программ создадим shell-скрипт 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, flex++ (ссылка на flex) и lex

Проинсталированные библиотеки: libfl.a

Короткое описание

flex

Инструмент для генерации программ, которые могут обрабатывать шаблоны в тексте; он допускает для разнообразных программ указывать правила для поиска по образцу, делая ненужной разработку специальных программы

flex++

Запрашивает версию flex которая используется исключительно для сканеров C++

lex

Скрипт, который запускает flex в режиме эмуляции lex

libfl.a

Библиотека flex