openbsd-ports/devel/flex/pkg/DESCR
sthen c36bb94a5a Import devel/flex. This is flex v2.5.35, which uses m4 to generate the
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.
2009-10-28 23:13:56 +00:00

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.