00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 #ifndef __FLEX_LEXER_H
00048
00049 #define __FLEX_LEXER_H
00050
00051 #include <iostream>
00052 #include <mgfp/config.h>
00053 # ifndef FLEX_STD
00054 # define FLEX_STD std::
00055 # endif
00056
00057 extern "C++"
00058 {
00059
00060 struct yy_buffer_state;
00061 typedef int yy_state_type;
00062
00063 class MGFP_EXPORT FlexLexer
00064 {
00065 public:
00066 virtual ~FlexLexer() { }
00067
00068 const char* YYText() const {
00069 return yytext;
00070 }
00071 int YYLeng() const {
00072 return yyleng;
00073 }
00074
00075 virtual void
00076 yy_switch_to_buffer(struct yy_buffer_state* new_buffer) = 0;
00077 virtual struct yy_buffer_state*
00078 yy_create_buffer(FLEX_STD istream* s, int size) = 0;
00079 virtual void yy_delete_buffer(struct yy_buffer_state* b) = 0;
00080 virtual void yyrestart(FLEX_STD istream* s) = 0;
00081
00082 virtual int yylex() = 0;
00083
00084
00085 int yylex(FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0) {
00086 switch_streams(new_in, new_out);
00087 return yylex();
00088 }
00089
00090
00091
00092 virtual void switch_streams(FLEX_STD istream* new_in = 0,
00093 FLEX_STD ostream* new_out = 0) = 0;
00094
00095 int lineno() const {
00096 return yylineno;
00097 }
00098
00099 int debug() const {
00100 return yy_flex_debug;
00101 }
00102 void set_debug(int flag) {
00103 yy_flex_debug = flag;
00104 }
00105
00106 protected:
00107 char* yytext;
00108 int yyleng;
00109 int yylineno;
00110 int yy_flex_debug;
00111 };
00112
00113 }
00114 #endif // FLEXLEXER_H
00115
00116 #if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
00117
00118
00119
00120 #define yyFlexLexerOnce
00121
00122 extern "C++"
00123 {
00124
00125 class MGFP_EXPORT yyFlexLexer : public FlexLexer
00126 {
00127 public:
00128
00129
00130 yyFlexLexer(FLEX_STD istream* arg_yyin = 0,
00131 FLEX_STD ostream* arg_yyout = 0);
00132
00133 virtual ~yyFlexLexer();
00134
00135 void yy_switch_to_buffer(struct yy_buffer_state* new_buffer);
00136 struct yy_buffer_state* yy_create_buffer(FLEX_STD istream* s, int size);
00137 void yy_delete_buffer(struct yy_buffer_state* b);
00138 void yyrestart(FLEX_STD istream* s);
00139
00140 void yypush_buffer_state(struct yy_buffer_state* new_buffer);
00141 void yypop_buffer_state();
00142
00143 virtual int yylex() { return 0; }
00144 virtual void switch_streams(FLEX_STD istream* new_in,
00145 FLEX_STD ostream* new_out);
00146
00147
00148
00149 virtual int yywrap();
00150
00151 protected:
00152 virtual int LexerInput(char* buf, int max_size);
00153 virtual void LexerOutput(const char* buf, int size);
00154 virtual void LexerError(const char* msg);
00155
00156 void yyunput(int c, char* buf_ptr);
00157 int yyinput();
00158
00159 void yy_load_buffer_state();
00160 void yy_init_buffer(struct yy_buffer_state* b, FLEX_STD istream* s);
00161 void yy_flush_buffer(struct yy_buffer_state* b);
00162
00163 int yy_start_stack_ptr;
00164 int yy_start_stack_depth;
00165 int* yy_start_stack;
00166
00167 void yy_push_state(int new_state);
00168 void yy_pop_state();
00169 int yy_top_state();
00170
00171 yy_state_type yy_get_previous_state();
00172 yy_state_type yy_try_NUL_trans(yy_state_type current_state);
00173 int yy_get_next_buffer();
00174
00175 FLEX_STD istream* yyin;
00176 FLEX_STD ostream* yyout;
00177
00178
00179 char yy_hold_char;
00180
00181
00182 int yy_n_chars;
00183
00184
00185 char* yy_c_buf_p;
00186
00187 int yy_init;
00188 int yy_start;
00189
00190
00191
00192 int yy_did_buffer_switch_on_eof;
00193
00194
00195 size_t yy_buffer_stack_top;
00196 size_t yy_buffer_stack_max;
00197 struct yy_buffer_state ** yy_buffer_stack;
00198 void yyensure_buffer_stack(void);
00199
00200
00201
00202
00203 yy_state_type yy_last_accepting_state;
00204 char* yy_last_accepting_cpos;
00205
00206 yy_state_type* yy_state_buf;
00207 yy_state_type* yy_state_ptr;
00208
00209 char* yy_full_match;
00210 int* yy_full_state;
00211 int yy_full_lp;
00212
00213 int yy_lp;
00214 int yy_looking_for_trail_begin;
00215
00216 int yy_more_flag;
00217 int yy_more_len;
00218 int yy_more_offset;
00219 int yy_prev_more_offset;
00220 };
00221
00222 }
00223
00224 #endif // yyFlexLexer || ! yyFlexLexerOnce