flex - the fast lexical analyser generator

NAME  SYNOPSIS  DESCRIPTION  Table Compression:  Debugging:  FILES  Scanner behavior:  Generated code:  Miscellaneous:  SEE ALSO 


flex − the fast lexical analyser generator


flex [OPTIONS] [FILE]...


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


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)


−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


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

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)


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.

Updated 2024-01-29 - jenkler.se | uex.se