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