00001
00002
00003
00004
00005
00006
00007 #define FLEX_SCANNER
00008 #define YY_FLEX_MAJOR_VERSION 2
00009 #define YY_FLEX_MINOR_VERSION 5
00010
00011 #include <stdio.h>
00012 #include <unistd.h>
00013
00014
00015
00016 #ifdef c_plusplus
00017 #ifndef __cplusplus
00018 #define __cplusplus
00019 #endif
00020 #endif
00021
00022
00023 #ifdef __cplusplus
00024
00025 #include <stdlib.h>
00026
00027
00028 #define YY_USE_PROTOS
00029
00030
00031 #define YY_USE_CONST
00032
00033 #else
00034
00035 #if __STDC__
00036
00037 #define YY_USE_PROTOS
00038 #define YY_USE_CONST
00039
00040 #endif
00041 #endif
00042
00043 #ifdef __TURBOC__
00044 #pragma warn -rch
00045 #pragma warn -use
00046 #include <io.h>
00047 #include <stdlib.h>
00048 #define YY_USE_CONST
00049 #define YY_USE_PROTOS
00050 #endif
00051
00052 #ifdef YY_USE_CONST
00053 #define yyconst const
00054 #else
00055 #define yyconst
00056 #endif
00057
00058
00059 #ifdef YY_USE_PROTOS
00060 #define YY_PROTO(proto) proto
00061 #else
00062 #define YY_PROTO(proto) ()
00063 #endif
00064
00065
00066 #define YY_NULL 0
00067
00068
00069
00070
00071
00072
00073 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00074
00075
00076
00077
00078
00079 #define BEGIN yy_start = 1 + 2 *
00080
00081
00082
00083
00084
00085 #define YY_START ((yy_start - 1) / 2)
00086 #define YYSTATE YY_START
00087
00088
00089 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00090
00091
00092 #define YY_NEW_FILE yyrestart( yyin )
00093
00094 #define YY_END_OF_BUFFER_CHAR 0
00095
00096
00097 #define YY_BUF_SIZE 16384
00098
00099 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00100
00101 extern int yyleng;
00102 extern FILE *yyin, *yyout;
00103
00104 #define EOB_ACT_CONTINUE_SCAN 0
00105 #define EOB_ACT_END_OF_FILE 1
00106 #define EOB_ACT_LAST_MATCH 2
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124 #define yyless(n) \
00125 do \
00126 { \
00127 \
00128 *yy_cp = yy_hold_char; \
00129 YY_RESTORE_YY_MORE_OFFSET \
00130 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
00131 YY_DO_BEFORE_ACTION; \
00132 } \
00133 while ( 0 )
00134
00135 #define unput(c) yyunput( c, yytext_ptr )
00136
00137
00138
00139
00140 #ifdef __GNUC__
00141 #define YY_MAY_BE_UNUSED __attribute__((unused))
00142 #else
00143 #define YY_MAY_BE_UNUSED
00144 #endif
00145
00146
00147
00148
00149
00150 typedef unsigned int yy_size_t;
00151
00152
00153 struct yy_buffer_state
00154 {
00155 FILE *yy_input_file;
00156
00157 char *yy_ch_buf;
00158 char *yy_buf_pos;
00159
00160
00161
00162
00163 yy_size_t yy_buf_size;
00164
00165
00166
00167
00168 int yy_n_chars;
00169
00170
00171
00172
00173
00174 int yy_is_our_buffer;
00175
00176
00177
00178
00179
00180
00181 int yy_is_interactive;
00182
00183
00184
00185
00186
00187 int yy_at_bol;
00188
00189
00190
00191
00192 int yy_fill_buffer;
00193
00194 int yy_buffer_status;
00195 #define YY_BUFFER_NEW 0
00196 #define YY_BUFFER_NORMAL 1
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207 #define YY_BUFFER_EOF_PENDING 2
00208 };
00209
00210 static YY_BUFFER_STATE yy_current_buffer = 0;
00211
00212
00213
00214
00215
00216 #define YY_CURRENT_BUFFER yy_current_buffer
00217
00218
00219
00220 static char yy_hold_char;
00221
00222 static int yy_n_chars;
00223
00224
00225 int yyleng;
00226
00227
00228 static char *yy_c_buf_p = (char *) 0;
00229 static int yy_init = 1;
00230 static int yy_start = 0;
00231
00232
00233
00234
00235 static int yy_did_buffer_switch_on_eof;
00236
00237 void yyrestart YY_PROTO(( FILE *input_file ));
00238
00239 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
00240 void yy_load_buffer_state YY_PROTO(( void ));
00241 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
00242 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
00243 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
00244 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
00245 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
00246
00247 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
00248 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
00249 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
00250
00251 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
00252 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
00253 static void yy_flex_free YY_PROTO(( void * ));
00254
00255 #define yy_new_buffer yy_create_buffer
00256
00257 #define yy_set_interactive(is_interactive) \
00258 { \
00259 if ( ! yy_current_buffer ) \
00260 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00261 yy_current_buffer->yy_is_interactive = is_interactive; \
00262 }
00263
00264 #define yy_set_bol(at_bol) \
00265 { \
00266 if ( ! yy_current_buffer ) \
00267 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00268 yy_current_buffer->yy_at_bol = at_bol; \
00269 }
00270
00271 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
00272
00273
00274 #define yywrap() 1
00275 #define YY_SKIP_YYWRAP
00276 typedef unsigned char YY_CHAR;
00277 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00278 typedef int yy_state_type;
00279 extern char *yytext;
00280 #define yytext_ptr yytext
00281
00282 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
00283 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
00284 static int yy_get_next_buffer YY_PROTO(( void ));
00285 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
00286
00287
00288
00289
00290 #define YY_DO_BEFORE_ACTION \
00291 yytext_ptr = yy_bp; \
00292 yyleng = (int) (yy_cp - yy_bp); \
00293 yy_hold_char = *yy_cp; \
00294 *yy_cp = '\0'; \
00295 yy_c_buf_p = yy_cp;
00296
00297 #define YY_NUM_RULES 15
00298 #define YY_END_OF_BUFFER 16
00299 static yyconst short int yy_accept[44] =
00300 { 0,
00301 0, 0, 16, 14, 12, 13, 14, 10, 1, 14,
00302 14, 14, 14, 0, 11, 11, 0, 4, 1, 0,
00303 9, 0, 0, 0, 0, 3, 0, 0, 4, 1,
00304 0, 8, 6, 7, 0, 3, 0, 2, 5, 2,
00305 2, 2, 0
00306 } ;
00307
00308 static yyconst int yy_ec[256] =
00309 { 0,
00310 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00311 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00312 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00313 1, 2, 1, 1, 1, 1, 4, 1, 1, 1,
00314 1, 5, 6, 1, 7, 8, 9, 10, 10, 10,
00315 10, 10, 10, 10, 10, 10, 10, 1, 1, 1,
00316 1, 1, 1, 1, 11, 11, 11, 11, 11, 11,
00317 11, 11, 12, 11, 11, 11, 11, 11, 11, 13,
00318 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
00319 1, 1, 1, 14, 1, 1, 11, 11, 15, 11,
00320
00321 16, 11, 17, 11, 18, 11, 11, 19, 11, 20,
00322 21, 11, 22, 23, 24, 25, 11, 11, 11, 11,
00323 11, 11, 1, 1, 1, 1, 1, 1, 1, 1,
00324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00329 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00330 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00331
00332 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00333 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00334 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00335 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00336 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00337 1, 1, 1, 1, 1
00338 } ;
00339
00340 static yyconst int yy_meta[26] =
00341 { 0,
00342 1, 1, 2, 1, 1, 1, 1, 1, 1, 3,
00343 3, 3, 3, 1, 3, 3, 3, 3, 3, 3,
00344 3, 3, 3, 3, 3
00345 } ;
00346
00347 static yyconst short int yy_base[46] =
00348 { 0,
00349 0, 0, 84, 67, 66, 85, 65, 64, 18, 15,
00350 14, 16, 20, 33, 0, 37, 31, 35, 38, 49,
00351 85, 55, 61, 57, 53, 65, 42, 43, 47, 52,
00352 60, 85, 85, 85, 49, 62, 63, 54, 85, 51,
00353 43, 23, 85, 26, 70
00354 } ;
00355
00356 static yyconst short int yy_def[46] =
00357 { 0,
00358 43, 1, 43, 43, 43, 43, 44, 43, 45, 43,
00359 43, 43, 43, 43, 44, 44, 43, 43, 45, 43,
00360 43, 43, 43, 43, 43, 43, 43, 43, 43, 45,
00361 20, 43, 43, 43, 43, 43, 43, 43, 43, 43,
00362 43, 43, 0, 43, 43
00363 } ;
00364
00365 static yyconst short int yy_nxt[111] =
00366 { 0,
00367 4, 5, 6, 7, 8, 8, 8, 4, 8, 9,
00368 4, 4, 10, 8, 11, 4, 4, 4, 12, 4,
00369 4, 4, 4, 13, 4, 18, 21, 19, 15, 14,
00370 14, 14, 42, 20, 22, 14, 23, 24, 26, 26,
00371 27, 25, 26, 26, 29, 18, 28, 30, 38, 38,
00372 28, 27, 41, 31, 26, 26, 29, 37, 27, 18,
00373 42, 30, 37, 41, 28, 38, 38, 31, 40, 40,
00374 17, 36, 17, 39, 36, 35, 34, 33, 32, 14,
00375 16, 14, 14, 43, 3, 43, 43, 43, 43, 43,
00376 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
00377
00378 43, 43, 43, 43, 43, 43, 43, 43, 43, 43
00379 } ;
00380
00381 static yyconst short int yy_chk[111] =
00382 { 0,
00383 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00384 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00385 1, 1, 1, 1, 1, 9, 10, 9, 44, 11,
00386 10, 12, 42, 9, 11, 13, 12, 13, 14, 14,
00387 17, 13, 16, 16, 18, 19, 17, 19, 28, 28,
00388 18, 27, 41, 19, 20, 20, 29, 27, 20, 30,
00389 40, 30, 29, 38, 20, 31, 31, 30, 37, 37,
00390 45, 36, 45, 35, 26, 25, 24, 23, 22, 8,
00391 7, 5, 4, 3, 43, 43, 43, 43, 43, 43,
00392 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
00393
00394 43, 43, 43, 43, 43, 43, 43, 43, 43, 43
00395 } ;
00396
00397 static yy_state_type yy_last_accepting_state;
00398 static char *yy_last_accepting_cpos;
00399
00400
00401
00402
00403 #define REJECT reject_used_but_not_detected
00404 #define yymore() yymore_used_but_not_detected
00405 #define YY_MORE_ADJ 0
00406 #define YY_RESTORE_YY_MORE_OFFSET
00407 char *yytext;
00408 #line 1 "feature_parse.l"
00409 #define INITIAL 0
00410 #line 2 "feature_parse.l"
00411 #include <stdlib.h>
00412 #include <string.h>
00413 #include <math.h>
00414 #include "open_prospect.h"
00415 #include "feature_parse.tab.h"
00416
00417 #line 418 "lex.yy.c"
00418
00419
00420
00421
00422
00423 #ifndef YY_SKIP_YYWRAP
00424 #ifdef __cplusplus
00425 extern "C" int yywrap YY_PROTO(( void ));
00426 #else
00427 extern int yywrap YY_PROTO(( void ));
00428 #endif
00429 #endif
00430
00431 #ifndef YY_NO_UNPUT
00432 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
00433 #endif
00434
00435 #ifndef yytext_ptr
00436 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
00437 #endif
00438
00439 #ifdef YY_NEED_STRLEN
00440 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
00441 #endif
00442
00443 #ifndef YY_NO_INPUT
00444 #ifdef __cplusplus
00445 static int yyinput YY_PROTO(( void ));
00446 #else
00447 static int input YY_PROTO(( void ));
00448 #endif
00449 #endif
00450
00451 #if YY_STACK_USED
00452 static int yy_start_stack_ptr = 0;
00453 static int yy_start_stack_depth = 0;
00454 static int *yy_start_stack = 0;
00455 #ifndef YY_NO_PUSH_STATE
00456 static void yy_push_state YY_PROTO(( int new_state ));
00457 #endif
00458 #ifndef YY_NO_POP_STATE
00459 static void yy_pop_state YY_PROTO(( void ));
00460 #endif
00461 #ifndef YY_NO_TOP_STATE
00462 static int yy_top_state YY_PROTO(( void ));
00463 #endif
00464
00465 #else
00466 #define YY_NO_PUSH_STATE 1
00467 #define YY_NO_POP_STATE 1
00468 #define YY_NO_TOP_STATE 1
00469 #endif
00470
00471 #ifdef YY_MALLOC_DECL
00472 YY_MALLOC_DECL
00473 #else
00474 #if __STDC__
00475 #ifndef __cplusplus
00476 #include <stdlib.h>
00477 #endif
00478 #else
00479
00480
00481
00482
00483 #endif
00484 #endif
00485
00486
00487 #ifndef YY_READ_BUF_SIZE
00488 #define YY_READ_BUF_SIZE 8192
00489 #endif
00490
00491
00492
00493 #ifndef ECHO
00494
00495
00496
00497 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
00498 #endif
00499
00500
00501
00502
00503 #ifndef YY_INPUT
00504 #define YY_INPUT(buf,result,max_size) \
00505 if ( yy_current_buffer->yy_is_interactive ) \
00506 { \
00507 int c = '*', n; \
00508 for ( n = 0; n < max_size && \
00509 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
00510 buf[n] = (char) c; \
00511 if ( c == '\n' ) \
00512 buf[n++] = (char) c; \
00513 if ( c == EOF && ferror( yyin ) ) \
00514 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00515 result = n; \
00516 } \
00517 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
00518 && ferror( yyin ) ) \
00519 YY_FATAL_ERROR( "input in flex scanner failed" );
00520 #endif
00521
00522
00523
00524
00525
00526 #ifndef yyterminate
00527 #define yyterminate() return YY_NULL
00528 #endif
00529
00530
00531 #ifndef YY_START_STACK_INCR
00532 #define YY_START_STACK_INCR 25
00533 #endif
00534
00535
00536 #ifndef YY_FATAL_ERROR
00537 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
00538 #endif
00539
00540
00541
00542
00543 #ifndef YY_DECL
00544 #define YY_DECL int yylex YY_PROTO(( void ))
00545 #endif
00546
00547
00548
00549
00550 #ifndef YY_USER_ACTION
00551 #define YY_USER_ACTION
00552 #endif
00553
00554
00555 #ifndef YY_BREAK
00556 #define YY_BREAK break;
00557 #endif
00558
00559 #define YY_RULE_SETUP \
00560 YY_USER_ACTION
00561
00562 YY_DECL
00563 {
00564 register yy_state_type yy_current_state;
00565 register char *yy_cp = NULL, *yy_bp = NULL;
00566 register int yy_act;
00567
00568 #line 15 "feature_parse.l"
00569
00570
00571 #line 572 "lex.yy.c"
00572
00573 if ( yy_init )
00574 {
00575 yy_init = 0;
00576
00577 #ifdef YY_USER_INIT
00578 YY_USER_INIT;
00579 #endif
00580
00581 if ( ! yy_start )
00582 yy_start = 1;
00583
00584 if ( ! yyin )
00585 yyin = stdin;
00586
00587 if ( ! yyout )
00588 yyout = stdout;
00589
00590 if ( ! yy_current_buffer )
00591 yy_current_buffer =
00592 yy_create_buffer( yyin, YY_BUF_SIZE );
00593
00594 yy_load_buffer_state();
00595 }
00596
00597 while ( 1 )
00598 {
00599 yy_cp = yy_c_buf_p;
00600
00601
00602 *yy_cp = yy_hold_char;
00603
00604
00605
00606
00607 yy_bp = yy_cp;
00608
00609 yy_current_state = yy_start;
00610 yy_match:
00611 do
00612 {
00613 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
00614 if ( yy_accept[yy_current_state] )
00615 {
00616 yy_last_accepting_state = yy_current_state;
00617 yy_last_accepting_cpos = yy_cp;
00618 }
00619 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
00620 {
00621 yy_current_state = (int) yy_def[yy_current_state];
00622 if ( yy_current_state >= 44 )
00623 yy_c = yy_meta[(unsigned int) yy_c];
00624 }
00625 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
00626 ++yy_cp;
00627 }
00628 while ( yy_base[yy_current_state] != 85 );
00629
00630 yy_find_action:
00631 yy_act = yy_accept[yy_current_state];
00632 if ( yy_act == 0 )
00633 {
00634 yy_cp = yy_last_accepting_cpos;
00635 yy_current_state = yy_last_accepting_state;
00636 yy_act = yy_accept[yy_current_state];
00637 }
00638
00639 YY_DO_BEFORE_ACTION;
00640
00641
00642 do_action:
00643
00644
00645 switch ( yy_act )
00646 {
00647 case 0:
00648
00649 *yy_cp = yy_hold_char;
00650 yy_cp = yy_last_accepting_cpos;
00651 yy_current_state = yy_last_accepting_state;
00652 goto yy_find_action;
00653
00654 case 1:
00655 YY_RULE_SETUP
00656 #line 17 "feature_parse.l"
00657 { yylval.dval = atof((char *)yytext);
00658
00659 return FL_NUM;
00660 }
00661 YY_BREAK
00662 case 2:
00663 YY_RULE_SETUP
00664 #line 22 "feature_parse.l"
00665 {
00666 yylval.dval = atof((char *)yytext);
00667
00668 return FL_NUM;
00669 }
00670 YY_BREAK
00671 case 3:
00672 YY_RULE_SETUP
00673 #line 28 "feature_parse.l"
00674 {
00675 yylval.dval = atof((char *)yytext);
00676
00677 return FL_NUM;
00678 }
00679 YY_BREAK
00680 case 4:
00681 YY_RULE_SETUP
00682 #line 34 "feature_parse.l"
00683 {
00684 yylval.dval = atof((char *)yytext);
00685
00686 return FL_NUM;
00687 }
00688 YY_BREAK
00689 case 5:
00690 YY_RULE_SETUP
00691 #line 40 "feature_parse.l"
00692 { return FL_SQRT; }
00693 YY_BREAK
00694 case 6:
00695 YY_RULE_SETUP
00696 #line 41 "feature_parse.l"
00697 { return FL_LOG; }
00698 YY_BREAK
00699 case 7:
00700 YY_RULE_SETUP
00701 #line 42 "feature_parse.l"
00702 { return FL_SIN; }
00703 YY_BREAK
00704 case 8:
00705 YY_RULE_SETUP
00706 #line 43 "feature_parse.l"
00707 { return FL_COS; }
00708 YY_BREAK
00709 case 9:
00710 YY_RULE_SETUP
00711 #line 45 "feature_parse.l"
00712 { yylval.dval = M_PI;
00713 return FL_NUM;
00714 }
00715 YY_BREAK
00716 case 10:
00717 YY_RULE_SETUP
00718 #line 49 "feature_parse.l"
00719 {
00720
00721 return yytext[0];
00722 }
00723 YY_BREAK
00724 case 11:
00725 YY_RULE_SETUP
00726 #line 55 "feature_parse.l"
00727 {
00728 char *tmp = strdup( &yytext[1] );
00729 yylval.ival = ThreadFeatureParse::GetFeatureID( tmp );
00730
00731 free(tmp);
00732 return FL_GET;
00733 }
00734 YY_BREAK
00735 case 12:
00736 YY_RULE_SETUP
00737 #line 63 "feature_parse.l"
00738 ;
00739 YY_BREAK
00740 case 13:
00741 YY_RULE_SETUP
00742 #line 66 "feature_parse.l"
00743 { return yytext[0]; }
00744 YY_BREAK
00745 case 14:
00746 YY_RULE_SETUP
00747 #line 68 "feature_parse.l"
00748 {
00749
00750 return yytext[0];
00751 }
00752 YY_BREAK
00753 case 15:
00754 YY_RULE_SETUP
00755 #line 72 "feature_parse.l"
00756 ECHO;
00757 YY_BREAK
00758 #line 759 "lex.yy.c"
00759 case YY_STATE_EOF(INITIAL):
00760 yyterminate();
00761
00762 case YY_END_OF_BUFFER:
00763 {
00764
00765 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
00766
00767
00768 *yy_cp = yy_hold_char;
00769 YY_RESTORE_YY_MORE_OFFSET
00770
00771 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
00772 {
00773
00774
00775
00776
00777
00778
00779
00780
00781
00782 yy_n_chars = yy_current_buffer->yy_n_chars;
00783 yy_current_buffer->yy_input_file = yyin;
00784 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
00785 }
00786
00787
00788
00789
00790
00791
00792
00793
00794 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
00795 {
00796 yy_state_type yy_next_state;
00797
00798 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
00799
00800 yy_current_state = yy_get_previous_state();
00801
00802
00803
00804
00805
00806
00807
00808
00809
00810
00811 yy_next_state = yy_try_NUL_trans( yy_current_state );
00812
00813 yy_bp = yytext_ptr + YY_MORE_ADJ;
00814
00815 if ( yy_next_state )
00816 {
00817
00818 yy_cp = ++yy_c_buf_p;
00819 yy_current_state = yy_next_state;
00820 goto yy_match;
00821 }
00822
00823 else
00824 {
00825 yy_cp = yy_c_buf_p;
00826 goto yy_find_action;
00827 }
00828 }
00829
00830 else switch ( yy_get_next_buffer() )
00831 {
00832 case EOB_ACT_END_OF_FILE:
00833 {
00834 yy_did_buffer_switch_on_eof = 0;
00835
00836 if ( yywrap() )
00837 {
00838
00839
00840
00841
00842
00843
00844
00845
00846
00847 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
00848
00849 yy_act = YY_STATE_EOF(YY_START);
00850 goto do_action;
00851 }
00852
00853 else
00854 {
00855 if ( ! yy_did_buffer_switch_on_eof )
00856 YY_NEW_FILE;
00857 }
00858 break;
00859 }
00860
00861 case EOB_ACT_CONTINUE_SCAN:
00862 yy_c_buf_p =
00863 yytext_ptr + yy_amount_of_matched_text;
00864
00865 yy_current_state = yy_get_previous_state();
00866
00867 yy_cp = yy_c_buf_p;
00868 yy_bp = yytext_ptr + YY_MORE_ADJ;
00869 goto yy_match;
00870
00871 case EOB_ACT_LAST_MATCH:
00872 yy_c_buf_p =
00873 &yy_current_buffer->yy_ch_buf[yy_n_chars];
00874
00875 yy_current_state = yy_get_previous_state();
00876
00877 yy_cp = yy_c_buf_p;
00878 yy_bp = yytext_ptr + YY_MORE_ADJ;
00879 goto yy_find_action;
00880 }
00881 break;
00882 }
00883
00884 default:
00885 YY_FATAL_ERROR(
00886 "fatal flex scanner internal error--no action found" );
00887 }
00888 }
00889 }
00890
00891
00892
00893
00894
00895
00896
00897
00898
00899
00900 static int yy_get_next_buffer()
00901 {
00902 register char *dest = yy_current_buffer->yy_ch_buf;
00903 register char *source = yytext_ptr;
00904 register int number_to_move, i;
00905 int ret_val;
00906
00907 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
00908 YY_FATAL_ERROR(
00909 "fatal flex scanner internal error--end of buffer missed" );
00910
00911 if ( yy_current_buffer->yy_fill_buffer == 0 )
00912 {
00913 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
00914 {
00915
00916
00917
00918 return EOB_ACT_END_OF_FILE;
00919 }
00920
00921 else
00922 {
00923
00924
00925
00926 return EOB_ACT_LAST_MATCH;
00927 }
00928 }
00929
00930
00931
00932
00933 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
00934
00935 for ( i = 0; i < number_to_move; ++i )
00936 *(dest++) = *(source++);
00937
00938 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
00939
00940
00941
00942 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
00943
00944 else
00945 {
00946 int num_to_read =
00947 yy_current_buffer->yy_buf_size - number_to_move - 1;
00948
00949 while ( num_to_read <= 0 )
00950 {
00951 #ifdef YY_USES_REJECT
00952 YY_FATAL_ERROR(
00953 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
00954 #else
00955
00956
00957 YY_BUFFER_STATE b = yy_current_buffer;
00958
00959 int yy_c_buf_p_offset =
00960 (int) (yy_c_buf_p - b->yy_ch_buf);
00961
00962 if ( b->yy_is_our_buffer )
00963 {
00964 int new_size = b->yy_buf_size * 2;
00965
00966 if ( new_size <= 0 )
00967 b->yy_buf_size += b->yy_buf_size / 8;
00968 else
00969 b->yy_buf_size *= 2;
00970
00971 b->yy_ch_buf = (char *)
00972
00973 yy_flex_realloc( (void *) b->yy_ch_buf,
00974 b->yy_buf_size + 2 );
00975 }
00976 else
00977
00978 b->yy_ch_buf = 0;
00979
00980 if ( ! b->yy_ch_buf )
00981 YY_FATAL_ERROR(
00982 "fatal error - scanner input buffer overflow" );
00983
00984 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
00985
00986 num_to_read = yy_current_buffer->yy_buf_size -
00987 number_to_move - 1;
00988 #endif
00989 }
00990
00991 if ( num_to_read > YY_READ_BUF_SIZE )
00992 num_to_read = YY_READ_BUF_SIZE;
00993
00994
00995 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
00996 yy_n_chars, num_to_read );
00997
00998 yy_current_buffer->yy_n_chars = yy_n_chars;
00999 }
01000
01001 if ( yy_n_chars == 0 )
01002 {
01003 if ( number_to_move == YY_MORE_ADJ )
01004 {
01005 ret_val = EOB_ACT_END_OF_FILE;
01006 yyrestart( yyin );
01007 }
01008
01009 else
01010 {
01011 ret_val = EOB_ACT_LAST_MATCH;
01012 yy_current_buffer->yy_buffer_status =
01013 YY_BUFFER_EOF_PENDING;
01014 }
01015 }
01016
01017 else
01018 ret_val = EOB_ACT_CONTINUE_SCAN;
01019
01020 yy_n_chars += number_to_move;
01021 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
01022 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
01023
01024 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
01025
01026 return ret_val;
01027 }
01028
01029
01030
01031
01032 static yy_state_type yy_get_previous_state()
01033 {
01034 register yy_state_type yy_current_state;
01035 register char *yy_cp;
01036
01037 yy_current_state = yy_start;
01038
01039 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
01040 {
01041 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01042 if ( yy_accept[yy_current_state] )
01043 {
01044 yy_last_accepting_state = yy_current_state;
01045 yy_last_accepting_cpos = yy_cp;
01046 }
01047 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01048 {
01049 yy_current_state = (int) yy_def[yy_current_state];
01050 if ( yy_current_state >= 44 )
01051 yy_c = yy_meta[(unsigned int) yy_c];
01052 }
01053 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01054 }
01055
01056 return yy_current_state;
01057 }
01058
01059
01060
01061
01062
01063
01064
01065
01066 #ifdef YY_USE_PROTOS
01067 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
01068 #else
01069 static yy_state_type yy_try_NUL_trans( yy_current_state )
01070 yy_state_type yy_current_state;
01071 #endif
01072 {
01073 register int yy_is_jam;
01074 register char *yy_cp = yy_c_buf_p;
01075
01076 register YY_CHAR yy_c = 1;
01077 if ( yy_accept[yy_current_state] )
01078 {
01079 yy_last_accepting_state = yy_current_state;
01080 yy_last_accepting_cpos = yy_cp;
01081 }
01082 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01083 {
01084 yy_current_state = (int) yy_def[yy_current_state];
01085 if ( yy_current_state >= 44 )
01086 yy_c = yy_meta[(unsigned int) yy_c];
01087 }
01088 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01089 yy_is_jam = (yy_current_state == 43);
01090
01091 return yy_is_jam ? 0 : yy_current_state;
01092 }
01093
01094
01095 #ifndef YY_NO_UNPUT
01096 #ifdef YY_USE_PROTOS
01097 static void yyunput( int c, register char *yy_bp )
01098 #else
01099 static void yyunput( c, yy_bp )
01100 int c;
01101 register char *yy_bp;
01102 #endif
01103 {
01104 register char *yy_cp = yy_c_buf_p;
01105
01106
01107 *yy_cp = yy_hold_char;
01108
01109 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01110 {
01111
01112 register int number_to_move = yy_n_chars + 2;
01113 register char *dest = &yy_current_buffer->yy_ch_buf[
01114 yy_current_buffer->yy_buf_size + 2];
01115 register char *source =
01116 &yy_current_buffer->yy_ch_buf[number_to_move];
01117
01118 while ( source > yy_current_buffer->yy_ch_buf )
01119 *--dest = *--source;
01120
01121 yy_cp += (int) (dest - source);
01122 yy_bp += (int) (dest - source);
01123 yy_current_buffer->yy_n_chars =
01124 yy_n_chars = yy_current_buffer->yy_buf_size;
01125
01126 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01127 YY_FATAL_ERROR( "flex scanner push-back overflow" );
01128 }
01129
01130 *--yy_cp = (char) c;
01131
01132
01133 yytext_ptr = yy_bp;
01134 yy_hold_char = *yy_cp;
01135 yy_c_buf_p = yy_cp;
01136 }
01137 #endif
01138
01139
01140 #ifndef YY_NO_INPUT
01141 #ifdef __cplusplus
01142 static int yyinput()
01143 #else
01144 static int input()
01145 #endif
01146 {
01147 int c;
01148
01149 *yy_c_buf_p = yy_hold_char;
01150
01151 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
01152 {
01153
01154
01155
01156
01157 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
01158
01159 *yy_c_buf_p = '\0';
01160
01161 else
01162 {
01163 int offset = yy_c_buf_p - yytext_ptr;
01164 ++yy_c_buf_p;
01165
01166 switch ( yy_get_next_buffer() )
01167 {
01168 case EOB_ACT_LAST_MATCH:
01169
01170
01171
01172
01173
01174
01175
01176
01177
01178
01179
01180 yyrestart( yyin );
01181
01182
01183
01184 case EOB_ACT_END_OF_FILE:
01185 {
01186 if ( yywrap() )
01187 return EOF;
01188
01189 if ( ! yy_did_buffer_switch_on_eof )
01190 YY_NEW_FILE;
01191 #ifdef __cplusplus
01192 return yyinput();
01193 #else
01194 return input();
01195 #endif
01196 }
01197
01198 case EOB_ACT_CONTINUE_SCAN:
01199 yy_c_buf_p = yytext_ptr + offset;
01200 break;
01201 }
01202 }
01203 }
01204
01205 c = *(unsigned char *) yy_c_buf_p;
01206 *yy_c_buf_p = '\0';
01207 yy_hold_char = *++yy_c_buf_p;
01208
01209
01210 return c;
01211 }
01212 #endif
01213
01214 #ifdef YY_USE_PROTOS
01215 void yyrestart( FILE *input_file )
01216 #else
01217 void yyrestart( input_file )
01218 FILE *input_file;
01219 #endif
01220 {
01221 if ( ! yy_current_buffer )
01222 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
01223
01224 yy_init_buffer( yy_current_buffer, input_file );
01225 yy_load_buffer_state();
01226 }
01227
01228
01229 #ifdef YY_USE_PROTOS
01230 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
01231 #else
01232 void yy_switch_to_buffer( new_buffer )
01233 YY_BUFFER_STATE new_buffer;
01234 #endif
01235 {
01236 if ( yy_current_buffer == new_buffer )
01237 return;
01238
01239 if ( yy_current_buffer )
01240 {
01241
01242 *yy_c_buf_p = yy_hold_char;
01243 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
01244 yy_current_buffer->yy_n_chars = yy_n_chars;
01245 }
01246
01247 yy_current_buffer = new_buffer;
01248 yy_load_buffer_state();
01249
01250
01251
01252
01253
01254
01255 yy_did_buffer_switch_on_eof = 1;
01256 }
01257
01258
01259 #ifdef YY_USE_PROTOS
01260 void yy_load_buffer_state( void )
01261 #else
01262 void yy_load_buffer_state()
01263 #endif
01264 {
01265 yy_n_chars = yy_current_buffer->yy_n_chars;
01266 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
01267 yyin = yy_current_buffer->yy_input_file;
01268 yy_hold_char = *yy_c_buf_p;
01269 }
01270
01271
01272 #ifdef YY_USE_PROTOS
01273 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
01274 #else
01275 YY_BUFFER_STATE yy_create_buffer( file, size )
01276 FILE *file;
01277 int size;
01278 #endif
01279 {
01280 YY_BUFFER_STATE b;
01281
01282 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
01283 if ( ! b )
01284 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01285
01286 b->yy_buf_size = size;
01287
01288
01289
01290
01291 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
01292 if ( ! b->yy_ch_buf )
01293 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01294
01295 b->yy_is_our_buffer = 1;
01296
01297 yy_init_buffer( b, file );
01298
01299 return b;
01300 }
01301
01302
01303 #ifdef YY_USE_PROTOS
01304 void yy_delete_buffer( YY_BUFFER_STATE b )
01305 #else
01306 void yy_delete_buffer( b )
01307 YY_BUFFER_STATE b;
01308 #endif
01309 {
01310 if ( ! b )
01311 return;
01312
01313 if ( b == yy_current_buffer )
01314 yy_current_buffer = (YY_BUFFER_STATE) 0;
01315
01316 if ( b->yy_is_our_buffer )
01317 yy_flex_free( (void *) b->yy_ch_buf );
01318
01319 yy_flex_free( (void *) b );
01320 }
01321
01322
01323
01324 #ifdef YY_USE_PROTOS
01325 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
01326 #else
01327 void yy_init_buffer( b, file )
01328 YY_BUFFER_STATE b;
01329 FILE *file;
01330 #endif
01331
01332
01333 {
01334 yy_flush_buffer( b );
01335
01336 b->yy_input_file = file;
01337 b->yy_fill_buffer = 1;
01338
01339 #if YY_ALWAYS_INTERACTIVE
01340 b->yy_is_interactive = 1;
01341 #else
01342 #if YY_NEVER_INTERACTIVE
01343 b->yy_is_interactive = 0;
01344 #else
01345 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
01346 #endif
01347 #endif
01348 }
01349
01350
01351 #ifdef YY_USE_PROTOS
01352 void yy_flush_buffer( YY_BUFFER_STATE b )
01353 #else
01354 void yy_flush_buffer( b )
01355 YY_BUFFER_STATE b;
01356 #endif
01357
01358 {
01359 if ( ! b )
01360 return;
01361
01362 b->yy_n_chars = 0;
01363
01364
01365
01366
01367
01368 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
01369 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
01370
01371 b->yy_buf_pos = &b->yy_ch_buf[0];
01372
01373 b->yy_at_bol = 1;
01374 b->yy_buffer_status = YY_BUFFER_NEW;
01375
01376 if ( b == yy_current_buffer )
01377 yy_load_buffer_state();
01378 }
01379
01380
01381 #ifndef YY_NO_SCAN_BUFFER
01382 #ifdef YY_USE_PROTOS
01383 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
01384 #else
01385 YY_BUFFER_STATE yy_scan_buffer( base, size )
01386 char *base;
01387 yy_size_t size;
01388 #endif
01389 {
01390 YY_BUFFER_STATE b;
01391
01392 if ( size < 2 ||
01393 base[size-2] != YY_END_OF_BUFFER_CHAR ||
01394 base[size-1] != YY_END_OF_BUFFER_CHAR )
01395
01396 return 0;
01397
01398 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
01399 if ( ! b )
01400 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
01401
01402 b->yy_buf_size = size - 2;
01403 b->yy_buf_pos = b->yy_ch_buf = base;
01404 b->yy_is_our_buffer = 0;
01405 b->yy_input_file = 0;
01406 b->yy_n_chars = b->yy_buf_size;
01407 b->yy_is_interactive = 0;
01408 b->yy_at_bol = 1;
01409 b->yy_fill_buffer = 0;
01410 b->yy_buffer_status = YY_BUFFER_NEW;
01411
01412 yy_switch_to_buffer( b );
01413
01414 return b;
01415 }
01416 #endif
01417
01418
01419 #ifndef YY_NO_SCAN_STRING
01420 #ifdef YY_USE_PROTOS
01421 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
01422 #else
01423 YY_BUFFER_STATE yy_scan_string( yy_str )
01424 yyconst char *yy_str;
01425 #endif
01426 {
01427 int len;
01428 for ( len = 0; yy_str[len]; ++len )
01429 ;
01430
01431 return yy_scan_bytes( yy_str, len );
01432 }
01433 #endif
01434
01435
01436 #ifndef YY_NO_SCAN_BYTES
01437 #ifdef YY_USE_PROTOS
01438 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
01439 #else
01440 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
01441 yyconst char *bytes;
01442 int len;
01443 #endif
01444 {
01445 YY_BUFFER_STATE b;
01446 char *buf;
01447 yy_size_t n;
01448 int i;
01449
01450
01451 n = len + 2;
01452 buf = (char *) yy_flex_alloc( n );
01453 if ( ! buf )
01454 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
01455
01456 for ( i = 0; i < len; ++i )
01457 buf[i] = bytes[i];
01458
01459 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
01460
01461 b = yy_scan_buffer( buf, n );
01462 if ( ! b )
01463 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
01464
01465
01466
01467
01468 b->yy_is_our_buffer = 1;
01469
01470 return b;
01471 }
01472 #endif
01473
01474
01475 #ifndef YY_NO_PUSH_STATE
01476 #ifdef YY_USE_PROTOS
01477 static void yy_push_state( int new_state )
01478 #else
01479 static void yy_push_state( new_state )
01480 int new_state;
01481 #endif
01482 {
01483 if ( yy_start_stack_ptr >= yy_start_stack_depth )
01484 {
01485 yy_size_t new_size;
01486
01487 yy_start_stack_depth += YY_START_STACK_INCR;
01488 new_size = yy_start_stack_depth * sizeof( int );
01489
01490 if ( ! yy_start_stack )
01491 yy_start_stack = (int *) yy_flex_alloc( new_size );
01492
01493 else
01494 yy_start_stack = (int *) yy_flex_realloc(
01495 (void *) yy_start_stack, new_size );
01496
01497 if ( ! yy_start_stack )
01498 YY_FATAL_ERROR(
01499 "out of memory expanding start-condition stack" );
01500 }
01501
01502 yy_start_stack[yy_start_stack_ptr++] = YY_START;
01503
01504 BEGIN(new_state);
01505 }
01506 #endif
01507
01508
01509 #ifndef YY_NO_POP_STATE
01510 static void yy_pop_state()
01511 {
01512 if ( --yy_start_stack_ptr < 0 )
01513 YY_FATAL_ERROR( "start-condition stack underflow" );
01514
01515 BEGIN(yy_start_stack[yy_start_stack_ptr]);
01516 }
01517 #endif
01518
01519
01520 #ifndef YY_NO_TOP_STATE
01521 static int yy_top_state()
01522 {
01523 return yy_start_stack[yy_start_stack_ptr - 1];
01524 }
01525 #endif
01526
01527 #ifndef YY_EXIT_FAILURE
01528 #define YY_EXIT_FAILURE 2
01529 #endif
01530
01531 #ifdef YY_USE_PROTOS
01532 static void yy_fatal_error( yyconst char msg[] )
01533 #else
01534 static void yy_fatal_error( msg )
01535 char msg[];
01536 #endif
01537 {
01538 (void) fprintf( stderr, "%s\n", msg );
01539 exit( YY_EXIT_FAILURE );
01540 }
01541
01542
01543
01544
01545
01546 #undef yyless
01547 #define yyless(n) \
01548 do \
01549 { \
01550 \
01551 yytext[yyleng] = yy_hold_char; \
01552 yy_c_buf_p = yytext + n; \
01553 yy_hold_char = *yy_c_buf_p; \
01554 *yy_c_buf_p = '\0'; \
01555 yyleng = n; \
01556 } \
01557 while ( 0 )
01558
01559
01560
01561
01562 #ifndef yytext_ptr
01563 #ifdef YY_USE_PROTOS
01564 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
01565 #else
01566 static void yy_flex_strncpy( s1, s2, n )
01567 char *s1;
01568 yyconst char *s2;
01569 int n;
01570 #endif
01571 {
01572 register int i;
01573 for ( i = 0; i < n; ++i )
01574 s1[i] = s2[i];
01575 }
01576 #endif
01577
01578 #ifdef YY_NEED_STRLEN
01579 #ifdef YY_USE_PROTOS
01580 static int yy_flex_strlen( yyconst char *s )
01581 #else
01582 static int yy_flex_strlen( s )
01583 yyconst char *s;
01584 #endif
01585 {
01586 register int n;
01587 for ( n = 0; s[n]; ++n )
01588 ;
01589
01590 return n;
01591 }
01592 #endif
01593
01594
01595 #ifdef YY_USE_PROTOS
01596 static void *yy_flex_alloc( yy_size_t size )
01597 #else
01598 static void *yy_flex_alloc( size )
01599 yy_size_t size;
01600 #endif
01601 {
01602 return (void *) malloc( size );
01603 }
01604
01605 #ifdef YY_USE_PROTOS
01606 static void *yy_flex_realloc( void *ptr, yy_size_t size )
01607 #else
01608 static void *yy_flex_realloc( ptr, size )
01609 void *ptr;
01610 yy_size_t size;
01611 #endif
01612 {
01613
01614
01615
01616
01617
01618
01619
01620 return (void *) realloc( (char *) ptr, size );
01621 }
01622
01623 #ifdef YY_USE_PROTOS
01624 static void yy_flex_free( void *ptr )
01625 #else
01626 static void yy_flex_free( ptr )
01627 void *ptr;
01628 #endif
01629 {
01630 free( ptr );
01631 }
01632
01633 #if YY_MAIN
01634 int main()
01635 {
01636 yylex();
01637 return 0;
01638 }
01639 #endif
01640 #line 72 "feature_parse.l"
01641