Reference

flex(1)

the fast lexical analyser generator

NAME

flex - the fast lexical analyser generator

SYNOPSIS

flex [OPTIONS] [FILE]...

DESCRIPTION

Generates programs that perform pattern-matching on text.

Table Compression:

-Ca, --align

trade off larger tables for better memory alignment

-Ce, --ecs

construct equivalence classes

-Cf

do not compress tables; use -f representation

-CF

do not compress tables; use -F representation

-Cm, --meta-ecs

construct meta-equivalence classes

-Cr, --read

use read() instead of stdio for scanner input

-f, --full

generate fast, large scanner. Same as -Cfr

-F, --fast

use alternate table representation. Same as -CFr

-Cem

default compression (same as --ecs --meta-ecs)

Debugging:

-d, --debug

enable debug mode in scanner

-b, --backup

write backing-up information to lex.backup

-p, --perf-report

write performance report to stderr

-s, --nodefault

suppress default rule to ECHO unmatched text

-T, --trace

flex should run in trace mode

-w, --nowarn

do not generate warnings

-v, --verbose

write summary of scanner statistics to stdout

--hex

use hexadecimal numbers instead of octal in debug outputs

FILES

-o, --outfile=FILE

specify output filename

-S, --skel=FILE

specify skeleton file

-t, --stdout

write scanner on stdout instead of lex.yy.c

--yyclass=NAME

name of C++ class

--header-file=FILE

create a C header file in addition to the scanner

--tables-file[=FILE] write tables to FILE

Scanner behavior:

-7, --7bit

generate 7-bit scanner

-8, --8bit

generate 8-bit scanner

-B, --batch

generate batch scanner (opposite of -I)

-i, --case-insensitive

ignore case in patterns

-l, --lex-compat

maximal compatibility with original lex

-X, --posix-compat

maximal compatibility with POSIX lex

-I, --interactive

generate interactive scanner (opposite of -B)

--yylineno

track line count in yylineno

Generated code:

-+, --c++

generate C++ scanner class

-Dmacro[=defn]

#define macro defn (default defn is '1')

-L, --noline

suppress #line directives in scanner

-P, --prefix=STRING

use STRING as prefix instead of "yy"

-R, --reentrant

generate a reentrant C scanner

--bison-bridge

scanner for bison pure parser.

--bison-locations

include yylloc support.

--stdinit

initialize yyin/yyout to stdin/stdout

--nounistd

do not include <unistd.h>

--noFUNCTION

do not generate a particular FUNCTION

Miscellaneous:

-c

do-nothing POSIX option

-n

do-nothing POSIX option

-?

-h, --help

produce this help message

-V, --version

report flex version

SEE ALSO

The full documentation for flex is maintained as a Texinfo manual. If the info and flex programs are properly installed at your site, the command

info flex

should give you access to the complete manual.

History

--align since Debian 13 (Trixie); --backup since Debian 13 (Trixie); --debug since Debian 13 (Trixie); --ecs since Debian 13 (Trixie); --fast since Debian 13 (Trixie); --full since Debian 13 (Trixie); --hex since Debian 13 (Trixie); --meta-ecs since Debian 13 (Trixie); --nodefault since Debian 13 (Trixie); --nowarn since Debian 13 (Trixie); --perf-report since Debian 13 (Trixie); --read since Debian 13 (Trixie); --trace since Debian 13 (Trixie); --verbose since Debian 13 (Trixie); -CF since Debian 13 (Trixie); -Ca since Debian 13 (Trixie); -Ce since Debian 13 (Trixie); -Cem since Debian 13 (Trixie); -Cf since Debian 13 (Trixie); -Cm since Debian 13 (Trixie); -Cr since Debian 13 (Trixie).

-+ until Debian 12 (Bookworm); --7bit until Debian 7 (Wheezy); --8bit until Debian 7 (Wheezy); --batch until Debian 7 (Wheezy); --bison-bridge until Debian 7 (Wheezy); --bison-locations until Debian 7 (Wheezy); --c++ until Debian 7 (Wheezy); --case-insensitive until Debian 7 (Wheezy); --header-file until Debian 7 (Wheezy); --help until Debian 7 (Wheezy); --interactive until Debian 7 (Wheezy); --lex-compat until Debian 7 (Wheezy); --noFUNCTION until Debian 7 (Wheezy); --noansi-prototypes until Debian 7 (Wheezy); --noline until Debian 7 (Wheezy); --nounistd until Debian 7 (Wheezy); --outfile until Debian 7 (Wheezy); --posix-compat until Debian 7 (Wheezy); --prefix until Debian 7 (Wheezy); --reentrant until Debian 7 (Wheezy); --skel until Debian 7 (Wheezy); --stdinit until Debian 7 (Wheezy); --stdout until Debian 7 (Wheezy); --version until Debian 7 (Wheezy); --yyclass until Debian 7 (Wheezy); --yylineno until Debian 7 (Wheezy); -7 until Debian 12 (Bookworm); -8 until Debian 12 (Bookworm); -B until Debian 12 (Bookworm); -C until Debian 12 (Bookworm); -Dmacro until Debian 7 (Wheezy); -I until Debian 12 (Bookworm); -L until Debian 12 (Bookworm); -P until Debian 7 (Wheezy); -Pprefix until Debian 12 (Bookworm); -R until Debian 7 (Wheezy); -S until Debian 7 (Wheezy); -Sskeleton_file until Debian 12 (Bookworm); -V until Debian 12 (Bookworm); -X until Debian 7 (Wheezy); -c until Debian 12 (Bookworm); -h until Debian 12 (Bookworm); -i until Debian 12 (Bookworm); -l until Debian 12 (Bookworm); -n until Debian 12 (Bookworm); -o until Debian 7 (Wheezy); -ooutput until Debian 12 (Bookworm); -t until Debian 12 (Bookworm).