2 #line 3 "tokenparser.c" 4 #define YY_INT_ALIGNED short int 8 #define yy_create_buffer tp_create_buffer 9 #define yy_delete_buffer tp_delete_buffer 10 #define yy_flex_debug tp_flex_debug 11 #define yy_init_buffer tp_init_buffer 12 #define yy_flush_buffer tp_flush_buffer 13 #define yy_load_buffer_state tp_load_buffer_state 14 #define yy_switch_to_buffer tp_switch_to_buffer 18 #define yylineno tplineno 20 #define yyrestart tprestart 23 #define yyalloc tpalloc 24 #define yyrealloc tprealloc 28 #define YY_FLEX_MAJOR_VERSION 2 29 #define YY_FLEX_MINOR_VERSION 5 30 #define YY_FLEX_SUBMINOR_VERSION 39 31 #if YY_FLEX_SUBMINOR_VERSION > 0 52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 57 #ifndef __STDC_LIMIT_MACROS 58 #define __STDC_LIMIT_MACROS 1 62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
78 #define INT8_MIN (-128) 81 #define INT16_MIN (-32767-1) 84 #define INT32_MIN (-2147483647-1) 87 #define INT8_MAX (127) 90 #define INT16_MAX (32767) 93 #define INT32_MAX (2147483647) 96 #define UINT8_MAX (255U) 99 #define UINT16_MAX (65535U) 102 #define UINT32_MAX (4294967295U) 117 #if defined (__STDC__) 125 #define yyconst const 138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 144 #define BEGIN (yy_start) = 1 + 2 * 150 #define YY_START (((yy_start) - 1) / 2) 151 #define YYSTATE YY_START 154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 157 #define YY_NEW_FILE tprestart(tpin ) 159 #define YY_END_OF_BUFFER_CHAR 0 168 #define YY_BUF_SIZE 32768 170 #define YY_BUF_SIZE 16384 176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 179 #define YY_TYPEDEF_YY_BUFFER_STATE 183 #ifndef YY_TYPEDEF_YY_SIZE_T 184 #define YY_TYPEDEF_YY_SIZE_T 185 typedef size_t yy_size_t;
188 extern yy_size_t tpleng;
190 extern FILE *tpin, *tpout;
192 #define EOB_ACT_CONTINUE_SCAN 0 193 #define EOB_ACT_END_OF_FILE 1 194 #define EOB_ACT_LAST_MATCH 2 196 #define YY_LESS_LINENO(n) 197 #define YY_LINENO_REWIND_TO(ptr) 204 int yyless_macro_arg = (n); \ 205 YY_LESS_LINENO(yyless_macro_arg);\ 206 *yy_cp = (yy_hold_char); \ 207 YY_RESTORE_YY_MORE_OFFSET \ 208 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 209 YY_DO_BEFORE_ACTION; \ 213 #define unput(c) yyunput( c, (yytext_ptr) ) 215 #ifndef YY_STRUCT_YY_BUFFER_STATE 216 #define YY_STRUCT_YY_BUFFER_STATE 227 yy_size_t yy_buf_size;
232 yy_size_t yy_n_chars;
238 int yy_is_our_buffer;
245 int yy_is_interactive;
261 int yy_buffer_status;
263 #define YY_BUFFER_NEW 0 264 #define YY_BUFFER_NORMAL 1 275 #define YY_BUFFER_EOF_PENDING 2 291 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 292 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 298 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 301 static char yy_hold_char;
302 static yy_size_t yy_n_chars;
306 static char *yy_c_buf_p = (
char *) 0;
307 static int yy_init = 0;
308 static int yy_start = 0;
313 static int yy_did_buffer_switch_on_eof;
315 void tprestart (FILE *input_file );
321 void tppop_buffer_state (
void );
323 static void tpensure_buffer_stack (
void );
324 static void tp_load_buffer_state (
void );
327 #define YY_FLUSH_BUFFER tp_flush_buffer(YY_CURRENT_BUFFER ) 333 void *tpalloc (yy_size_t );
334 void *tprealloc (
void *,yy_size_t );
335 void tpfree (
void * );
337 #define yy_new_buffer tp_create_buffer 339 #define yy_set_interactive(is_interactive) \ 341 if ( ! YY_CURRENT_BUFFER ){ \ 342 tpensure_buffer_stack (); \ 343 YY_CURRENT_BUFFER_LVALUE = \ 344 tp_create_buffer(tpin,YY_BUF_SIZE ); \ 346 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 349 #define yy_set_bol(at_bol) \ 351 if ( ! YY_CURRENT_BUFFER ){\ 352 tpensure_buffer_stack (); \ 353 YY_CURRENT_BUFFER_LVALUE = \ 354 tp_create_buffer(tpin,YY_BUF_SIZE ); \ 356 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 359 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 364 #define YY_SKIP_YYWRAP 366 typedef unsigned char YY_CHAR;
368 FILE *tpin = (FILE *) 0, *tpout = (FILE *) 0;
370 typedef int yy_state_type;
377 #define yytext_ptr tptext 379 static yy_state_type yy_get_previous_state (
void );
380 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
381 static int yy_get_next_buffer (
void );
382 static void yy_fatal_error (yyconst
char msg[] );
387 #define YY_DO_BEFORE_ACTION \ 388 (yytext_ptr) = yy_bp; \ 389 tpleng = (size_t) (yy_cp - yy_bp); \ 390 (yy_hold_char) = *yy_cp; \ 392 (yy_c_buf_p) = yy_cp; 394 #define YY_NUM_RULES 7 395 #define YY_END_OF_BUFFER 8 400 flex_int32_t yy_verify;
403 static yyconst flex_int16_t yy_accept[39] =
405 0, 0, 8, 6, 4, 2, 1, 6, 1, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
408 0, 0, 0, 0, 0, 0, 5, 0
411 static yyconst flex_int32_t yy_ec[256] =
413 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
415 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
416 1, 2, 4, 4, 5, 4, 4, 4, 4, 4,
417 4, 4, 4, 4, 4, 4, 6, 7, 7, 7,
418 7, 7, 7, 7, 7, 7, 7, 4, 4, 8,
419 4, 9, 4, 4, 10, 10, 10, 10, 10, 10,
420 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
421 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
422 4, 1, 4, 4, 4, 1, 11, 11, 11, 11,
424 12, 11, 13, 11, 14, 11, 15, 11, 11, 16,
425 11, 11, 11, 17, 18, 19, 11, 11, 11, 11,
426 20, 11, 1, 1, 1, 4, 1, 1, 1, 1,
427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 static yyconst flex_int32_t yy_meta[21] =
445 1, 2, 3, 4, 4, 4, 2, 1, 1, 2,
446 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
449 static yyconst flex_int16_t yy_base[43] =
451 0, 7, 49, 50, 50, 50, 0, 1, 0, 36,
452 28, 26, 28, 35, 29, 0, 26, 33, 27, 33,
453 29, 22, 0, 24, 27, 14, 27, 23, 13, 50,
454 10, 9, 4, 1, 0, 2, 50, 50, 19, 23,
458 static yyconst flex_int16_t yy_def[43] =
460 39, 39, 38, 38, 38, 38, 40, 38, 40, 38,
461 38, 38, 38, 38, 38, 41, 38, 41, 38, 38,
462 38, 38, 42, 38, 42, 38, 38, 38, 38, 38,
463 38, 38, 38, 38, 38, 38, 38, 0, 38, 38,
467 static yyconst flex_int16_t yy_nxt[71] =
469 38, 5, 6, 18, 7, 38, 38, 8, 5, 6,
470 37, 7, 36, 38, 8, 10, 35, 34, 11, 4,
471 4, 4, 4, 9, 9, 33, 9, 25, 32, 25,
472 31, 30, 29, 28, 27, 26, 24, 23, 22, 21,
473 20, 19, 17, 16, 15, 14, 13, 12, 38, 3,
474 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
475 38, 38, 38, 38, 38, 38, 38, 38, 38, 38
478 static yyconst flex_int16_t yy_chk[71] =
480 0, 1, 1, 41, 1, 0, 0, 1, 2, 2,
481 36, 2, 35, 0, 2, 8, 34, 33, 8, 39,
482 39, 39, 39, 40, 40, 32, 40, 42, 31, 42,
483 29, 28, 27, 26, 25, 24, 22, 21, 20, 19,
484 18, 17, 15, 14, 13, 12, 11, 10, 3, 38,
485 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
486 38, 38, 38, 38, 38, 38, 38, 38, 38, 38
489 static yy_state_type yy_last_accepting_state;
490 static char *yy_last_accepting_cpos;
492 extern int tp_flex_debug;
493 int tp_flex_debug = 0;
498 #define REJECT reject_used_but_not_detected 499 #define yymore() yymore_used_but_not_detected 500 #define YY_MORE_ADJ 0 501 #define YY_RESTORE_YY_MORE_OFFSET 503 #line 1 "tokenparser.l" 542 #line 42 "tokenparser.l" 551 #include "simclist.h" 555 static void eval_key(
char *pcToken,
list_t *list_key);
556 static void eval_value(
char *pcToken,
list_t *list_values);
557 void tperrorCheck (
char *pcToken_error);
560 static list_t *ListValues;
562 #define YY_NO_INPUT 1 563 #line 564 "tokenparser.c" 567 #ifndef YY_NO_UNISTD_H 575 #ifndef YY_EXTRA_TYPE 576 #define YY_EXTRA_TYPE void * 579 static int yy_init_globals (
void );
584 int tplex_destroy (
void );
586 int tpget_debug (
void );
588 void tpset_debug (
int debug_flag );
590 YY_EXTRA_TYPE tpget_extra (
void );
592 void tpset_extra (YY_EXTRA_TYPE user_defined );
594 FILE *tpget_in (
void );
596 void tpset_in (FILE * in_str );
598 FILE *tpget_out (
void );
600 void tpset_out (FILE * out_str );
602 yy_size_t tpget_leng (
void );
604 char *tpget_text (
void );
606 int tpget_lineno (
void );
608 void tpset_lineno (
int line_number );
614 #ifndef YY_SKIP_YYWRAP 616 extern "C" int tpwrap (
void );
618 extern int tpwrap (
void );
623 static void yy_flex_strncpy (
char *,yyconst
char *,
int );
626 #ifdef YY_NEED_STRLEN 627 static int yy_flex_strlen (yyconst
char * );
633 static int yyinput (
void );
635 static int input (
void );
641 #ifndef YY_READ_BUF_SIZE 644 #define YY_READ_BUF_SIZE 16384 646 #define YY_READ_BUF_SIZE 8192 655 #define ECHO do { if (fwrite( tptext, tpleng, 1, tpout )) {} } while (0) 662 #define YY_INPUT(buf,result,max_size) \ 663 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 667 for ( n = 0; n < max_size && \ 668 (c = getc( tpin )) != EOF && c != '\n'; ++n ) \ 671 buf[n++] = (char) c; \ 672 if ( c == EOF && ferror( tpin ) ) \ 673 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 679 while ( (result = fread(buf, 1, max_size, tpin))==0 && ferror(tpin)) \ 681 if( errno != EINTR) \ 683 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 699 #define yyterminate() return YY_NULL 703 #ifndef YY_START_STACK_INCR 704 #define YY_START_STACK_INCR 25 708 #ifndef YY_FATAL_ERROR 709 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 718 #define YY_DECL_IS_OURS 1 720 extern int tplex (
void);
722 #define YY_DECL int tplex (void) 728 #ifndef YY_USER_ACTION 729 #define YY_USER_ACTION 734 #define YY_BREAK break; 737 #define YY_RULE_SETUP \ 744 register yy_state_type yy_current_state;
745 register char *yy_cp, *yy_bp;
765 if ( ! YY_CURRENT_BUFFER ) {
766 tpensure_buffer_stack ();
767 YY_CURRENT_BUFFER_LVALUE =
768 tp_create_buffer(tpin,YY_BUF_SIZE );
771 tp_load_buffer_state( );
775 #line 67 "tokenparser.l" 778 #line 779 "tokenparser.c" 782 yy_cp = (yy_c_buf_p);
785 *yy_cp = (yy_hold_char);
792 yy_current_state = (yy_start);
796 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
797 if ( yy_accept[yy_current_state] )
799 (yy_last_accepting_state) = yy_current_state;
800 (yy_last_accepting_cpos) = yy_cp;
802 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
804 yy_current_state = (int) yy_def[yy_current_state];
805 if ( yy_current_state >= 39 )
806 yy_c = yy_meta[(
unsigned int) yy_c];
808 yy_current_state = yy_nxt[yy_base[yy_current_state] + (
unsigned int) yy_c];
811 while ( yy_base[yy_current_state] != 50 );
814 yy_act = yy_accept[yy_current_state];
817 yy_cp = (yy_last_accepting_cpos);
818 yy_current_state = (yy_last_accepting_state);
819 yy_act = yy_accept[yy_current_state];
830 *yy_cp = (yy_hold_char);
831 yy_cp = (yy_last_accepting_cpos);
832 yy_current_state = (yy_last_accepting_state);
837 #line 69 "tokenparser.l" 843 #line 70 "tokenparser.l" 848 #line 71 "tokenparser.l" 849 { eval_key(tptext, ListKeys); }
853 #line 72 "tokenparser.l" 858 #line 73 "tokenparser.l" 859 { eval_value(tptext, ListValues); }
863 #line 74 "tokenparser.l" 864 { tperrorCheck(tptext); }
868 #line 75 "tokenparser.l" 871 #line 872 "tokenparser.c" 872 case YY_STATE_EOF(INITIAL):
875 case YY_END_OF_BUFFER:
878 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
881 *yy_cp = (yy_hold_char);
882 YY_RESTORE_YY_MORE_OFFSET
884 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
895 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
896 YY_CURRENT_BUFFER_LVALUE->yy_input_file = tpin;
897 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
907 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
909 yy_state_type yy_next_state;
911 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
913 yy_current_state = yy_get_previous_state( );
924 yy_next_state = yy_try_NUL_trans( yy_current_state );
926 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
931 yy_cp = ++(yy_c_buf_p);
932 yy_current_state = yy_next_state;
938 yy_cp = (yy_c_buf_p);
943 else switch ( yy_get_next_buffer( ) )
945 case EOB_ACT_END_OF_FILE:
947 (yy_did_buffer_switch_on_eof) = 0;
960 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
962 yy_act = YY_STATE_EOF(YY_START);
968 if ( ! (yy_did_buffer_switch_on_eof) )
974 case EOB_ACT_CONTINUE_SCAN:
976 (yytext_ptr) + yy_amount_of_matched_text;
978 yy_current_state = yy_get_previous_state( );
980 yy_cp = (yy_c_buf_p);
981 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
984 case EOB_ACT_LAST_MATCH:
986 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
988 yy_current_state = yy_get_previous_state( );
990 yy_cp = (yy_c_buf_p);
991 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
999 "fatal flex scanner internal error--no action found" );
1012 static int yy_get_next_buffer (
void)
1014 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1015 register char *source = (yytext_ptr);
1016 register int number_to_move, i;
1019 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1021 "fatal flex scanner internal error--end of buffer missed" );
1023 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1025 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1030 return EOB_ACT_END_OF_FILE;
1038 return EOB_ACT_LAST_MATCH;
1045 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1047 for ( i = 0; i < number_to_move; ++i )
1048 *(dest++) = *(source++);
1050 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1054 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1058 yy_size_t num_to_read =
1059 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1061 while ( num_to_read <= 0 )
1067 int yy_c_buf_p_offset =
1068 (int) ((yy_c_buf_p) - b->yy_ch_buf);
1070 if ( b->yy_is_our_buffer )
1072 yy_size_t new_size = b->yy_buf_size * 2;
1074 if ( new_size <= 0 )
1075 b->yy_buf_size += b->yy_buf_size / 8;
1077 b->yy_buf_size *= 2;
1079 b->yy_ch_buf = (
char *)
1081 tprealloc((
void *) b->yy_ch_buf,b->yy_buf_size + 2 );
1087 if ( ! b->yy_ch_buf )
1089 "fatal error - scanner input buffer overflow" );
1091 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1093 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1098 if ( num_to_read > YY_READ_BUF_SIZE )
1099 num_to_read = YY_READ_BUF_SIZE;
1102 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1103 (yy_n_chars), num_to_read );
1105 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1108 if ( (yy_n_chars) == 0 )
1110 if ( number_to_move == YY_MORE_ADJ )
1112 ret_val = EOB_ACT_END_OF_FILE;
1118 ret_val = EOB_ACT_LAST_MATCH;
1119 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1120 YY_BUFFER_EOF_PENDING;
1125 ret_val = EOB_ACT_CONTINUE_SCAN;
1127 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1129 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1130 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (
char *) tprealloc((
void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
1131 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1132 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
1135 (yy_n_chars) += number_to_move;
1136 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1137 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1139 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1146 static yy_state_type yy_get_previous_state (
void)
1148 register yy_state_type yy_current_state;
1149 register char *yy_cp;
1151 yy_current_state = (yy_start);
1153 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1155 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1156 if ( yy_accept[yy_current_state] )
1158 (yy_last_accepting_state) = yy_current_state;
1159 (yy_last_accepting_cpos) = yy_cp;
1161 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1163 yy_current_state = (int) yy_def[yy_current_state];
1164 if ( yy_current_state >= 39 )
1165 yy_c = yy_meta[(
unsigned int) yy_c];
1167 yy_current_state = yy_nxt[yy_base[yy_current_state] + (
unsigned int) yy_c];
1170 return yy_current_state;
1178 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1180 register int yy_is_jam;
1181 register char *yy_cp = (yy_c_buf_p);
1183 register YY_CHAR yy_c = 1;
1184 if ( yy_accept[yy_current_state] )
1186 (yy_last_accepting_state) = yy_current_state;
1187 (yy_last_accepting_cpos) = yy_cp;
1189 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1191 yy_current_state = (int) yy_def[yy_current_state];
1192 if ( yy_current_state >= 39 )
1193 yy_c = yy_meta[(
unsigned int) yy_c];
1195 yy_current_state = yy_nxt[yy_base[yy_current_state] + (
unsigned int) yy_c];
1196 yy_is_jam = (yy_current_state == 38);
1198 return yy_is_jam ? 0 : yy_current_state;
1203 static int yyinput (
void)
1205 static int input (
void)
1211 *(yy_c_buf_p) = (yy_hold_char);
1213 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1219 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1221 *(yy_c_buf_p) =
'\0';
1225 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
1228 switch ( yy_get_next_buffer( ) )
1230 case EOB_ACT_LAST_MATCH:
1246 case EOB_ACT_END_OF_FILE:
1251 if ( ! (yy_did_buffer_switch_on_eof) )
1260 case EOB_ACT_CONTINUE_SCAN:
1261 (yy_c_buf_p) = (yytext_ptr) + offset;
1267 c = *(
unsigned char *) (yy_c_buf_p);
1268 *(yy_c_buf_p) =
'\0';
1269 (yy_hold_char) = *++(yy_c_buf_p);
1280 void tprestart (FILE * input_file )
1283 if ( ! YY_CURRENT_BUFFER ){
1284 tpensure_buffer_stack ();
1285 YY_CURRENT_BUFFER_LVALUE =
1286 tp_create_buffer(tpin,YY_BUF_SIZE );
1289 tp_init_buffer(YY_CURRENT_BUFFER,input_file );
1290 tp_load_buffer_state( );
1305 tpensure_buffer_stack ();
1306 if ( YY_CURRENT_BUFFER == new_buffer )
1309 if ( YY_CURRENT_BUFFER )
1312 *(yy_c_buf_p) = (yy_hold_char);
1313 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1314 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1317 YY_CURRENT_BUFFER_LVALUE = new_buffer;
1318 tp_load_buffer_state( );
1325 (yy_did_buffer_switch_on_eof) = 1;
1328 static void tp_load_buffer_state (
void)
1330 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1331 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1332 tpin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1333 (yy_hold_char) = *(yy_c_buf_p);
1348 YY_FATAL_ERROR(
"out of dynamic memory in tp_create_buffer()" );
1350 b->yy_buf_size = size;
1355 b->yy_ch_buf = (
char *) tpalloc(b->yy_buf_size + 2 );
1356 if ( ! b->yy_ch_buf )
1357 YY_FATAL_ERROR(
"out of dynamic memory in tp_create_buffer()" );
1359 b->yy_is_our_buffer = 1;
1361 tp_init_buffer(b,file );
1376 if ( b == YY_CURRENT_BUFFER )
1379 if ( b->yy_is_our_buffer )
1380 tpfree((
void *) b->yy_ch_buf );
1382 tpfree((
void *) b );
1394 tp_flush_buffer(b );
1396 b->yy_input_file = file;
1397 b->yy_fill_buffer = 1;
1403 if (b != YY_CURRENT_BUFFER){
1408 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
1428 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1429 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1431 b->yy_buf_pos = &b->yy_ch_buf[0];
1434 b->yy_buffer_status = YY_BUFFER_NEW;
1436 if ( b == YY_CURRENT_BUFFER )
1437 tp_load_buffer_state( );
1448 if (new_buffer == NULL)
1451 tpensure_buffer_stack();
1454 if ( YY_CURRENT_BUFFER )
1457 *(yy_c_buf_p) = (yy_hold_char);
1458 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1459 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1463 if (YY_CURRENT_BUFFER)
1465 YY_CURRENT_BUFFER_LVALUE = new_buffer;
1468 tp_load_buffer_state( );
1469 (yy_did_buffer_switch_on_eof) = 1;
1476 void tppop_buffer_state (
void)
1478 if (!YY_CURRENT_BUFFER)
1481 tp_delete_buffer(YY_CURRENT_BUFFER );
1482 YY_CURRENT_BUFFER_LVALUE = NULL;
1486 if (YY_CURRENT_BUFFER) {
1487 tp_load_buffer_state( );
1488 (yy_did_buffer_switch_on_eof) = 1;
1495 static void tpensure_buffer_stack (
void)
1497 yy_size_t num_to_alloc;
1510 YY_FATAL_ERROR(
"out of dynamic memory in tpensure_buffer_stack()" );
1530 YY_FATAL_ERROR(
"out of dynamic memory in tpensure_buffer_stack()" );
1549 base[size-2] != YY_END_OF_BUFFER_CHAR ||
1550 base[size-1] != YY_END_OF_BUFFER_CHAR )
1556 YY_FATAL_ERROR(
"out of dynamic memory in tp_scan_buffer()" );
1558 b->yy_buf_size = size - 2;
1559 b->yy_buf_pos = b->yy_ch_buf = base;
1560 b->yy_is_our_buffer = 0;
1561 b->yy_input_file = 0;
1562 b->yy_n_chars = b->yy_buf_size;
1563 b->yy_is_interactive = 0;
1565 b->yy_fill_buffer = 0;
1566 b->yy_buffer_status = YY_BUFFER_NEW;
1568 tp_switch_to_buffer(b );
1584 return tp_scan_bytes(yystr,strlen(yystr) );
1594 YY_BUFFER_STATE tp_scan_bytes (yyconst
char * yybytes, yy_size_t _yybytes_len )
1602 n = _yybytes_len + 2;
1603 buf = (
char *) tpalloc(n );
1605 YY_FATAL_ERROR(
"out of dynamic memory in tp_scan_bytes()" );
1607 for ( i = 0; i < _yybytes_len; ++i )
1608 buf[i] = yybytes[i];
1610 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
1612 b = tp_scan_buffer(buf,n );
1614 YY_FATAL_ERROR(
"bad buffer in tp_scan_bytes()" );
1619 b->yy_is_our_buffer = 1;
1624 #ifndef YY_EXIT_FAILURE 1625 #define YY_EXIT_FAILURE 2 1628 static void yy_fatal_error (yyconst
char* msg )
1630 (void) fprintf( stderr,
"%s\n", msg );
1631 exit( YY_EXIT_FAILURE );
1641 int yyless_macro_arg = (n); \ 1642 YY_LESS_LINENO(yyless_macro_arg);\ 1643 tptext[tpleng] = (yy_hold_char); \ 1644 (yy_c_buf_p) = tptext + yyless_macro_arg; \ 1645 (yy_hold_char) = *(yy_c_buf_p); \ 1646 *(yy_c_buf_p) = '\0'; \ 1647 tpleng = yyless_macro_arg; \ 1656 int tpget_lineno (
void)
1665 FILE *tpget_in (
void)
1673 FILE *tpget_out (
void)
1681 yy_size_t tpget_leng (
void)
1690 char *tpget_text (
void)
1699 void tpset_lineno (
int line_number )
1702 tplineno = line_number;
1711 void tpset_in (FILE * in_str )
1716 void tpset_out (FILE * out_str )
1721 int tpget_debug (
void)
1723 return tp_flex_debug;
1726 void tpset_debug (
int bdebug )
1728 tp_flex_debug = bdebug ;
1731 static int yy_init_globals (
void)
1740 (yy_c_buf_p) = (
char *) 0;
1760 int tplex_destroy (
void)
1764 while(YY_CURRENT_BUFFER){
1765 tp_delete_buffer(YY_CURRENT_BUFFER );
1766 YY_CURRENT_BUFFER_LVALUE = NULL;
1767 tppop_buffer_state();
1786 static void yy_flex_strncpy (
char* s1, yyconst
char * s2,
int n )
1789 for ( i = 0; i < n; ++i )
1794 #ifdef YY_NEED_STRLEN 1795 static int yy_flex_strlen (yyconst
char * s )
1798 for ( n = 0; s[n]; ++n )
1805 void *tpalloc (yy_size_t size )
1807 return (
void *) malloc( size );
1810 void *tprealloc (
void * ptr, yy_size_t size )
1819 return (
void *) realloc( (
char *) ptr, size );
1822 void tpfree (
void * ptr )
1824 free( (
char *) ptr );
1827 #define YYTABLES_NAME "yytables" 1829 #line 74 "tokenparser.l" 1834 static void eval_key(
char *pcToken,
list_t *list_key)
1841 elt = malloc(
sizeof(*elt));
1848 for (len=0; pcToken[len+5] !=
'<'; len++)
1852 elt->key = malloc(len);
1853 memcpy(elt->key, &pcToken[5], len-1);
1854 elt->key[len-1] =
'\0';
1856 r = list_init(&elt->values);
1861 list_append(list_key, elt);
1864 ListValues = &elt->values;
1867 static void eval_value(
char *pcToken,
list_t *list_values)
1878 for (len=0; pcToken[len+8] !=
'<'; len++)
1882 value = malloc(len);
1885 memcpy(value, &pcToken[8], len-1);
1886 value[len-1] =
'\0';
1890 while ((amp = strstr(amp,
"&")) != NULL)
1895 for (p = amp+1; *(p+4); p++)
1906 r = list_append(list_values, value);
1911 void tperrorCheck (
char *token_error)
1926 int LTPBundleFindValueWithKey(
list_t *l,
const char *key,
list_t **values)
1931 for (i=0; i < list_size(l); i++)
1935 elt = list_get_at(l, i);
1938 if (0 == strcmp(elt->key, key))
1940 *values = &elt->values;
1957 int bundleParse(
const char *fileName,
list_t *l)
1965 file = fopen(fileName,
"r");
1968 Log3(PCSC_LOG_CRITICAL,
"Could not open bundle file %s: %s",
1969 fileName, strerror(errno));
1983 }
while (!feof(file));
1989 printf(
"size: %d\n", list_size(l));
1990 for (i=0; i < list_size(l); i++)
1995 elt = list_get_at(l, i);
1997 printf(
"Key: %s\n", elt->key);
1999 for (j=0; j<list_size(&elt->values); j++)
2001 char *v = list_get_at(&elt->values, j);
2002 printf(
" value: %s\n", v);
2015 void bundleRelease(
list_t *l)
2019 for (i=0; i < list_size(l); i++)
2024 elt = list_get_at(l, i);
2028 for (j=0; j<list_size(&elt->values); j++)
2029 free(list_get_at(&elt->values, j));
2030 list_destroy(&elt->values);
static YY_BUFFER_STATE * yy_buffer_stack
Stack as an array.
int yy_bs_column
The column count.
Reads lexical config files and updates database.
static size_t yy_buffer_stack_max
capacity of stack.
YY_DECL
The main scanner function which does all the work.
static size_t yy_buffer_stack_top
index of top of stack.
int yy_bs_lineno
The line count.