19.2 An Overview of the Reentrant API
The API for reentrant scanners is different than for non-reentrant
scanners. Here is a quick overview of the API:
%option reentrant
must be specified.
- All functions take one additional argument:
yyscanner
- All global variables are replaced by their macro equivalents.
(We tell you this because it may be important to you during debugging.)
yylex_init
and yylex_destroy
must be called before and
after yylex
, respectively.
- Accessor methods (get/set functions) provide access to common
flex
variables.
- User-specific data can be stored in
yyextra
.