Previous: Reentrant Detail, Up: Reentrant [Contents][Index]
The following Functions are available in a reentrant scanner:
char *yyget_text ( yyscan_t scanner );
int yyget_leng ( yyscan_t scanner );
FILE *yyget_in ( yyscan_t scanner );
FILE *yyget_out ( yyscan_t scanner );
int yyget_lineno ( yyscan_t scanner );
YY_EXTRA_TYPE yyget_extra ( yyscan_t scanner );
int yyget_debug ( yyscan_t scanner );
void yyset_debug ( int flag, yyscan_t scanner );
void yyset_in ( FILE * in_str , yyscan_t scanner );
void yyset_out ( FILE * out_str , yyscan_t scanner );
void yyset_lineno ( int line_number , yyscan_t scanner );
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t scanner );
There are no “set” functions for yytext and yyleng. This is intentional.
The following Macro shortcuts are available in actions in a reentrant scanner:
yytext
yyleng
yyin
yyout
yylineno
yyextra
yy_flex_debug
In a reentrant C scanner, support for yylineno is always present
(i.e., you may access yylineno), but the value is never modified by
flex unless %option yylineno is enabled. This is to allow
the user to maintain the line count independently of flex.
The following functions and macros are made available when %option
bison-bridge (‘--bison-bridge’) is specified:
YYSTYPE * yyget_lval ( yyscan_t scanner );
void yyset_lval ( YYSTYPE * yylvalp , yyscan_t scanner );
yylval
The following functions and macros are made available
when %option bison-locations (‘--bison-locations’) is specified:
YYLTYPE *yyget_lloc ( yyscan_t scanner );
void yyset_lloc ( YYLTYPE * yyllocp , yyscan_t scanner );
yylloc
Support for yylval assumes that YYSTYPE is a valid type. Support for
yylloc assumes that YYSLYPE is a valid type. Typically, these types are
generated by bison, and are included in section 1 of the flex
input.
Previous: Reentrant Detail, Up: Reentrant [Contents][Index]