# Flex-&flex-version;

The Flex package contains a utility for generating programs that recognize patterns in text.

## Installation of Flex

Prepare Flex for compilation:

    ./configure --prefix=/usr

Compile the package:

    make

To test the results, issue: `make check`.

Install the package:

    make install

There are some packages that expect to find the `lex` library in `/usr/lib`. Create a symlink to account for this:

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

A few programs do not know about `flex` yet and try to run its predecessor, `lex`. To support those programs, create a wrapper script named `lex` that calls `flex` in `lex` emulation mode:

    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

## Contents of Flex

Installed programs Installed libraries
- flex and lex libfl.a and libfl_pic.a

Short Descriptions

`flex`

- A tool for generating programs that recognize patterns in text; it allows for the versatility to specify the rules for pattern-finding, eradicating the need to develop a specialized program

`flex++`

- Link to `flex` which makes it generate C++ scanner classes

`lex`

- A script that runs `flex` in `lex` emulation mode

`libfl.a`

- The `flex` library

`libfl_pic.a`

- The `flex` library