By Vern Paxson
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