52# define FLEX_STD std::
57struct yy_buffer_state;
58typedef int yy_state_type;
62 virtual ~FlexLexer() { }
64 const char* YYText()
const {
return yytext; }
65 int YYLeng()
const {
return yyleng; }
68 yy_switch_to_buffer(
struct yy_buffer_state* new_buffer ) = 0;
69 virtual struct yy_buffer_state*
70 yy_create_buffer( FLEX_STD istream* s,
int size ) = 0;
71 virtual void yy_delete_buffer(
struct yy_buffer_state* b ) = 0;
72 virtual void yyrestart( FLEX_STD istream* s ) = 0;
74 virtual int yylex() = 0;
77 int yylex( FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0 )
79 switch_streams( new_in, new_out );
85 virtual void switch_streams( FLEX_STD istream* new_in = 0,
86 FLEX_STD ostream* new_out = 0 ) = 0;
88 int lineno()
const {
return yylineno; }
90 int debug()
const {
return yy_flex_debug; }
91 void set_debug(
int flag ) { yy_flex_debug = flag; }
103#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
107#define yyFlexLexerOnce
111class yyFlexLexer :
public FlexLexer {
115 yyFlexLexer( FLEX_STD istream* arg_yyin = 0, FLEX_STD ostream* arg_yyout = 0 );
117 virtual ~yyFlexLexer();
119 void yy_switch_to_buffer(
struct yy_buffer_state* new_buffer );
120 struct yy_buffer_state* yy_create_buffer( FLEX_STD istream* s,
int size );
121 void yy_delete_buffer(
struct yy_buffer_state* b );
122 void yyrestart( FLEX_STD istream* s );
124 void yypush_buffer_state(
struct yy_buffer_state* new_buffer );
125 void yypop_buffer_state(
void);
128 virtual void switch_streams( FLEX_STD istream* new_in, FLEX_STD ostream* new_out );
131 virtual int LexerInput(
char* buf,
int max_size );
132 virtual void LexerOutput(
const char* buf,
int size );
133 virtual void LexerError(
const char* msg );
135 void yyunput(
int c,
char* buf_ptr );
138 void yy_load_buffer_state();
139 void yy_init_buffer(
struct yy_buffer_state* b, FLEX_STD istream* s );
140 void yy_flush_buffer(
struct yy_buffer_state* b );
142 int yy_start_stack_ptr;
143 int yy_start_stack_depth;
146 void yy_push_state(
int new_state );
150 yy_state_type yy_get_previous_state();
151 yy_state_type yy_try_NUL_trans( yy_state_type current_state );
152 int yy_get_next_buffer();
154 FLEX_STD istream* yyin;
155 FLEX_STD ostream* yyout;
171 int yy_did_buffer_switch_on_eof;
174 size_t yy_buffer_stack_top;
175 size_t yy_buffer_stack_max;
176 struct yy_buffer_state ** yy_buffer_stack;
177 void yyensure_buffer_stack(
void);
182 yy_state_type yy_last_accepting_state;
183 char* yy_last_accepting_cpos;
185 yy_state_type* yy_state_buf;
186 yy_state_type* yy_state_ptr;
193 int yy_looking_for_trail_begin;
198 int yy_prev_more_offset;