c36bb94a5a
scanners and is a required dependency to update a number of ports. Following analysis of bulk build and base build logs with this done as an update to /usr/src/usr.bin/lex mostly over p2k9 it's clear this has incompatibilities with existing scanners (including minor SUS breakage) so at this time it's being imported as a port rather than updating base. Port originally from Brad with some changes by myself (executable file now named gflex, and use base m4 not GNU m4 - requires /usr/bin/m4 with -P support; 2009/10/14 or newer). Discussed with and requested by many. ok ajacoutot, jasper, Brad.
12 lines
717 B
Plaintext
12 lines
717 B
Plaintext
Flex is a tool for generating scanners. A scanner, sometimes called a
|
|
tokenizer, is a program which recognizes lexical patterns in text. The
|
|
flex program reads user-specified input files, or its standard input
|
|
if no file names are given, for a description of a scanner to generate.
|
|
The description is in the form of pairs of regular expressions and C
|
|
code, called rules. Flex generates a C source file named, "lex.yy.c",
|
|
which defines the function yylex(). The file "lex.yy.c" can be compiled
|
|
and linked to produce an executable. When the executable is run, it
|
|
analyzes its input for occurrences of text matching the regular
|
|
expressions for each rule. Whenever it finds a match, it executes the
|
|
corresponding C code.
|