(flex.info.gz) Global Replacement
Info Catalog
(flex.info.gz) Extra Reentrant Argument
(flex.info.gz) Reentrant Detail
(flex.info.gz) Init and Destroy Functions
19.4.3 Global Variables Replaced By Macros
------------------------------------------
All global variables in traditional flex have been replaced by macro
equivalents.
Note that in the above example, `yyout' and `yytext' are not plain
variables. These are macros that will expand to their equivalent lvalue.
All of the familiar `flex' globals have been replaced by their macro
equivalents. In particular, `yytext', `yyleng', `yylineno', `yyin',
`yyout', `yyextra', `yylval', and `yylloc' are macros. You may safely
use these macros in actions as if they were plain variables. We only
tell you this so you don't expect to link to these variables
externally. Currently, each macro expands to a member of an internal
struct, e.g.,
#define yytext (((struct yyguts_t*)yyscanner)->yytext_r)
One important thing to remember about `yytext' and friends is that
`yytext' is not a global variable in a reentrant scanner, you can not
access it directly from outside an action or from other functions. You
must use an accessor method, e.g., `yyget_text', to accomplish this.
(See below).
Info Catalog
(flex.info.gz) Extra Reentrant Argument
(flex.info.gz) Reentrant Detail
(flex.info.gz) Init and Destroy Functions
automatically generated byinfo2html