6.29. Flex-2.5.31

Mit Flex kann man Programme zum Erkennen von Textmustern erzeugen.

Geschätzte Kompilierzeit: 0.1 SBU
Ungefähr benötigter Festplattenplatz: 22.5 MB
Die Installation ist abhängig von: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, M4, Make und Sed

6.29.1. Installation von Flex

Flex enthält einige bekannte Fehler. Beheben Sie diese mit dem folgenden Patch:

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

Die GNU autotools erkennen, dass der Quellcode von Flex durch den vorhergehenden Patch verändert wurde und versuchen, die Man-page entsprechend anzupassen. Das funktioniert aber auf vielen Systemen nicht korrekt und die Standard-Man-Page ist völlig in Ordnung, daher stellen Sie sicher, dass sie nicht neu erzeugt wird:

touch doc/flex.1

Bereiten Sie Flex zum Kompilieren vor:

./configure --prefix=/usr

Kompilieren Sie das Paket:

make

Um das Ergebnis zu prüfen, führen Sie make check aus.

Installieren Sie das Paket:

make install

Einige Programme erwarten die lex-Bibliothek in /usr/lib. Erstellen Sie daher einen entsprechenden symbolischen Link:

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

Einige wenige Programme kennen flex noch nicht und versuchen den Vorgänger lex aufzurufen. Um diesen Programmen dennoch gerecht zu werden, erzeugen Sie ein kleines Shell-Skript mit dem Namen lex, welches flex im lex-Emulationsmodus aufruft:

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. Inhalt von Flex

Installierte Programme: flex und lex
Installierte Bibliothek: libfl.a

Kurze Beschreibungen

flex

Ein Werkzeug zum Erzeugen von Programmen, die Muster in Text erkennen können. Mustererkennung ist in vielen Programmen nützlich. Flex erzeugt aus einem Satz an Suchregeln ein Programm, das nach diesen Mustern sucht.

lex

Ein Skript, welches flex im lex-Emulationsmodus startet.

libfl.a

Die flex-Bibliothek.