Lines Matching full:flex
4 FLEX(1) USER COMMANDS FLEX(1)
9 flex - fast lexical analyzer generator
12 flex [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix
16 This manual describes flex, a tool for generating programs
28 the extended regular expressions used by flex
37 details regarding the scanner that flex produces;
58 connecting flex scanners together with yacc parsers
70 FLEX(1) USER COMMANDS FLEX(1)
75 flex command-line options, and the "%option"
86 how flex differs from AT&T lex and the POSIX lex
90 those error messages produced by flex (or scanners
94 files used by flex
97 known problems with flex
107 flex is a tool for generating scanners: programs which
108 recognized lexical patterns in text. flex reads the given
112 and C code, called rules. flex generates as output a C
121 flex. The following flex input specifies a scanner which
136 FLEX(1) USER COMMANDS FLEX(1)
142 By default, any text not matched by a flex scanner is copied
202 FLEX(1) USER COMMANDS FLEX(1)
250 The flex input file consists of three sections, separated by
268 FLEX(1) USER COMMANDS FLEX(1)
306 The rules section of the flex input contains a series of
334 FLEX(1) USER COMMANDS FLEX(1)
400 FLEX(1) USER COMMANDS FLEX(1)
418 (There are some combinations of r/s that flex
428 Note that flex's notion of "newline" is exactly
429 whatever the C compiler used to compile flex
466 FLEX(1) USER COMMANDS FLEX(1)
505 Some systems don't provide isblank(), so flex defines
532 FLEX(1) USER COMMANDS FLEX(1)
587 the same length, the rule listed first in the flex input
598 FLEX(1) USER COMMANDS FLEX(1)
614 to the standard output. Thus, the simplest legal flex input
624 can control which definition flex uses by including one of
626 (definitions) section of your flex input. The default is
649 the first section of your flex input. As mentioned above,
664 FLEX(1) USER COMMANDS FLEX(1)
703 lines. flex knows about C strings and comments and won't be
730 FLEX(1) USER COMMANDS FLEX(1)
758 in the flex input file, or one which matched less text.
796 FLEX(1) USER COMMANDS FLEX(1)
862 FLEX(1) USER COMMANDS FLEX(1)
866 Note that yyless is a macro and can only be used in the flex
928 FLEX(1) USER COMMANDS FLEX(1)
966 The output of flex is the file lex.yy.c, which contains the
994 FLEX(1) USER COMMANDS FLEX(1)
1018 bility with previous versions of flex, and because it can be
1060 FLEX(1) USER COMMANDS FLEX(1)
1095 flex provides a mechanism for conditionally activating
1126 FLEX(1) USER COMMANDS FLEX(1)
1141 any of the other rules in the flex input. Because of this,
1192 FLEX(1) USER COMMANDS FLEX(1)
1258 FLEX(1) USER COMMANDS FLEX(1)
1324 FLEX(1) USER COMMANDS FLEX(1)
1346 Flex provides YYSTATE as an alias for YY_START (since that
1390 FLEX(1) USER COMMANDS FLEX(1)
1430 start condition(s). Flex makes this a little easier and
1456 FLEX(1) USER COMMANDS FLEX(1)
1496 require reading from several input streams. As flex
1505 To negotiate these sorts of problems, flex provides a
1522 FLEX(1) USER COMMANDS FLEX(1)
1588 FLEX(1) USER COMMANDS FLEX(1)
1654 FLEX(1) USER COMMANDS FLEX(1)
1698 sions of flex, after doing the assignment you had to
1720 FLEX(1) USER COMMANDS FLEX(1)
1786 FLEX(1) USER COMMANDS FLEX(1)
1852 FLEX(1) USER COMMANDS FLEX(1)
1865 - FILE *yyin is the file which by default flex reads
1869 have unexpected results since flex buffers its input;
1893 One of the main uses of flex is as a companion to the yacc
1898 flex with yacc, one specifies the -d option to yacc to
1901 file is then included in the flex scanner. For example, if
1918 FLEX(1) USER COMMANDS FLEX(1)
1928 flex has the following options:
1952 fed to flex). Messages are also generated when the
1962 -h generates a "help" summary of flex's options to stdout
1965 -i instructs flex to generate a case-insensitive scanner.
1966 The case of letters given in the flex input patterns
1984 FLEX(1) USER COMMANDS FLEX(1)
2000 consists of comments regarding features of the flex
2018 -t instructs flex to write the scanner it generates to
2021 -v specifies that flex should write to stderr a summary of
2023 the statistics are meaningless to the casual flex user,
2024 but the first line identifies the version of flex (same
2031 -B instructs flex to generate a batch scanner, the oppo-
2050 FLEX(1) USER COMMANDS FLEX(1)
2076 -I instructs flex to generate an interactive scanner. An
2089 Flex scanners default to interactive unless you use the
2093 didn't, flex assumes you'd rather trade off a bit of
2103 -L instructs flex not to generate #line directives.
2104 Without this option, flex peppers the generated scanner
2116 FLEX(1) USER COMMANDS FLEX(1)
2121 original flex input file (if the errors are due to code
2123 flex's fault -- you should report these sorts of errors
2126 -T makes flex run in trace mode. It will generate a lot
2130 maintaining flex.
2135 -7 instructs flex to generate a 7-bit scanner, i.e., one
2146 make your scanner considerably less portable. Flex's
2148 you use the -Cf or -CF, in which case flex defaults to
2152 flex generated a 7-bit or an 8-bit scanner by inspect-
2158 discussed see below), flex still defaults to generating
2163 -8 instructs flex to generate an 8-bit scanner, i.e., one
2166 otherwise flex defaults to generating an 8-bit scanner
2169 See the discussion of -7 above for flex's default
2182 FLEX(1) USER COMMANDS FLEX(1)
2186 -+ specifies that you want flex to generate a C++ scanner
2195 -Ca ("align") instructs flex to trade off larger tables
2204 -Ce directs flex to construct equivalence classes,
2207 digits in the flex input is in the character class
2216 generated - flex should not compress the tables by tak-
2224 -Cm directs flex to construct meta-equivalence classes,
2248 FLEX(1) USER COMMANDS FLEX(1)
2271 The default setting is -Cem, which specifies that flex
2297 directs flex to write the scanner to the file output
2314 FLEX(1) USER COMMANDS FLEX(1)
2318 changes the default yy prefix used by flex for all
2347 This option lets you easily link together multiple flex
2356 overrides the default skeleton file from which flex
2358 unless you are doing flex maintenance or development.
2360 flex also provides a mechanism for controlling options
2362 the flex command-line. This is done by including %option
2366 tion of your flex input file.
2380 FLEX(1) USER COMMANDS FLEX(1)
2384 their meaning. A number are equivalent to flex flags or
2421 instructs flex to generate a scanner which always con-
2429 main directs flex to provide a default main() program for
2434 instructs flex to generate a scanner which never con-
2446 FLEX(1) USER COMMANDS FLEX(1)
2465 directs flex to generate a scanner that maintains the
2477 flex scans your rule actions to determine whether you use
2498 informs flex that you have derived foo as a subclass of
2499 yyFlexLexer, so flex will place your actions in the member
2512 FLEX(1) USER COMMANDS FLEX(1)
2534 The main design goal of flex is that it generate high-
2578 FLEX(1) USER COMMANDS FLEX(1)
2644 FLEX(1) USER COMMANDS FLEX(1)
2675 valid token. A possible future flex feature will be to
2710 FLEX(1) USER COMMANDS FLEX(1)
2776 FLEX(1) USER COMMANDS FLEX(1)
2825 other than letters or newlines, flex can't figure this out,
2842 FLEX(1) USER COMMANDS FLEX(1)
2864 flex
2866 A final note: flex is slow when matching NUL's, particularly
2881 flex provides two different ways to generate scanners for
2883 generated by flex using a C++ compiler instead of a C com-
2892 You can also use flex to generate a C++ scanner class, using
2894 automatically specified if the name of the flex executable
2895 ends in a '+', such as flex++. When using this option, flex
2908 FLEX(1) USER COMMANDS FLEX(1)
2957 flex scanners: it scans the input stream, consuming
2961 then you need to use %option yyclass="S" to inform flex
2974 FLEX(1) USER COMMANDS FLEX(1)
2978 yyFlexLexer::yylex(), flex generates S::yylex() (and
3040 FLEX(1) USER COMMANDS FLEX(1)
3044 // An example of using the flex C++ scanner class.
3106 FLEX(1) USER COMMANDS FLEX(1)
3135 flex is a rewrite of the AT&T Unix lex tool (the two imple-
3139 mentation. Flex is fully compliant with the POSIX lex
3145 patibility between flex, AT&T lex, and the POSIX specifica-
3148 flex's -l option turns on maximum compatibility with the
3153 flex is fully compatible with lex with the following excep-
3172 FLEX(1) USER COMMANDS FLEX(1)
3187 The flex restriction that input() cannot be redefined
3196 - flex scanners are not as reentrant as lex scanners. In
3202 fatal flex scanner internal error--end of buffer missed
3212 Also note that flex C++ scanner classes are reentrant,
3225 - When definitions are expanded, flex encloses them in
3238 FLEX(1) USER COMMANDS FLEX(1)
3250 ciated with "[A-Z0-9]*". With flex, the rule will be
3258 operators cannot be used in a flex definition.
3274 flex does not support this feature.
3287 two, or three occurrences of 'abc'", whereas flex
3304 FLEX(1) USER COMMANDS FLEX(1)
3308 beginning of a line, or 'bar' anywhere", whereas flex
3314 ported by lex are not required by flex scanners; flex
3318 written for use with either flex or lex. Scanners also
3320 indicating which version of flex generated the scanner
3324 The following flex features are not included in lex or the
3347 plus almost all of the flex flags. The last feature in the
3348 list refers to the fact that with flex you can put multiple
3358 flex does not truncate the action. Actions that are not
3370 FLEX(1) USER COMMANDS FLEX(1)
3397 REJECT or yymore() but that flex failed to notice the fact,
3398 meaning that flex scanned the first two sections looking for
3402 flex that you really do use these features.
3404 flex scanner jammed - a scanner compiled with -s has encoun-
3412 flex input.
3421 flex scanner push-back overflow - you used unput() to push
3436 FLEX(1) USER COMMANDS FLEX(1)
3445 fatal flex scanner internal error--end of buffer missed -
3468 header file defining the C++ scanner base class, Flex-
3471 flex.skl
3473 flex, not when flex executes.
3502 FLEX(1) USER COMMANDS FLEX(1)
3531 getchar(), with flex rules and expect it to work. Call
3542 The flex internal algorithms need documentation.
3554 Describes the pattern-matching techniques used by flex
3568 FLEX(1) USER COMMANDS FLEX(1)
3579 Thanks to the many flex beta-testers, feedbackers, and con-
3634 FLEX(1) USER COMMANDS FLEX(1)