flex [options] [file]

flex (Fast Lexical Analyzer Generator) is a faster variant of lex. It generates a lexical analysis program (named lex.yy.c) based on the regular expressions and C statements contained in one or more input files. See also bison, yacc, and the O’Reilly book lex & yacc.



Generate backup information to lex.backup.


Debug mode.


Use a faster scanner. The result is larger but faster.


Help summary.


Scan case-insensitively.


Maximum lex compatibility.

-o file

Write output to file instead of lex.yy.c.


Print performance report.


Exit if the scanner encounters input that does not match any of its rules.


Print to standard output. (By default, flex prints to lex.yy.c.)


Print a summary of statistics.


Suppress warning messages.


Generate batch (noninteractive) scanner.


Use the fast scanner table representation. This option is usually as fast as -f and often generates smaller data (although for some data sets, it generates larger data).


Generate an interactive scanner (default).


Suppress #line directives in lex.yy.c.

-P prefix

Change default yy prefix to prefix for all globally visible variable and function names.


Print version number.


Generate a 7-bit scanner.


Generate an 8-bit scanner (default).


Generate a C++ scanner class.


Compress scanner tables but do not use equivalence classes.


Align tables for memory access and computation. This creates larger tables but gives faster performance.


Construct equivalence classes. This creates smaller ...

Get Linux in a Nutshell, 6th Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.