flex - the fast lexical analyser generator


flex [OPTIONS] [FILE]...


Generates programs that perform pattern-matching on text.

Table Compression:
, --align

trade off larger tables for better memory alignment

-Ce, --ecs

construct equivalence classes


do not compress tables; use -f representation


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


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

, --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


use hexadecimal numbers instead of octal in debug outputs


-o, --outfile=FILE

specify output filename

-S, --skel=FILE

specify skeleton file

-t, --stdout

write scanner on stdout instead of lex.yy.c


name of C++ class


create a C header file in addition to the scanner

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


write backing-up information to FILE

Scanner behavior:
, --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)


track line count in yylineno

Generated code:
-+, --c++

generate C++ scanner class


#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


scanner for bison pure parser.


include yylloc support.


initialize yyin/yyout to stdin/stdout


do not include <unistd.h>


do not generate a particular FUNCTION



do-nothing POSIX option


do-nothing POSIX option


-h, --help

produce this help message

-V, --version

report flex version


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.