| Index Entry | Section |
|
$ | | |
| $ as normal character in patterns | 6. Patterns |
|
% | | |
| %array, advantages of | 7. How the Input Is Matched |
| %array, use of | 7. How the Input Is Matched |
| %array, with C++ | 7. How the Input Is Matched |
| %option noyywrapp | 9. The Generated Scanner |
| %pointer, and unput() | 8. Actions |
| %pointer, use of | 7. How the Input Is Matched |
| %top | 5.1 Format of the Definitions Section |
| %{ and %}, in Definitions Section | 5.1 Format of the Definitions Section |
| %{ and %}, in Rules Section | 8. Actions |
|
< | | |
| <<EOF>>, use of | 12. End-of-File Rules |
|
[ | | |
| [] in patterns | 6. Patterns |
|
^ | | |
| ^ as non-special character in patterns | 6. Patterns |
|
| | | |
| |, in actions | 8. Actions |
| |, use of | 8. Actions |
|
A | | |
| accessor functions, use of | 19.4.5 Accessing Variables with Reentrant Scanners |
| actions | 8. Actions |
| actions, embedded C strings | 8. Actions |
| actions, redefining YY_BREAK | 13. Miscellaneous Macros |
| actions, use of { and } | 8. Actions |
| aliases, how to define | 5.1 Format of the Definitions Section |
| arguments, command-line | 16. Scanner Options |
| array, default size for yytext | 14. Values Available To the User |
|
B | | |
| backing up, eliminating | 17. Performance Considerations |
| backing up, eliminating by adding error rules | 17. Performance Considerations |
| backing up, eliminating with catch-all rule | 17. Performance Considerations |
| backing up, example of eliminating | 17. Performance Considerations |
| BEGIN | 8. Actions |
| BEGIN, explanation | 10. Start Conditions |
| beginning of line, in patterns | 6. Patterns |
| bison, bridging with flex | A.2 C Scanners with Bison Parsers |
| bison, parser | A.2 C Scanners with Bison Parsers |
| bison, scanner to be called from bison | A.2 C Scanners with Bison Parsers |
| BOL, checking the BOL flag | 13. Miscellaneous Macros |
| BOL, in patterns | 6. Patterns |
| BOL, setting it | 13. Miscellaneous Macros |
| braces in patterns | 6. Patterns |
| bugs, reporting | 2. Reporting Bugs |
|
C | | |
| C code in flex input | 5.1 Format of the Definitions Section |
| C++ | 18. Generating C++ Scanners |
| C++ and %array | 14. Values Available To the User |
| C++ I/O, customizing | 25.1 How do I use my own I/O classes in a C++ scanner? |
| C++ scanners, including multiple scanners | 18. Generating C++ Scanners |
| C++ scanners, use of | 18. Generating C++ Scanners |
| c++, experimental form of scanner class | 18. Generating C++ Scanners |
| C++, multiple different scanners | 18. Generating C++ Scanners |
| C-strings, in actions | 8. Actions |
| case-insensitive, effect on character classes | 6. Patterns |
| character classes in patterns | 6. Patterns |
| character classes in patterns, syntax of | 6. Patterns |
| character classes, equivalence of | 6. Patterns |
| clearing an input buffer | 11. Multiple Input Buffers |
| command-line options | 16. Scanner Options |
| comments in flex input | 5.1 Format of the Definitions Section |
| comments in the input | 5.4 Comments in the Input |
| comments, discarding | 8. Actions |
| comments, example of scanning C comments | 10. Start Conditions |
| comments, in actions | 8. Actions |
| comments, in rules section | 5.4 Comments in the Input |
| comments, syntax of | 5.4 Comments in the Input |
| comments, valid uses of | 5.4 Comments in the Input |
| compressing whitespace | 8. Actions |
| concatenation, in patterns | 6. Patterns |
| copyright of flex | 1. Copyright |
| counting characters and lines | 4. Some Simple Examples |
| customizing I/O in C++ scanners | 25.1 How do I use my own I/O classes in a C++ scanner? |
|
D | | |
| default rule | 4. Some Simple Examples |
| default rule | 7. How the Input Is Matched |
| defining pattern aliases | 5.1 Format of the Definitions Section |
| Definitions, in flex input | 5.1 Format of the Definitions Section |
| deleting lines from input | 8. Actions |
| discarding C comments | 8. Actions |
| distributing flex | 1. Copyright |
|
E | | |
| ECHO | 8. Actions |
| ECHO, and yyout | 9. The Generated Scanner |
| embedding C code in flex input | 5.1 Format of the Definitions Section |
| end of file, in patterns | 6. Patterns |
| end of line, in negated character classes | 6. Patterns |
| end of line, in patterns | 6. Patterns |
| end-of-file, and yyrestart() | 9. The Generated Scanner |
| EOF and yyrestart() | 9. The Generated Scanner |
| EOF in patterns, syntax of | 6. Patterns |
| EOF, example using multiple input buffers | 11. Multiple Input Buffers |
| EOF, explanation | 12. End-of-File Rules |
| EOF, pushing back | 8. Actions |
| EOL, in negated character classes | 6. Patterns |
| EOL, in patterns | 6. Patterns |
| error messages, end of buffer missed | 20. Incompatibilities with Lex and Posix |
| error reporting, diagnostic messages | 23. Diagnostics |
| error reporting, in C++ | 18. Generating C++ Scanners |
| error rules, to eliminate backing up | 17. Performance Considerations |
| escape sequences in patterns, syntax of | 6. Patterns |
| exiting with yyterminate() | 8. Actions |
| experimental form of c++ scanner class | 18. Generating C++ Scanners |
| extended scope of start conditions | 10. Start Conditions |
|
F | | |
| file format | 5. Format of the Input File |
| file format, serialized tables | 22.3 Tables File Format |
| flushing an input buffer | 11. Multiple Input Buffers |
| flushing the internal buffer | 8. Actions |
| format of flex input | 5. Format of the Input File |
| format of input file | 5. Format of the Input File |
| freeing tables | 22.2 Loading and Unloading Serialized Tables |
|
G | | |
| getting current start state with YY_START | 10. Start Conditions |
|
H | | |
| halting with yyterminate() | 8. Actions |
| handling include files with multiple input buffers | 11. Multiple Input Buffers |
| handling include files with multiple input buffers | 11. Multiple Input Buffers |
| header files, with C++ | 18. Generating C++ Scanners |
|
I | | |
| include files, with C++ | 18. Generating C++ Scanners |
| input file, Definitions section | 5.1 Format of the Definitions Section |
| input file, Rules Section | 5.2 Format of the Rules Section |
| input file, user code Section | 5.3 Format of the User Code Section |
| input() | 8. Actions |
| input(), and C++ | 8. Actions |
| input, format of | 5. Format of the Input File |
| input, matching | 7. How the Input Is Matched |
|
K | | |
| keywords, for performance | 17. Performance Considerations |
|
L | | |
| lex (traditional) and POSIX | 20. Incompatibilities with Lex and Posix |
| LexerInput, overriding | 25.1 How do I use my own I/O classes in a C++ scanner? |
| LexerOutput, overriding | 25.1 How do I use my own I/O classes in a C++ scanner? |
| limitations of flex | 24. Limitations |
| literal text in patterns, syntax of | 6. Patterns |
| loading tables at runtime | 22.2 Loading and Unloading Serialized Tables |
|
M | | |
| m4 | A.3 M4 Dependency |
| Makefile, example of implicit rules | A.1 Makefiles and Flex |
| Makefile, explicit example | A.1 Makefiles and Flex |
| Makefile, syntax | A.1 Makefiles and Flex |
| matching C-style double-quoted strings | 10. Start Conditions |
| matching, and trailing context | 7. How the Input Is Matched |
| matching, length of | 7. How the Input Is Matched |
| matching, multiple matches | 7. How the Input Is Matched |
| member functions, C++ | 18. Generating C++ Scanners |
| memory management | 21. Memory Management |
| memory, allocating input buffers | 11. Multiple Input Buffers |
| memory, considerations for reentrant scanners | 19.4.4 Init and Destroy Functions |
| memory, deleting input buffers | 11. Multiple Input Buffers |
| memory, for start condition stacks | 10. Start Conditions |
| memory, serialized tables | 22. Serialized Tables |
| memory, serialized tables | 22.2 Loading and Unloading Serialized Tables |
| methods, c++ | 18. Generating C++ Scanners |
| minimal scanner | 7. How the Input Is Matched |
| multiple input streams | 11. Multiple Input Buffers |
|
N | | |
| name definitions, not POSIX | 20. Incompatibilities with Lex and Posix |
| negating ranges in patterns | 6. Patterns |
| newline, matching in patterns | 6. Patterns |
| non-POSIX features of flex | 20. Incompatibilities with Lex and Posix |
| noyywrap, %option | 9. The Generated Scanner |
| NULL character in patterns, syntax of | 6. Patterns |
|
O | | |
| octal characters in patterns | 6. Patterns |
| options, command-line | 16. Scanner Options |
| overriding LexerInput | 25.1 How do I use my own I/O classes in a C++ scanner? |
| overriding LexerOutput | 25.1 How do I use my own I/O classes in a C++ scanner? |
| overriding the memory routines | 21.2 Overriding The Default Memory Management |
|
P | | |
| Pascal-like language | 4. Some Simple Examples |
| pattern aliases, defining | 5.1 Format of the Definitions Section |
| pattern aliases, expansion of | 6. Patterns |
| pattern aliases, how to define | 5.1 Format of the Definitions Section |
| pattern aliases, use of | 5.1 Format of the Definitions Section |
| patterns and actions on different lines | 20. Incompatibilities with Lex and Posix |
| patterns, character class equivalence | 6. Patterns |
| patterns, common | A.4 Common Patterns |
| patterns, end of line | 6. Patterns |
| patterns, grouping and precedence | 6. Patterns |
| patterns, in rules section | 6. Patterns |
| patterns, invalid trailing context | 6. Patterns |
| patterns, matching | 7. How the Input Is Matched |
| patterns, precedence of operators | 6. Patterns |
| patterns, repetitions with grouping | 6. Patterns |
| patterns, special characters treated as non-special | 6. Patterns |
| patterns, syntax | 6. Patterns |
| patterns, syntax | 6. Patterns |
| patterns, tuning for performance | 17. Performance Considerations |
| patterns, valid character classes | 6. Patterns |
| performance optimization, matching longer tokens | 17. Performance Considerations |
| performance optimization, recognizing keywords | 17. Performance Considerations |
| performance, backing up | 17. Performance Considerations |
| performance, considerations | 17. Performance Considerations |
| performance, using keywords | 17. Performance Considerations |
| popping an input buffer | 11. Multiple Input Buffers |
| POSIX and lex | 20. Incompatibilities with Lex and Posix |
| POSIX comp;compliance | 20. Incompatibilities with Lex and Posix |
| POSIX, character classes in patterns, syntax of | 6. Patterns |
| preprocessor macros, for use in actions | 8. Actions |
| pushing an input buffer | 11. Multiple Input Buffers |
| pushing back characters with unput | 8. Actions |
| pushing back characters with unput() | 8. Actions |
| pushing back characters with yyless | 8. Actions |
| pushing back EOF | 8. Actions |
|
R | | |
| ranges in patterns | 6. Patterns |
| ranges in patterns, negating | 6. Patterns |
| recognizing C comments | 10. Start Conditions |
| reentrant scanners, multiple interleaved scanners | 19.1 Uses for Reentrant Scanners |
| reentrant scanners, recursive invocation | 19.1 Uses for Reentrant Scanners |
| reentrant, accessing flex variables | 19.4.3 Global Variables Replaced By Macros |
| reentrant, accessor functions | 19.4.5 Accessing Variables with Reentrant Scanners |
| reentrant, API explanation | 19.2 An Overview of the Reentrant API |
| reentrant, calling functions | 19.4.2 The Extra Argument |
| reentrant, example of | 19.3 Reentrant Example |
| reentrant, explanation | 19. Reentrant C Scanners |
| reentrant, extra data | 19.4.6 Extra Data |
| reentrant, initialization | 19.4.4 Init and Destroy Functions |
| regular expressions, in patterns | 6. Patterns |
| REJECT | 8. Actions |
| REJECT, calling multiple times | 8. Actions |
| REJECT, performance costs | 17. Performance Considerations |
| reporting bugs | 2. Reporting Bugs |
| restarting the scanner | 20. Incompatibilities with Lex and Posix |
| RETURN, within actions | 9. The Generated Scanner |
| rules, default | 4. Some Simple Examples |
| rules, in flex input | 5.2 Format of the Rules Section |
|
S | | |
| scanner, definition of | 3. Introduction |
| sections of flex input | 5. Format of the Input File |
| serialization | 22. Serialized Tables |
| serialization of tables | 22.1 Creating Serialized Tables |
| serialized tables, multiple scanners | 22.1 Creating Serialized Tables |
| stack, input buffer pop | 11. Multiple Input Buffers |
| stack, input buffer push | 11. Multiple Input Buffers |
| stacks, routines for manipulating | 10. Start Conditions |
| start condition, applying to multiple patterns | 10. Start Conditions |
| start conditions | 10. Start Conditions |
| start conditions, behavior of default rule | 10. Start Conditions |
| start conditions, exclusive | 10. Start Conditions |
| start conditions, for different interpretations of same input | 10. Start Conditions |
| start conditions, in patterns | 6. Patterns |
| start conditions, inclusive | 10. Start Conditions |
| start conditions, inclusive v.s. exclusive | 10. Start Conditions |
| start conditions, integer values | 10. Start Conditions |
| start conditions, multiple | 10. Start Conditions |
| start conditions, special wildcard condition | 10. Start Conditions |
| start conditions, use of a stack | 10. Start Conditions |
| start conditions, use of wildcard condition (<*>) | 10. Start Conditions |
| start conditions, using BEGIN | 10. Start Conditions |
| stdin, default for yyin | 9. The Generated Scanner |
| stdout, as default for yyout | 9. The Generated Scanner |
| strings, scanning strings instead of files | 11. Multiple Input Buffers |
|
T | | |
| tables, creating serialized | 22.1 Creating Serialized Tables |
| tables, file format | 22.3 Tables File Format |
| tables, freeing | 22.2 Loading and Unloading Serialized Tables |
| tables, loading and unloading | 22.2 Loading and Unloading Serialized Tables |
| terminating with yyterminate() | 8. Actions |
| token | 7. How the Input Is Matched |
| trailing context, in patterns | 6. Patterns |
| trailing context, limits of | 6. Patterns |
| trailing context, matching | 7. How the Input Is Matched |
| trailing context, performance costs | 17. Performance Considerations |
| trailing context, variable length | 17. Performance Considerations |
|
U | | |
| unput() | 8. Actions |
| unput(), and %pointer | 8. Actions |
| unput(), pushing back characters | 8. Actions |
| user code, in flex input | 5.3 Format of the User Code Section |
| username expansion | 4. Some Simple Examples |
| using integer values of start condition names | 10. Start Conditions |
|
V | | |
| verbatim text in patterns, syntax of | 6. Patterns |
|
W | | |
| warning, dangerous trailing context | 24. Limitations |
| warning, rule cannot be matched | 23. Diagnostics |
| warnings, diagnostic messages | 23. Diagnostics |
| whitespace, compressing | 8. Actions |
|
Y | | |
| yacc interface | 15. Interfacing with Yacc |
| yacc, interface | 15. Interfacing with Yacc |
| yyalloc, overriding | 21.2 Overriding The Default Memory Management |
| yyfree, overriding | 21.2 Overriding The Default Memory Management |
| yyin | 9. The Generated Scanner |
| yyinput() | 8. Actions |
| yyleng | 7. How the Input Is Matched |
| yyleng, modification of | 8. Actions |
| yyless() | 8. Actions |
| yyless(), pushing back characters | 8. Actions |
| yylex(), in generated scanner | 9. The Generated Scanner |
| yylex(), overriding | 9. The Generated Scanner |
| yylex, overriding the prototype of | 9. The Generated Scanner |
| yylineno, in a reentrant scanner | 19.5 Functions and Macros Available in Reentrant C Scanners |
| yylineno, performance costs | 17. Performance Considerations |
| yymore() | 8. Actions |
| yymore() to append token to previous token | 8. Actions |
| yymore(), mega-kludge | 8. Actions |
| yymore, and yyleng | 8. Actions |
| yymore, performance penalty of | 8. Actions |
| yyout | 9. The Generated Scanner |
| yyrealloc, overriding | 21.2 Overriding The Default Memory Management |
| yyrestart() | 9. The Generated Scanner |
| yyterminate() | 8. Actions |
| yytext | 7. How the Input Is Matched |
| yytext, default array size | 14. Values Available To the User |
| yytext, memory considerations | 21.3 A Note About yytext And Memory |
| yytext, modification of | 8. Actions |
| yytext, two types of | 7. How the Input Is Matched |
| yywrap() | 9. The Generated Scanner |
| yywrap, default for | 9. The Generated Scanner |
| YY_CURRENT_BUFFER, and multiple buffers Finally, the macro | 11. Multiple Input Buffers |
| YY_EXTRA_TYPE, defining your own type | 19.4.6 Extra Data |
| YY_FLUSH_BUFFER | 8. Actions |
| YY_INPUT | 9. The Generated Scanner |
| YY_INPUT, overriding | 9. The Generated Scanner |
| YY_START, example | 10. Start Conditions |
| YY_USER_ACTION to track each time a rule is matched | 13. Miscellaneous Macros |
|
This is an index of functions and preprocessor macros that look like functions.
For macros that expand to variables or constants, see Index of Variables.
This is an index of variables, constants, and preprocessor macros
that expand to variables or constants.
This is an index of "hooks" that the user may define. These hooks typically correspond
to specific locations in the generated scanner, and may be used to insert arbitrary code.