DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(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