Go to the first, previous, next, last section, table of contents.
This manual describes flex, a tool for generating programs
that perform pattern-matching on text.  The manual
includes both tutorial and reference sections:
- Description
 - 
a brief overview of the tool
 - Some Simple Examples
 - 
 - Format Of The Input File
 - 
 - Patterns
 - 
the extended regular expressions used by flex
 - How The Input Is Matched
 - 
the rules for determining what has been matched
 - Actions
 - 
how to specify what to do when a pattern is matched
 - The Generated Scanner
 - 
details regarding the scanner that flex produces;
how to control the input source
 - Start Conditions
 - 
introducing context into your scanners, and
managing "mini-scanners"
 - Multiple Input Buffers
 - 
how to manipulate multiple input sources; how to
scan from strings instead of files
 - End-of-file Rules
 - 
special rules for matching the end of the input
 - Miscellaneous Macros
 - 
a summary of macros available to the actions
 - Values Available To The User
 - 
a summary of values available to the actions
 - Interfacing With Yacc
 - 
connecting flex scanners together with yacc parsers
 - Options
 - 
flex command-line options, and the "%option"
directive
 - Performance Considerations
 - 
how to make your scanner go as fast as possible
 - Generating C++ Scanners
 - 
the (experimental) facility for generating C++
scanner classes
 - Incompatibilities With Lex And POSIX
 - 
how flex differs from AT&T lex and the POSIX lex
standard
 - Diagnostics
 - 
those error messages produced by flex (or scanners
it generates) whose meanings might not be apparent
 - Files
 - 
files used by flex
 - Deficiencies / Bugs
 - 
known problems with flex
 - See Also
 - 
other documentation, related tools
 - Author
 - 
includes contact information
 
Go to the first, previous, next, last section, table of contents.