flex - Man Page

the fast lexical analyser generator

Examples (TL;DR)

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.

Referenced By

bison(1), bpfc(8), flex-2.5.4a(1), mk-configure(7), nawk(1), ocamllex(1), ragel(1), re2c(1), re2go(1), re2rust(1), suffixes(7), yacc(1), zimpl(1).

The man pages flex++(1) and lex(1) are aliases of flex(1).

January 2024 The Flex Project Programming