Scroll to navigation

FLEX(1) Programming FLEX(1)

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

--backup-file=FILE
write backing-up information 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.

August 2018 The Flex Project