flex: Reentrant Overview
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'.