00001 #line 2 "src/cfgparser/oscan.c"
00002
00003 #line 4 "src/cfgparser/oscan.c"
00004
00005 #define YY_INT_ALIGNED short int
00006
00007
00008
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 35
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016
00017
00018
00019
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024
00025
00026
00027
00028
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031
00032
00033
00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00035
00036
00037
00038
00039 #ifndef __STDC_LIMIT_MACROS
00040 #define __STDC_LIMIT_MACROS 1
00041 #endif
00042
00043 #include <inttypes.h>
00044 typedef int8_t flex_int8_t;
00045 typedef uint8_t flex_uint8_t;
00046 typedef int16_t flex_int16_t;
00047 typedef uint16_t flex_uint16_t;
00048 typedef int32_t flex_int32_t;
00049 typedef uint32_t flex_uint32_t;
00050 #else
00051 typedef signed char flex_int8_t;
00052 typedef short int flex_int16_t;
00053 typedef int flex_int32_t;
00054 typedef unsigned char flex_uint8_t;
00055 typedef unsigned short int flex_uint16_t;
00056 typedef unsigned int flex_uint32_t;
00057
00058
00059 #ifndef INT8_MIN
00060 #define INT8_MIN (-128)
00061 #endif
00062 #ifndef INT16_MIN
00063 #define INT16_MIN (-32767-1)
00064 #endif
00065 #ifndef INT32_MIN
00066 #define INT32_MIN (-2147483647-1)
00067 #endif
00068 #ifndef INT8_MAX
00069 #define INT8_MAX (127)
00070 #endif
00071 #ifndef INT16_MAX
00072 #define INT16_MAX (32767)
00073 #endif
00074 #ifndef INT32_MAX
00075 #define INT32_MAX (2147483647)
00076 #endif
00077 #ifndef UINT8_MAX
00078 #define UINT8_MAX (255U)
00079 #endif
00080 #ifndef UINT16_MAX
00081 #define UINT16_MAX (65535U)
00082 #endif
00083 #ifndef UINT32_MAX
00084 #define UINT32_MAX (4294967295U)
00085 #endif
00086
00087 #endif
00088
00089 #endif
00090
00091 #ifdef __cplusplus
00092
00093
00094 #define YY_USE_CONST
00095
00096 #else
00097
00098
00099 #if defined (__STDC__)
00100
00101 #define YY_USE_CONST
00102
00103 #endif
00104 #endif
00105
00106 #ifdef YY_USE_CONST
00107 #define yyconst const
00108 #else
00109 #define yyconst
00110 #endif
00111
00112
00113 #define YY_NULL 0
00114
00115
00116
00117
00118
00119
00120 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00121
00122
00123
00124
00125
00126 #define BEGIN (yy_start) = 1 + 2 *
00127
00128
00129
00130
00131
00132 #define YY_START (((yy_start) - 1) / 2)
00133 #define YYSTATE YY_START
00134
00135
00136 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00137
00138
00139 #define YY_NEW_FILE yyrestart(yyin )
00140
00141 #define YY_END_OF_BUFFER_CHAR 0
00142
00143
00144 #ifndef YY_BUF_SIZE
00145 #ifdef __ia64__
00146
00147
00148
00149
00150 #define YY_BUF_SIZE 32768
00151 #else
00152 #define YY_BUF_SIZE 16384
00153 #endif
00154 #endif
00155
00156
00157
00158 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00159
00160 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00161 #define YY_TYPEDEF_YY_BUFFER_STATE
00162 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00163 #endif
00164
00165 extern int yyleng;
00166
00167 extern FILE *yyin, *yyout;
00168
00169 #define EOB_ACT_CONTINUE_SCAN 0
00170 #define EOB_ACT_END_OF_FILE 1
00171 #define EOB_ACT_LAST_MATCH 2
00172
00173 #define YY_LESS_LINENO(n)
00174
00175
00176 #define yyless(n) \
00177 do \
00178 { \
00179 \
00180 int yyless_macro_arg = (n); \
00181 YY_LESS_LINENO(yyless_macro_arg);\
00182 *yy_cp = (yy_hold_char); \
00183 YY_RESTORE_YY_MORE_OFFSET \
00184 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00185 YY_DO_BEFORE_ACTION; \
00186 } \
00187 while ( 0 )
00188
00189 #define unput(c) yyunput( c, (yytext_ptr) )
00190
00191 #ifndef YY_TYPEDEF_YY_SIZE_T
00192 #define YY_TYPEDEF_YY_SIZE_T
00193 typedef size_t yy_size_t;
00194 #endif
00195
00196 #ifndef YY_STRUCT_YY_BUFFER_STATE
00197 #define YY_STRUCT_YY_BUFFER_STATE
00198 struct yy_buffer_state
00199 {
00200 FILE *yy_input_file;
00201
00202 char *yy_ch_buf;
00203 char *yy_buf_pos;
00204
00205
00206
00207
00208 yy_size_t yy_buf_size;
00209
00210
00211
00212
00213 int yy_n_chars;
00214
00215
00216
00217
00218
00219 int yy_is_our_buffer;
00220
00221
00222
00223
00224
00225
00226 int yy_is_interactive;
00227
00228
00229
00230
00231
00232 int yy_at_bol;
00233
00234 int yy_bs_lineno;
00235 int yy_bs_column;
00237
00238
00239
00240 int yy_fill_buffer;
00241
00242 int yy_buffer_status;
00243
00244 #define YY_BUFFER_NEW 0
00245 #define YY_BUFFER_NORMAL 1
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256 #define YY_BUFFER_EOF_PENDING 2
00257
00258 };
00259 #endif
00260
00261
00262 static size_t yy_buffer_stack_top = 0;
00263 static size_t yy_buffer_stack_max = 0;
00264 static YY_BUFFER_STATE * yy_buffer_stack = 0;
00266
00267
00268
00269
00270
00271
00272 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00273 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00274 : NULL)
00275
00276
00277
00278
00279 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00280
00281
00282 static char yy_hold_char;
00283 static int yy_n_chars;
00284 int yyleng;
00285
00286
00287 static char *yy_c_buf_p = (char *) 0;
00288 static int yy_init = 0;
00289 static int yy_start = 0;
00290
00291
00292
00293
00294 static int yy_did_buffer_switch_on_eof;
00295
00296 void yyrestart (FILE *input_file );
00297 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
00298 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
00299 void yy_delete_buffer (YY_BUFFER_STATE b );
00300 void yy_flush_buffer (YY_BUFFER_STATE b );
00301 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
00302 void yypop_buffer_state (void );
00303
00304 static void yyensure_buffer_stack (void );
00305 static void yy_load_buffer_state (void );
00306 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
00307
00308 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00309
00310 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
00311 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
00312 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
00313
00314 void *yyalloc (yy_size_t );
00315 void *yyrealloc (void *,yy_size_t );
00316 void yyfree (void * );
00317
00318 #define yy_new_buffer yy_create_buffer
00319
00320 #define yy_set_interactive(is_interactive) \
00321 { \
00322 if ( ! YY_CURRENT_BUFFER ){ \
00323 yyensure_buffer_stack (); \
00324 YY_CURRENT_BUFFER_LVALUE = \
00325 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00326 } \
00327 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00328 }
00329
00330 #define yy_set_bol(at_bol) \
00331 { \
00332 if ( ! YY_CURRENT_BUFFER ){\
00333 yyensure_buffer_stack (); \
00334 YY_CURRENT_BUFFER_LVALUE = \
00335 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00336 } \
00337 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00338 }
00339
00340 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00341
00342
00343
00344 #define yywrap(n) 1
00345 #define YY_SKIP_YYWRAP
00346
00347 typedef unsigned char YY_CHAR;
00348
00349 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00350
00351 typedef int yy_state_type;
00352
00353 extern int yylineno;
00354
00355 int yylineno = 1;
00356
00357 extern char *yytext;
00358 #define yytext_ptr yytext
00359
00360 static yy_state_type yy_get_previous_state (void );
00361 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
00362 static int yy_get_next_buffer (void );
00363 static void yy_fatal_error (yyconst char msg[] ) __attribute__((noreturn));
00364
00365
00366
00367
00368 #define YY_DO_BEFORE_ACTION \
00369 (yytext_ptr) = yy_bp; \
00370 yyleng = (size_t) (yy_cp - yy_bp); \
00371 (yy_hold_char) = *yy_cp; \
00372 *yy_cp = '\0'; \
00373 (yy_c_buf_p) = yy_cp;
00374
00375 #define YY_NUM_RULES 87
00376 #define YY_END_OF_BUFFER 88
00377
00378
00379 struct yy_trans_info
00380 {
00381 flex_int32_t yy_verify;
00382 flex_int32_t yy_nxt;
00383 };
00384 static yyconst flex_int16_t yy_accept[798] =
00385 { 0,
00386 0, 0, 88, 86, 85, 84, 86, 86, 86, 2,
00387 13, 13, 86, 86, 86, 86, 86, 86, 86, 86,
00388 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
00389 86, 86, 86, 86, 86, 3, 4, 84, 0, 5,
00390 0, 1, 0, 13, 0, 0, 0, 9, 0, 0,
00391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00394 0, 0, 15, 0, 0, 0, 7, 13, 0, 0,
00395 9, 6, 9, 0, 0, 0, 0, 0, 0, 0,
00396
00397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00398 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
00399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00400 0, 0, 0, 0, 0, 0, 14, 0, 7, 13,
00401 0, 0, 0, 9, 9, 0, 0, 0, 0, 0,
00402 0, 0, 22, 23, 0, 0, 16, 0, 0, 0,
00403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00404 0, 0, 71, 0, 0, 0, 0, 0, 0, 0,
00405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00406 0, 11, 0, 12, 0, 7, 0, 13, 0, 0,
00407
00408 9, 9, 0, 9, 9, 0, 0, 0, 0, 0,
00409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00413 0, 0, 0, 7, 0, 0, 0, 9, 9, 9,
00414 9, 9, 0, 0, 0, 0, 0, 0, 0, 0,
00415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00416 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
00417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00418
00419 0, 0, 0, 0, 0, 0, 0, 66, 0, 0,
00420 8, 0, 0, 0, 9, 9, 0, 9, 9, 0,
00421 9, 9, 0, 0, 0, 0, 0, 0, 0, 0,
00422 0, 0, 0, 0, 0, 73, 0, 74, 0, 0,
00423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00424 0, 0, 0, 25, 0, 31, 32, 0, 0, 0,
00425 0, 0, 0, 0, 58, 0, 10, 8, 0, 0,
00426 0, 9, 9, 9, 9, 9, 9, 9, 0, 0,
00427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00429
00430 56, 0, 0, 0, 0, 0, 0, 0, 30, 46,
00431 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
00432 0, 8, 0, 0, 9, 9, 0, 9, 9, 0,
00433 9, 9, 0, 9, 9, 0, 0, 0, 0, 41,
00434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00435 26, 0, 20, 0, 0, 0, 0, 0, 0, 0,
00436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00437 0, 0, 0, 0, 0, 0, 9, 9, 9, 9,
00438 9, 9, 9, 9, 9, 0, 28, 0, 0, 19,
00439 0, 0, 0, 0, 0, 0, 45, 0, 0, 0,
00440
00441 0, 0, 40, 0, 24, 0, 0, 0, 55, 0,
00442 0, 0, 0, 0, 0, 0, 0, 77, 0, 0,
00443 0, 0, 0, 0, 9, 9, 0, 9, 9, 0,
00444 9, 9, 0, 9, 9, 0, 9, 9, 0, 57,
00445 0, 0, 81, 0, 43, 44, 0, 0, 0, 0,
00446 0, 0, 0, 79, 0, 48, 0, 0, 0, 0,
00447 0, 0, 65, 0, 0, 0, 39, 0, 0, 0,
00448 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
00449 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00450 68, 0, 0, 0, 0, 0, 0, 53, 0, 0,
00451
00452 0, 0, 59, 47, 0, 0, 0, 0, 9, 9,
00453 0, 9, 9, 0, 9, 9, 0, 9, 9, 0,
00454 9, 9, 0, 9, 9, 0, 75, 0, 0, 69,
00455 70, 72, 0, 0, 0, 0, 0, 0, 0, 0,
00456 0, 0, 0, 34, 0, 0, 0, 0, 0, 42,
00457 0, 0, 0, 9, 9, 9, 9, 9, 9, 9,
00458 9, 9, 9, 9, 9, 9, 0, 0, 0, 0,
00459 0, 0, 0, 0, 0, 0, 18, 0, 21, 33,
00460 0, 0, 0, 0, 0, 0, 78, 0, 9, 9,
00461 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
00462
00463 9, 9, 9, 0, 0, 82, 0, 0, 0, 0,
00464 0, 54, 80, 0, 0, 35, 0, 0, 0, 0,
00465 0, 0, 9, 9, 9, 9, 9, 9, 9, 9,
00466 9, 0, 0, 0, 51, 0, 0, 49, 0, 0,
00467 0, 0, 0, 0, 0, 9, 9, 9, 9, 9,
00468 9, 9, 9, 83, 76, 27, 0, 0, 0, 0,
00469 0, 0, 0, 63, 0, 9, 0, 50, 0, 0,
00470 0, 0, 64, 61, 0, 0, 0, 0, 0, 0,
00471 52, 0, 0, 0, 60, 0, 0, 0, 37, 62,
00472 0, 38, 0, 0, 0, 36, 0
00473
00474 } ;
00475
00476 static yyconst flex_int32_t yy_ec[256] =
00477 { 0,
00478 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00479 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
00480 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00481 1, 5, 1, 6, 7, 1, 1, 1, 1, 1,
00482 1, 1, 1, 1, 1, 8, 9, 10, 11, 11,
00483 11, 12, 11, 13, 11, 11, 11, 14, 1, 1,
00484 1, 1, 1, 1, 15, 16, 17, 18, 19, 20,
00485 21, 22, 23, 1, 1, 24, 25, 26, 27, 28,
00486 29, 30, 31, 32, 33, 34, 35, 1, 1, 1,
00487 1, 1, 1, 1, 1, 1, 36, 37, 38, 39,
00488
00489 40, 41, 42, 43, 44, 1, 45, 46, 47, 48,
00490 49, 50, 1, 51, 52, 53, 54, 55, 56, 57,
00491 58, 1, 59, 1, 60, 1, 1, 1, 1, 1,
00492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00495 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00499
00500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00505 1, 1, 1, 1, 1
00506 } ;
00507
00508 static yyconst flex_int32_t yy_meta[61] =
00509 { 0,
00510 1, 1, 1, 1, 1, 1, 1, 2, 1, 3,
00511 3, 3, 3, 4, 3, 3, 3, 3, 3, 3,
00512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00513 1, 1, 1, 1, 1, 3, 3, 3, 3, 3,
00514 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00515 1, 1, 1, 1, 1, 1, 5, 1, 1, 1
00516 } ;
00517
00518 static yyconst flex_int16_t yy_base[944] =
00519 { 0,
00520 0, 0, 1108, 1109, 1109, 1109, 1104, 1100, 1102, 1109,
00521 53, 60, 1090, 61, 30, 31, 40, 55, 39, 54,
00522 46, 56, 72, 1057, 47, 1049, 52, 73, 1049, 79,
00523 35, 74, 1051, 84, 1059, 1109, 1109, 1109, 1092, 1109,
00524 1094, 1109, 114, 121, 1082, 129, 0, 0, 1049, 1041,
00525 1053, 130, 1076, 1045, 1054, 1037, 1036, 1032, 1033, 118,
00526 1037, 103, 96, 103, 1045, 1032, 1029, 1028, 1042, 1027,
00527 1050, 1031, 117, 1040, 1037, 124, 1022, 1033, 1028, 1025,
00528 1017, 147, 1021, 1065, 114, 1015, 152, 160, 161, 1052,
00529 0, 0, 1051, 1015, 1014, 1026, 168, 1036, 1014, 166,
00530
00531 1006, 1005, 168, 1017, 1040, 1015, 1037, 1008, 1013, 1006,
00532 1002, 1032, 123, 1016, 1007, 1029, 1013, 1109, 1027, 992,
00533 1006, 995, 989, 1003, 987, 1014, 988, 995, 998, 999,
00534 161, 990, 985, 981, 176, 989, 1109, 181, 191, 197,
00535 1014, 1013, 1012, 1011, 1010, 0, 967, 1004, 970, 978,
00536 979, 969, 1109, 1109, 969, 980, 1109, 154, 190, 188,
00537 964, 963, 962, 963, 982, 982, 989, 985, 958, 958,
00538 969, 987, 1109, 954, 959, 958, 972, 948, 947, 948,
00539 959, 942, 944, 940, 953, 945, 954, 931, 944, 944,
00540 942, 1109, 163, 1109, 215, 221, 185, 227, 971, 970,
00541
00542 0, 969, 0, 968, 967, 954, 939, 947, 953, 923,
00543 125, 922, 928, 935, 929, 920, 916, 918, 914, 916,
00544 925, 916, 912, 915, 908, 915, 916, 909, 910, 904,
00545 910, 921, 899, 902, 910, 902, 914, 913, 895, 901,
00546 925, 915, 904, 889, 898, 895, 888, 895, 885, 889,
00547 890, 231, 237, 241, 921, 920, 919, 918, 917, 916,
00548 915, 914, 0, 878, 873, 887, 884, 872, 874, 885,
00549 880, 875, 882, 866, 867, 869, 876, 867, 874, 875,
00550 874, 865, 860, 871, 852, 859, 1109, 856, 863, 858,
00551 869, 860, 859, 846, 846, 849, 842, 845, 853, 856,
00552
00553 842, 839, 841, 849, 833, 833, 832, 1109, 842, 830,
00554 245, 874, 867, 866, 0, 865, 0, 864, 863, 0,
00555 862, 861, 851, 833, 821, 816, 826, 816, 822, 816,
00556 827, 819, 192, 828, 810, 1109, 809, 1109, 823, 821,
00557 810, 818, 811, 814, 815, 814, 802, 813, 807, 799,
00558 797, 820, 794, 1109, 806, 1109, 241, 792, 790, 788,
00559 803, 797, 800, 799, 1109, 790, 1109, 250, 823, 822,
00560 821, 820, 819, 818, 817, 816, 815, 814, 0, 779,
00561 788, 785, 784, 785, 782, 777, 765, 775, 774, 773,
00562 767, 776, 770, 769, 772, 773, 762, 771, 764, 763,
00563
00564 1109, 768, 750, 760, 756, 766, 758, 751, 1109, 1109,
00565 759, 747, 743, 756, 742, 758, 757, 739, 1109, 740,
00566 750, 1109, 775, 774, 0, 773, 0, 772, 771, 0,
00567 770, 769, 0, 768, 767, 727, 726, 738, 731, 1109,
00568 725, 736, 738, 720, 724, 729, 714, 731, 730, 729,
00569 748, 729, 1109, 711, 710, 714, 708, 724, 706, 718,
00570 715, 707, 709, 713, 709, 704, 695, 710, 703, 700,
00571 689, 706, 693, 730, 729, 728, 727, 726, 725, 724,
00572 723, 722, 721, 720, 719, 0, 1109, 715, 683, 1109,
00573 675, 685, 682, 669, 684, 682, 1109, 688, 687, 686,
00574
00575 681, 668, 1109, 661, 1109, 674, 671, 658, 1109, 675,
00576 668, 667, 676, 662, 662, 673, 656, 1109, 669, 674,
00577 653, 652, 689, 688, 0, 687, 0, 686, 685, 0,
00578 684, 683, 0, 682, 681, 0, 680, 679, 649, 1109,
00579 655, 637, 1109, 657, 1109, 1109, 636, 635, 634, 644,
00580 631, 250, 634, 1109, 650, 1109, 642, 657, 625, 627,
00581 637, 618, 1109, 617, 630, 629, 1109, 658, 657, 656,
00582 655, 654, 653, 652, 651, 650, 649, 648, 647, 646,
00583 645, 0, 622, 611, 598, 611, 601, 600, 599, 615,
00584 1109, 178, 606, 609, 594, 599, 602, 1109, 597, 598,
00585
00586 599, 596, 249, 1109, 594, 588, 625, 624, 0, 623,
00587 0, 622, 621, 0, 620, 619, 0, 618, 617, 0,
00588 616, 615, 0, 614, 613, 578, 1109, 593, 577, 1109,
00589 1109, 1109, 569, 578, 579, 568, 564, 572, 565, 569,
00590 562, 561, 560, 584, 565, 559, 12, 33, 58, 1109,
00591 99, 136, 204, 0, 216, 0, 222, 0, 232, 0,
00592 252, 0, 253, 0, 254, 257, 0, 230, 232, 238,
00593 233, 233, 234, 241, 245, 233, 1109, 247, 1109, 261,
00594 232, 240, 246, 253, 254, 249, 1109, 282, 0, 1109,
00595 0, 283, 0, 284, 0, 285, 0, 286, 0, 287,
00596
00597 0, 288, 0, 263, 257, 1109, 252, 264, 256, 289,
00598 263, 1109, 1109, 264, 260, 1109, 268, 264, 273, 275,
00599 272, 303, 0, 0, 0, 0, 0, 0, 0, 304,
00600 0, 267, 280, 269, 1109, 278, 265, 1109, 272, 281,
00601 277, 271, 284, 290, 282, 0, 1109, 1109, 1109, 1109,
00602 1109, 1109, 0, 1109, 1109, 1109, 278, 292, 282, 285,
00603 284, 310, 280, 1109, 293, 1109, 296, 1109, 312, 290,
00604 298, 328, 1109, 318, 298, 295, 303, 295, 317, 335,
00605 1109, 307, 299, 295, 1109, 322, 306, 298, 1109, 1109,
00606 306, 1109, 314, 306, 302, 1109, 1109, 360, 365, 369,
00607
00608 373, 375, 377, 378, 380, 382, 384, 385, 387, 389,
00609 391, 393, 395, 396, 398, 400, 401, 403, 404, 406,
00610 408, 410, 412, 414, 416, 418, 420, 421, 423, 425,
00611 426, 428, 429, 431, 432, 434, 436, 438, 440, 442,
00612 444, 446, 448, 450, 452, 453, 455, 457, 458, 460,
00613 461, 463, 464, 466, 467, 469, 471, 473, 475, 477,
00614 479, 481, 483, 485, 487, 489, 491, 492, 494, 496,
00615 497, 499, 500, 502, 503, 505, 506, 508, 509, 511,
00616 513, 515, 517, 519, 521, 523, 525, 527, 529, 531,
00617 533, 535, 537, 538, 540, 542, 543, 545, 546, 548,
00618
00619 549, 551, 552, 554, 555, 557, 558, 560, 562, 564,
00620 566, 567, 569, 570, 572, 573, 575, 576, 578, 579,
00621 581, 582, 584, 585, 587, 588, 589, 590, 591, 592,
00622 593, 594, 596, 597, 598, 599, 600, 601, 602, 603,
00623 604, 605, 606
00624 } ;
00625
00626 static yyconst flex_int16_t yy_def[944] =
00627 { 0,
00628 797, 1, 797, 797, 797, 797, 797, 798, 799, 797,
00629 800, 800, 797, 800, 14, 14, 14, 14, 797, 797,
00630 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00631 14, 14, 797, 797, 797, 797, 797, 797, 798, 797,
00632 799, 797, 797, 801, 802, 801, 803, 804, 797, 797,
00633 797, 801, 797, 797, 797, 797, 797, 797, 797, 797,
00634 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00635 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00636 797, 801, 797, 799, 797, 797, 797, 805, 805, 806,
00637 807, 803, 808, 797, 797, 797, 805, 797, 797, 797,
00638
00639 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00640 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00641 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00642 797, 797, 797, 797, 805, 797, 797, 797, 797, 797,
00643 797, 809, 810, 811, 812, 813, 797, 797, 797, 797,
00644 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00645 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00646 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00647 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00648 797, 797, 797, 797, 797, 797, 797, 797, 814, 815,
00649
00650 816, 817, 818, 819, 820, 797, 797, 797, 797, 797,
00651 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00652 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00653 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00654 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00655 797, 797, 797, 797, 797, 821, 822, 823, 824, 825,
00656 797, 826, 827, 797, 797, 797, 797, 797, 797, 797,
00657 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00658 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00659 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00660
00661 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00662 797, 797, 828, 829, 830, 831, 832, 797, 833, 834,
00663 835, 836, 797, 797, 797, 797, 797, 797, 797, 797,
00664 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00665 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00666 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00667 797, 797, 797, 797, 797, 797, 797, 797, 797, 837,
00668 838, 839, 840, 841, 842, 843, 797, 844, 845, 797,
00669 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00670 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00671
00672 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00673 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00674 797, 797, 846, 847, 848, 849, 850, 797, 851, 852,
00675 797, 853, 854, 855, 856, 797, 797, 797, 797, 797,
00676 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00677 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00678 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00679 797, 797, 797, 797, 857, 858, 859, 860, 861, 862,
00680 863, 864, 865, 797, 866, 867, 797, 797, 797, 797,
00681 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00682
00683 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00684 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00685 797, 797, 868, 869, 870, 871, 872, 797, 873, 874,
00686 797, 875, 876, 797, 877, 878, 879, 880, 797, 797,
00687 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00688 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00689 797, 797, 797, 797, 797, 797, 797, 797, 881, 882,
00690 883, 884, 885, 886, 887, 888, 889, 890, 891, 797,
00691 892, 893, 797, 797, 797, 797, 797, 797, 797, 797,
00692 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00693
00694 797, 797, 797, 797, 797, 797, 894, 895, 896, 897,
00695 898, 797, 899, 900, 797, 901, 902, 797, 903, 904,
00696 797, 905, 906, 907, 908, 797, 797, 797, 797, 797,
00697 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00698 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00699 797, 909, 910, 911, 912, 913, 914, 915, 916, 917,
00700 918, 919, 920, 921, 797, 922, 923, 797, 797, 797,
00701 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00702 797, 797, 797, 797, 797, 797, 797, 924, 925, 797,
00703 926, 797, 927, 797, 928, 797, 929, 797, 930, 797,
00704
00705 931, 932, 933, 797, 797, 797, 797, 797, 797, 797,
00706 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00707 797, 797, 934, 935, 936, 937, 938, 939, 940, 797,
00708 941, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00709 797, 797, 797, 797, 797, 942, 797, 797, 797, 797,
00710 797, 797, 943, 797, 797, 797, 797, 797, 797, 797,
00711 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00712 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00713 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00714 797, 797, 797, 797, 797, 797, 0, 797, 797, 797,
00715
00716 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00717 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00718 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00719 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00720 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00721 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00722 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00723 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00724 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00725 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00726
00727 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00728 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00729 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00730 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00731 797, 797, 797
00732 } ;
00733
00734 static yyconst flex_int16_t yy_nxt[1170] =
00735 { 0,
00736 4, 5, 6, 7, 5, 8, 9, 4, 10, 11,
00737 12, 12, 12, 13, 14, 15, 16, 17, 15, 18,
00738 4, 19, 20, 21, 22, 23, 24, 25, 4, 26,
00739 27, 28, 29, 4, 30, 31, 15, 15, 32, 15,
00740 15, 4, 4, 4, 4, 4, 4, 33, 4, 4,
00741 4, 34, 4, 4, 4, 4, 4, 35, 36, 37,
00742 43, 685, 44, 44, 44, 44, 45, 43, 797, 44,
00743 44, 44, 44, 45, 45, 797, 51, 53, 54, 52,
00744 797, 58, 686, 797, 797, 797, 55, 56, 81, 61,
00745 84, 63, 71, 797, 62, 72, 57, 687, 74, 64,
00746
00747 797, 59, 75, 60, 65, 66, 49, 67, 797, 47,
00748 76, 68, 570, 82, 50, 69, 797, 797, 79, 797,
00749 84, 77, 80, 87, 87, 87, 87, 797, 43, 105,
00750 88, 88, 88, 88, 45, 85, 797, 797, 109, 111,
00751 110, 113, 45, 45, 123, 170, 127, 269, 124, 653,
00752 114, 106, 112, 128, 797, 107, 171, 129, 270, 138,
00753 45, 139, 139, 139, 139, 85, 97, 43, 797, 140,
00754 140, 140, 140, 45, 45, 797, 45, 153, 154, 159,
00755 160, 45, 188, 797, 214, 215, 189, 135, 155, 45,
00756 195, 195, 195, 195, 254, 254, 254, 254, 138, 156,
00757
00758 196, 196, 196, 196, 197, 216, 198, 198, 198, 198,
00759 45, 193, 219, 390, 217, 391, 251, 690, 220, 634,
00760 218, 150, 252, 635, 253, 253, 253, 253, 138, 611,
00761 254, 254, 254, 254, 197, 614, 198, 198, 198, 198,
00762 311, 311, 311, 311, 252, 617, 312, 312, 312, 312,
00763 254, 254, 254, 254, 368, 368, 368, 368, 411, 422,
00764 422, 422, 422, 645, 592, 620, 623, 582, 412, 593,
00765 667, 704, 413, 594, 595, 705, 646, 706, 707, 647,
00766 708, 648, 709, 710, 711, 712, 713, 714, 715, 716,
00767 717, 718, 719, 720, 721, 653, 611, 614, 617, 620,
00768
00769 623, 667, 732, 733, 734, 735, 736, 737, 738, 739,
00770 740, 741, 742, 743, 744, 745, 653, 667, 754, 755,
00771 756, 757, 758, 759, 760, 761, 762, 763, 764, 765,
00772 767, 768, 769, 770, 771, 772, 773, 774, 775, 776,
00773 777, 778, 779, 780, 781, 782, 783, 784, 785, 786,
00774 787, 788, 789, 790, 791, 792, 793, 794, 795, 796,
00775 39, 39, 39, 39, 39, 41, 41, 41, 41, 41,
00776 46, 46, 46, 46, 89, 89, 89, 90, 90, 92,
00777 93, 141, 141, 141, 142, 142, 144, 145, 145, 199,
00778 199, 200, 200, 202, 202, 204, 204, 205, 255, 255,
00779
00780 256, 256, 258, 259, 259, 260, 261, 261, 262, 262,
00781 313, 313, 314, 314, 316, 316, 318, 318, 319, 319,
00782 321, 321, 322, 369, 369, 370, 370, 372, 373, 373,
00783 374, 375, 375, 376, 377, 377, 378, 378, 423, 423,
00784 424, 424, 426, 426, 428, 428, 429, 429, 431, 431,
00785 432, 432, 434, 434, 435, 474, 474, 475, 475, 477,
00786 478, 478, 479, 480, 480, 481, 482, 482, 483, 484,
00787 484, 485, 485, 523, 523, 524, 524, 526, 526, 528,
00788 528, 529, 529, 531, 531, 532, 532, 534, 534, 535,
00789 535, 537, 537, 538, 568, 568, 569, 569, 571, 572,
00790
00791 572, 573, 574, 574, 575, 576, 576, 577, 578, 578,
00792 579, 580, 580, 581, 581, 607, 607, 608, 608, 610,
00793 610, 612, 612, 613, 613, 615, 615, 616, 616, 618,
00794 618, 619, 619, 621, 621, 622, 622, 624, 624, 625,
00795 651, 651, 652, 652, 654, 655, 655, 656, 657, 657,
00796 658, 659, 659, 660, 661, 661, 662, 663, 663, 664,
00797 665, 665, 666, 666, 688, 688, 689, 689, 691, 692,
00798 692, 693, 694, 694, 695, 696, 696, 697, 698, 698,
00799 699, 700, 700, 701, 702, 702, 703, 722, 722, 723,
00800 724, 725, 726, 727, 728, 729, 730, 730, 731, 746,
00801
00802 747, 748, 749, 750, 751, 752, 753, 690, 766, 684,
00803 683, 682, 681, 680, 679, 678, 677, 676, 675, 674,
00804 673, 672, 671, 670, 669, 668, 667, 582, 623, 536,
00805 620, 533, 617, 530, 614, 527, 611, 653, 570, 650,
00806 649, 644, 643, 642, 641, 640, 639, 638, 637, 636,
00807 633, 632, 631, 630, 629, 628, 627, 626, 582, 486,
00808 623, 536, 620, 533, 617, 530, 614, 527, 611, 609,
00809 570, 476, 606, 605, 604, 603, 602, 601, 600, 599,
00810 598, 597, 596, 591, 590, 589, 588, 587, 586, 585,
00811 584, 583, 582, 486, 536, 433, 533, 430, 530, 427,
00812
00813 527, 570, 476, 567, 566, 565, 564, 563, 562, 561,
00814 560, 559, 558, 557, 556, 555, 554, 553, 552, 551,
00815 550, 549, 548, 547, 546, 545, 544, 543, 542, 541,
00816 540, 539, 486, 379, 536, 433, 533, 430, 530, 427,
00817 527, 525, 476, 371, 522, 521, 520, 519, 518, 517,
00818 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
00819 506, 505, 504, 503, 502, 501, 500, 499, 498, 497,
00820 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
00821 486, 379, 433, 320, 430, 317, 427, 476, 371, 473,
00822 472, 471, 470, 469, 468, 467, 466, 465, 464, 463,
00823
00824 462, 461, 460, 459, 458, 457, 456, 455, 454, 453,
00825 452, 451, 450, 449, 448, 447, 446, 445, 444, 443,
00826 442, 441, 440, 439, 438, 437, 436, 379, 263, 433,
00827 320, 430, 317, 427, 425, 371, 257, 421, 420, 419,
00828 418, 417, 416, 415, 414, 410, 409, 408, 407, 406,
00829 405, 404, 403, 402, 401, 400, 399, 398, 397, 396,
00830 395, 394, 393, 392, 389, 388, 387, 386, 385, 384,
00831 383, 382, 381, 380, 379, 263, 320, 203, 317, 371,
00832 257, 252, 367, 366, 365, 364, 363, 362, 361, 360,
00833 359, 358, 357, 356, 355, 354, 353, 352, 351, 350,
00834
00835 349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
00836 339, 338, 337, 336, 335, 334, 333, 332, 331, 330,
00837 329, 328, 327, 326, 325, 324, 323, 263, 146, 320,
00838 203, 317, 315, 257, 143, 310, 309, 308, 307, 306,
00839 305, 304, 303, 302, 301, 300, 299, 298, 297, 296,
00840 295, 294, 293, 292, 291, 290, 289, 288, 287, 286,
00841 285, 284, 283, 282, 281, 280, 279, 278, 277, 276,
00842 275, 274, 273, 272, 271, 268, 267, 266, 265, 264,
00843 263, 146, 203, 257, 143, 250, 249, 248, 247, 246,
00844 245, 244, 243, 242, 241, 240, 239, 238, 237, 236,
00845
00846 235, 234, 233, 232, 231, 230, 229, 228, 227, 226,
00847 225, 224, 223, 222, 221, 213, 212, 211, 210, 209,
00848 208, 207, 206, 146, 203, 201, 143, 45, 194, 192,
00849 191, 190, 187, 186, 185, 184, 183, 182, 181, 180,
00850 179, 178, 177, 176, 175, 174, 173, 172, 169, 168,
00851 167, 166, 165, 164, 163, 162, 161, 158, 157, 152,
00852 151, 149, 148, 147, 146, 143, 137, 42, 136, 134,
00853 133, 132, 131, 130, 126, 125, 122, 121, 120, 119,
00854 118, 117, 116, 115, 108, 104, 103, 102, 101, 100,
00855 99, 98, 96, 95, 94, 91, 42, 40, 86, 83,
00856
00857 78, 73, 70, 48, 42, 40, 38, 797, 3, 797,
00858 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00859 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00860 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00861 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00862 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00863 797, 797, 797, 797, 797, 797, 797, 797, 797
00864 } ;
00865
00866 static yyconst flex_int16_t yy_chk[1170] =
00867 { 0,
00868 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00869 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00870 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00871 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00872 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00873 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00874 11, 647, 11, 11, 11, 11, 11, 12, 14, 12,
00875 12, 12, 12, 12, 14, 15, 16, 18, 19, 17,
00876 31, 20, 648, 15, 16, 17, 19, 19, 31, 21,
00877 34, 22, 25, 17, 21, 25, 19, 649, 27, 22,
00878
00879 18, 20, 27, 20, 22, 22, 14, 23, 18, 11,
00880 28, 23, 651, 32, 14, 23, 12, 14, 30, 32,
00881 85, 28, 30, 43, 43, 43, 43, 32, 44, 60,
00882 44, 44, 44, 44, 44, 34, 46, 52, 62, 63,
00883 62, 64, 46, 52, 73, 113, 76, 211, 73, 652,
00884 64, 60, 63, 76, 82, 60, 113, 76, 211, 87,
00885 82, 87, 87, 87, 87, 85, 52, 88, 89, 88,
00886 88, 88, 88, 88, 89, 97, 193, 100, 100, 103,
00887 103, 97, 131, 135, 158, 158, 131, 82, 100, 135,
00888 138, 138, 138, 138, 197, 197, 197, 197, 139, 100,
00889
00890 139, 139, 139, 139, 140, 159, 140, 140, 140, 140,
00891 140, 135, 160, 333, 159, 333, 193, 653, 160, 592,
00892 159, 97, 195, 592, 195, 195, 195, 195, 196, 655,
00893 196, 196, 196, 196, 198, 657, 198, 198, 198, 198,
00894 252, 252, 252, 252, 253, 659, 253, 253, 253, 253,
00895 254, 254, 254, 254, 311, 311, 311, 311, 357, 368,
00896 368, 368, 368, 603, 552, 661, 663, 665, 357, 552,
00897 666, 668, 357, 552, 552, 669, 603, 670, 671, 603,
00898 672, 603, 673, 674, 675, 676, 678, 680, 680, 681,
00899 682, 683, 684, 685, 686, 688, 692, 694, 696, 698,
00900
00901 700, 702, 704, 705, 707, 708, 709, 710, 711, 714,
00902 715, 717, 718, 719, 720, 721, 722, 730, 732, 733,
00903 734, 736, 737, 739, 740, 741, 742, 743, 744, 745,
00904 757, 758, 759, 760, 761, 762, 763, 765, 767, 769,
00905 770, 771, 772, 774, 775, 776, 777, 778, 779, 780,
00906 782, 783, 784, 786, 787, 788, 791, 793, 794, 795,
00907 798, 798, 798, 798, 798, 799, 799, 799, 799, 799,
00908 800, 800, 800, 800, 801, 801, 801, 802, 802, 803,
00909 804, 805, 805, 805, 806, 806, 807, 808, 808, 809,
00910 809, 810, 810, 811, 811, 812, 812, 813, 814, 814,
00911
00912 815, 815, 816, 817, 817, 818, 819, 819, 820, 820,
00913 821, 821, 822, 822, 823, 823, 824, 824, 825, 825,
00914 826, 826, 827, 828, 828, 829, 829, 830, 831, 831,
00915 832, 833, 833, 834, 835, 835, 836, 836, 837, 837,
00916 838, 838, 839, 839, 840, 840, 841, 841, 842, 842,
00917 843, 843, 844, 844, 845, 846, 846, 847, 847, 848,
00918 849, 849, 850, 851, 851, 852, 853, 853, 854, 855,
00919 855, 856, 856, 857, 857, 858, 858, 859, 859, 860,
00920 860, 861, 861, 862, 862, 863, 863, 864, 864, 865,
00921 865, 866, 866, 867, 868, 868, 869, 869, 870, 871,
00922
00923 871, 872, 873, 873, 874, 875, 875, 876, 877, 877,
00924 878, 879, 879, 880, 880, 881, 881, 882, 882, 883,
00925 883, 884, 884, 885, 885, 886, 886, 887, 887, 888,
00926 888, 889, 889, 890, 890, 891, 891, 892, 892, 893,
00927 894, 894, 895, 895, 896, 897, 897, 898, 899, 899,
00928 900, 901, 901, 902, 903, 903, 904, 905, 905, 906,
00929 907, 907, 908, 908, 909, 909, 910, 910, 911, 912,
00930 912, 913, 914, 914, 915, 916, 916, 917, 918, 918,
00931 919, 920, 920, 921, 922, 922, 923, 924, 924, 925,
00932 926, 927, 928, 929, 930, 931, 932, 932, 933, 934,
00933
00934 935, 936, 937, 938, 939, 940, 941, 942, 943, 646,
00935 645, 644, 643, 642, 641, 640, 639, 638, 637, 636,
00936 635, 634, 633, 629, 628, 626, 625, 624, 622, 621,
00937 619, 618, 616, 615, 613, 612, 610, 608, 607, 606,
00938 605, 602, 601, 600, 599, 597, 596, 595, 594, 593,
00939 590, 589, 588, 587, 586, 585, 584, 583, 581, 580,
00940 579, 578, 577, 576, 575, 574, 573, 572, 571, 570,
00941 569, 568, 566, 565, 564, 562, 561, 560, 559, 558,
00942 557, 555, 553, 551, 550, 549, 548, 547, 544, 542,
00943 541, 539, 538, 537, 535, 534, 532, 531, 529, 528,
00944
00945 526, 524, 523, 522, 521, 520, 519, 517, 516, 515,
00946 514, 513, 512, 511, 510, 508, 507, 506, 504, 502,
00947 501, 500, 499, 498, 496, 495, 494, 493, 492, 491,
00948 489, 488, 485, 484, 483, 482, 481, 480, 479, 478,
00949 477, 476, 475, 474, 473, 472, 471, 470, 469, 468,
00950 467, 466, 465, 464, 463, 462, 461, 460, 459, 458,
00951 457, 456, 455, 454, 452, 451, 450, 449, 448, 447,
00952 446, 445, 444, 443, 442, 441, 439, 438, 437, 436,
00953 435, 434, 432, 431, 429, 428, 426, 424, 423, 421,
00954 420, 418, 417, 416, 415, 414, 413, 412, 411, 408,
00955
00956 407, 406, 405, 404, 403, 402, 400, 399, 398, 397,
00957 396, 395, 394, 393, 392, 391, 390, 389, 388, 387,
00958 386, 385, 384, 383, 382, 381, 380, 378, 377, 376,
00959 375, 374, 373, 372, 371, 370, 369, 366, 364, 363,
00960 362, 361, 360, 359, 358, 355, 353, 352, 351, 350,
00961 349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
00962 339, 337, 335, 334, 332, 331, 330, 329, 328, 327,
00963 326, 325, 324, 323, 322, 321, 319, 318, 316, 314,
00964 313, 312, 310, 309, 307, 306, 305, 304, 303, 302,
00965 301, 300, 299, 298, 297, 296, 295, 294, 293, 292,
00966
00967 291, 290, 289, 288, 286, 285, 284, 283, 282, 281,
00968 280, 279, 278, 277, 276, 275, 274, 273, 272, 271,
00969 270, 269, 268, 267, 266, 265, 264, 262, 261, 260,
00970 259, 258, 257, 256, 255, 251, 250, 249, 248, 247,
00971 246, 245, 244, 243, 242, 241, 240, 239, 238, 237,
00972 236, 235, 234, 233, 232, 231, 230, 229, 228, 227,
00973 226, 225, 224, 223, 222, 221, 220, 219, 218, 217,
00974 216, 215, 214, 213, 212, 210, 209, 208, 207, 206,
00975 205, 204, 202, 200, 199, 191, 190, 189, 188, 187,
00976 186, 185, 184, 183, 182, 181, 180, 179, 178, 177,
00977
00978 176, 175, 174, 172, 171, 170, 169, 168, 167, 166,
00979 165, 164, 163, 162, 161, 156, 155, 152, 151, 150,
00980 149, 148, 147, 145, 144, 143, 142, 141, 136, 134,
00981 133, 132, 130, 129, 128, 127, 126, 125, 124, 123,
00982 122, 121, 120, 119, 117, 116, 115, 114, 112, 111,
00983 110, 109, 108, 107, 106, 105, 104, 102, 101, 99,
00984 98, 96, 95, 94, 93, 90, 86, 84, 83, 81,
00985 80, 79, 78, 77, 75, 74, 72, 71, 70, 69,
00986 68, 67, 66, 65, 61, 59, 58, 57, 56, 55,
00987 54, 53, 51, 50, 49, 45, 41, 39, 35, 33,
00988
00989 29, 26, 24, 13, 9, 8, 7, 3, 797, 797,
00990 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00991 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00992 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00993 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00994 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
00995 797, 797, 797, 797, 797, 797, 797, 797, 797
00996 } ;
00997
00998 static yy_state_type yy_last_accepting_state;
00999 static char *yy_last_accepting_cpos;
01000
01001 extern int yy_flex_debug;
01002 int yy_flex_debug = 0;
01003
01004
01005
01006
01007 #define REJECT reject_used_but_not_detected
01008 #define yymore() yymore_used_but_not_detected
01009 #define YY_MORE_ADJ 0
01010 #define YY_RESTORE_YY_MORE_OFFSET
01011 char *yytext;
01012 #line 1 "src/cfgparser/oscan.lex"
01013 #line 2 "src/cfgparser/oscan.lex"
01014
01015
01016
01017
01018
01019
01020
01021
01022
01023
01024
01025
01026
01027
01028
01029
01030
01031
01032
01033
01034
01035
01036
01037
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047
01048
01049
01050
01051
01052
01053
01054
01055
01056 #define YYSTYPE struct conf_token *
01057
01058 #include <stdio.h>
01059 #include <stdlib.h>
01060 #include <string.h>
01061 #include <sys/types.h>
01062 #include <sys/socket.h>
01063 #include <netinet/in.h>
01064 #include <arpa/inet.h>
01065
01066 #include "olsrd_conf.h"
01067
01068 #include "oparse.h"
01069
01070 #define ECHO if(fwrite( yytext, yyleng, 1, yyout )) {}
01071
01072
01073 int yyget_lineno(void);
01074 FILE * yyget_in(void);
01075 FILE* yyget_out(void);
01076 char *yyget_text(void);
01077 void yyset_lineno(int);
01078 void yyset_in(FILE *);
01079 void yyset_out(FILE *);
01080 int yyget_debug(void);
01081 void yyset_debug(int);
01082 int yylex_destroy(void);
01083 int yylex(void);
01084
01085 static struct conf_token *get_conf_token(void);
01086 static struct conf_token *get_string_token(const char * const s, const size_t n);
01087 static struct conf_token *get_integer_token(const char * const s);
01088 static struct conf_token *get_floating_token(const char * const s);
01089 static struct conf_token *get_boolean_token(const bool b);
01090
01091 static struct conf_token *get_conf_token(void)
01092 {
01093 struct conf_token *t = calloc(1, sizeof(struct conf_token));
01094 if (t == NULL) {
01095 fprintf(stderr, "Cannot allocate %d bytes for an configuration token.\n", (int)sizeof(struct conf_token));
01096 }
01097 return t;
01098 }
01099
01100 static struct conf_token *get_string_token(const char * const s, const size_t n)
01101 {
01102 struct conf_token *rv = get_conf_token();
01103 if (rv != NULL) {
01104 rv->string = malloc(n + 1);
01105 if (rv->string == NULL) {
01106 fprintf(stderr, "Cannot allocate %lu bytes for string token data.\n", (unsigned long)(n+1));
01107 free(rv);
01108 return NULL;
01109 }
01110 memcpy(rv->string, s, n);
01111 rv->string[n] = '\0';
01112 }
01113 return rv;
01114 }
01115
01116 static struct conf_token *get_integer_token(const char * const s)
01117 {
01118 struct conf_token *rv = get_conf_token();
01119 if (rv != NULL) {
01120 rv->integer = strtol(s, NULL, 0);
01121 }
01122 return rv;
01123 }
01124
01125 static struct conf_token *get_floating_token(const char * const s)
01126 {
01127 struct conf_token *rv = get_conf_token();
01128 if (rv != NULL) {
01129 rv->floating = 0.0;
01130 sscanf(s, "%f", &rv->floating);
01131 }
01132 return rv;
01133 }
01134
01135 static struct conf_token *get_boolean_token(const bool b)
01136 {
01137 struct conf_token *rv = get_conf_token();
01138 if (rv != NULL) {
01139 rv->boolean = b;
01140 }
01141 return rv;
01142 }
01143
01144 #line 1145 "src/cfgparser/oscan.c"
01145
01146 #define INITIAL 0
01147
01148 #ifndef YY_NO_UNISTD_H
01149
01150
01151
01152
01153 #include <unistd.h>
01154 #endif
01155
01156 #ifndef YY_EXTRA_TYPE
01157 #define YY_EXTRA_TYPE void *
01158 #endif
01159
01160 static int yy_init_globals (void );
01161
01162
01163
01164
01165 int yylex_destroy (void );
01166
01167 int yyget_debug (void );
01168
01169 void yyset_debug (int debug_flag );
01170
01171 YY_EXTRA_TYPE yyget_extra (void );
01172
01173 void yyset_extra (YY_EXTRA_TYPE user_defined );
01174
01175 FILE *yyget_in (void );
01176
01177 void yyset_in (FILE * in_str );
01178
01179 FILE *yyget_out (void );
01180
01181 void yyset_out (FILE * out_str );
01182
01183 int yyget_leng (void );
01184
01185 char *yyget_text (void );
01186
01187 int yyget_lineno (void );
01188
01189 void yyset_lineno (int line_number );
01190
01191
01192
01193
01194
01195 #ifndef YY_SKIP_YYWRAP
01196 #ifdef __cplusplus
01197 extern "C" int yywrap (void );
01198 #else
01199 extern int yywrap (void );
01200 #endif
01201 #endif
01202
01203 static void yyunput (int c,char *buf_ptr );
01204
01205 #ifndef yytext_ptr
01206 static void yy_flex_strncpy (char *,yyconst char *,int );
01207 #endif
01208
01209 #ifdef YY_NEED_STRLEN
01210 static int yy_flex_strlen (yyconst char * );
01211 #endif
01212
01213 #ifndef YY_NO_INPUT
01214
01215 #ifdef __cplusplus
01216 static int yyinput (void );
01217 #else
01218 static int input (void );
01219 #endif
01220
01221 #endif
01222
01223
01224 #ifndef YY_READ_BUF_SIZE
01225 #ifdef __ia64__
01226
01227 #define YY_READ_BUF_SIZE 16384
01228 #else
01229 #define YY_READ_BUF_SIZE 8192
01230 #endif
01231 #endif
01232
01233
01234 #ifndef ECHO
01235
01236
01237
01238 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
01239 #endif
01240
01241
01242
01243
01244 #ifndef YY_INPUT
01245 #define YY_INPUT(buf,result,max_size) \
01246 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
01247 { \
01248 int c = '*'; \
01249 size_t n; \
01250 for ( n = 0; n < max_size && \
01251 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
01252 buf[n] = (char) c; \
01253 if ( c == '\n' ) \
01254 buf[n++] = (char) c; \
01255 if ( c == EOF && ferror( yyin ) ) \
01256 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01257 result = n; \
01258 } \
01259 else \
01260 { \
01261 errno=0; \
01262 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
01263 { \
01264 if( errno != EINTR) \
01265 { \
01266 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01267 break; \
01268 } \
01269 errno=0; \
01270 clearerr(yyin); \
01271 } \
01272 }\
01273 \
01274
01275 #endif
01276
01277
01278
01279
01280
01281 #ifndef yyterminate
01282 #define yyterminate() return YY_NULL
01283 #endif
01284
01285
01286 #ifndef YY_START_STACK_INCR
01287 #define YY_START_STACK_INCR 25
01288 #endif
01289
01290
01291 #ifndef YY_FATAL_ERROR
01292 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
01293 #endif
01294
01295
01296
01297
01298
01299
01300 #ifndef YY_DECL
01301 #define YY_DECL_IS_OURS 1
01302
01303 extern int yylex (void);
01304
01305 #define YY_DECL int yylex (void)
01306 #endif
01307
01308
01309
01310
01311 #ifndef YY_USER_ACTION
01312 #define YY_USER_ACTION
01313 #endif
01314
01315
01316 #ifndef YY_BREAK
01317 #define YY_BREAK break;
01318 #endif
01319
01320 #define YY_RULE_SETUP \
01321 YY_USER_ACTION
01322
01325 YY_DECL
01326 {
01327 yy_state_type yy_current_state;
01328 char *yy_cp, *yy_bp;
01329 int yy_act;
01330
01331 #line 162 "src/cfgparser/oscan.lex"
01332
01333
01334 #line 1335 "src/cfgparser/oscan.c"
01335
01336 if ( !(yy_init) )
01337 {
01338 (yy_init) = 1;
01339
01340 #ifdef YY_USER_INIT
01341 YY_USER_INIT;
01342 #endif
01343
01344 if ( ! (yy_start) )
01345 (yy_start) = 1;
01346
01347 if ( ! yyin )
01348 yyin = stdin;
01349
01350 if ( ! yyout )
01351 yyout = stdout;
01352
01353 if ( ! YY_CURRENT_BUFFER ) {
01354 yyensure_buffer_stack ();
01355 YY_CURRENT_BUFFER_LVALUE =
01356 yy_create_buffer(yyin,YY_BUF_SIZE );
01357 }
01358
01359 yy_load_buffer_state( );
01360 }
01361
01362 while ( 1 )
01363 {
01364 yy_cp = (yy_c_buf_p);
01365
01366
01367 *yy_cp = (yy_hold_char);
01368
01369
01370
01371
01372 yy_bp = yy_cp;
01373
01374 yy_current_state = (yy_start);
01375 yy_match:
01376 do
01377 {
01378 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01379 if ( yy_accept[yy_current_state] )
01380 {
01381 (yy_last_accepting_state) = yy_current_state;
01382 (yy_last_accepting_cpos) = yy_cp;
01383 }
01384 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01385 {
01386 yy_current_state = (int) yy_def[yy_current_state];
01387 if ( yy_current_state >= 798 )
01388 yy_c = yy_meta[(unsigned int) yy_c];
01389 }
01390 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01391 ++yy_cp;
01392 }
01393 while ( yy_current_state != 797 );
01394 yy_cp = (yy_last_accepting_cpos);
01395 yy_current_state = (yy_last_accepting_state);
01396
01397 yy_find_action:
01398 yy_act = yy_accept[yy_current_state];
01399
01400 YY_DO_BEFORE_ACTION;
01401
01402 do_action:
01403
01404 switch ( yy_act )
01405 {
01406 case 0:
01407
01408 *yy_cp = (yy_hold_char);
01409 yy_cp = (yy_last_accepting_cpos);
01410 yy_current_state = (yy_last_accepting_state);
01411 goto yy_find_action;
01412
01413 case 1:
01414
01415 YY_RULE_SETUP
01416 #line 164 "src/cfgparser/oscan.lex"
01417 {
01418 current_line++;
01419 return TOK_COMMENT;
01420 }
01421 YY_BREAK
01422 case 2:
01423 YY_RULE_SETUP
01424 #line 169 "src/cfgparser/oscan.lex"
01425 {
01426 yylval = NULL;
01427 return TOK_SLASH;
01428 }
01429 YY_BREAK
01430 case 3:
01431 YY_RULE_SETUP
01432 #line 174 "src/cfgparser/oscan.lex"
01433 {
01434 yylval = NULL;
01435 return TOK_OPEN;
01436 }
01437 YY_BREAK
01438 case 4:
01439 YY_RULE_SETUP
01440 #line 179 "src/cfgparser/oscan.lex"
01441 {
01442 yylval = NULL;
01443 return TOK_CLOSE;
01444 }
01445 YY_BREAK
01446 case 5:
01447
01448 YY_RULE_SETUP
01449 #line 184 "src/cfgparser/oscan.lex"
01450 {
01451 yylval = get_string_token(yytext + 1, yyleng - 2);
01452 if (yylval == NULL) {
01453 yyterminate();
01454 }
01455 return TOK_STRING;
01456 }
01457 YY_BREAK
01458 case 6:
01459 YY_RULE_SETUP
01460 #line 192 "src/cfgparser/oscan.lex"
01461 {
01462 yylval = get_integer_token(yytext);
01463 return TOK_INTEGER;
01464 }
01465 YY_BREAK
01466 case 7:
01467 YY_RULE_SETUP
01468 #line 197 "src/cfgparser/oscan.lex"
01469 {
01470 yylval = get_floating_token(yytext);
01471 return TOK_FLOAT;
01472 }
01473 YY_BREAK
01474 case 8:
01475 YY_RULE_SETUP
01476 #line 202 "src/cfgparser/oscan.lex"
01477 {
01478 yylval = get_string_token(yytext, yyleng + 1);
01479 if (yylval == NULL) {
01480 yyterminate();
01481 }
01482 return TOK_IPV4_ADDR;
01483 }
01484 YY_BREAK
01485 case 9:
01486 YY_RULE_SETUP
01487 #line 209 "src/cfgparser/oscan.lex"
01488 {
01489 yylval = get_string_token(yytext, yyleng + 1);
01490 if (yylval == NULL) {
01491 yyterminate();
01492 }
01493 return TOK_IPV6_ADDR;
01494 }
01495 YY_BREAK
01496 case 10:
01497 YY_RULE_SETUP
01498 #line 217 "src/cfgparser/oscan.lex"
01499 {
01500 yylval = NULL;
01501 return TOK_DEFAULT;
01502 }
01503 YY_BREAK
01504 case 11:
01505 YY_RULE_SETUP
01506 #line 222 "src/cfgparser/oscan.lex"
01507 {
01508 yylval = NULL;
01509 return TOK_AUTO;
01510 }
01511 YY_BREAK
01512 case 12:
01513 YY_RULE_SETUP
01514 #line 227 "src/cfgparser/oscan.lex"
01515 {
01516 yylval = NULL;
01517 return TOK_NONE;
01518 }
01519 YY_BREAK
01520 case 13:
01521 YY_RULE_SETUP
01522 #line 232 "src/cfgparser/oscan.lex"
01523 {
01524 yylval = get_integer_token(yytext);
01525 return TOK_INTEGER;
01526 }
01527 YY_BREAK
01528 case 14:
01529 YY_RULE_SETUP
01530 #line 238 "src/cfgparser/oscan.lex"
01531 {
01532 yylval = get_boolean_token(true);
01533 return TOK_BOOLEAN;
01534 }
01535 YY_BREAK
01536 case 15:
01537 YY_RULE_SETUP
01538 #line 243 "src/cfgparser/oscan.lex"
01539 {
01540 yylval = get_boolean_token(false);
01541 return TOK_BOOLEAN;
01542 }
01543 YY_BREAK
01544 case 16:
01545 YY_RULE_SETUP
01546 #line 248 "src/cfgparser/oscan.lex"
01547 {
01548 yylval = NULL;
01549 return TOK_HOSTLABEL;
01550 }
01551 YY_BREAK
01552 case 17:
01553 YY_RULE_SETUP
01554 #line 253 "src/cfgparser/oscan.lex"
01555 {
01556 yylval = NULL;
01557 return TOK_NETLABEL;
01558 }
01559 YY_BREAK
01560 case 18:
01561 YY_RULE_SETUP
01562 #line 258 "src/cfgparser/oscan.lex"
01563 {
01564 yylval = NULL;
01565 return TOK_MAXIPC;
01566 }
01567 YY_BREAK
01568 case 19:
01569 YY_RULE_SETUP
01570 #line 263 "src/cfgparser/oscan.lex"
01571 {
01572 yylval = NULL;
01573 return TOK_DEBUGLEVEL;
01574 }
01575 YY_BREAK
01576 case 20:
01577 YY_RULE_SETUP
01578 #line 268 "src/cfgparser/oscan.lex"
01579 {
01580 yylval = NULL;
01581 return TOK_IPVERSION;
01582 }
01583 YY_BREAK
01584 case 21:
01585 YY_RULE_SETUP
01586 #line 273 "src/cfgparser/oscan.lex"
01587 {
01588 yylval = NULL;
01589 return TOK_NICCHGSPOLLRT;
01590 }
01591 YY_BREAK
01592 case 22:
01593 YY_RULE_SETUP
01594 #line 278 "src/cfgparser/oscan.lex"
01595 {
01596 yylval = NULL;
01597 return TOK_HNA4;
01598 }
01599 YY_BREAK
01600 case 23:
01601 YY_RULE_SETUP
01602 #line 283 "src/cfgparser/oscan.lex"
01603 {
01604 yylval = NULL;
01605 return TOK_HNA6;
01606 }
01607 YY_BREAK
01608 case 24:
01609 YY_RULE_SETUP
01610 #line 288 "src/cfgparser/oscan.lex"
01611 {
01612 yylval = NULL;
01613 return TOK_PLUGIN;
01614 }
01615 YY_BREAK
01616 case 25:
01617 YY_RULE_SETUP
01618 #line 293 "src/cfgparser/oscan.lex"
01619 {
01620 yylval = NULL;
01621 return TOK_PLPARAM;
01622 }
01623 YY_BREAK
01624 case 26:
01625 YY_RULE_SETUP
01626 #line 298 "src/cfgparser/oscan.lex"
01627 {
01628 yylval = NULL;
01629 return TOK_INTERFACE;
01630 }
01631 YY_BREAK
01632 case 27:
01633 YY_RULE_SETUP
01634 #line 302 "src/cfgparser/oscan.lex"
01635 {
01636 yylval = NULL;
01637 return TOK_INTERFACE_DEFAULTS;
01638 }
01639 YY_BREAK
01640 case 28:
01641 YY_RULE_SETUP
01642 #line 307 "src/cfgparser/oscan.lex"
01643 {
01644 yylval = NULL;
01645 return TOK_NOINT;
01646 }
01647 YY_BREAK
01648 case 29:
01649 YY_RULE_SETUP
01650 #line 312 "src/cfgparser/oscan.lex"
01651 {
01652 yylval = NULL;
01653 return TOK_TOS;
01654 }
01655 YY_BREAK
01656 case 30:
01657 YY_RULE_SETUP
01658 #line 318 "src/cfgparser/oscan.lex"
01659 {
01660 yylval = NULL;
01661 return TOK_OLSRPORT;
01662 }
01663 YY_BREAK
01664 case 31:
01665 YY_RULE_SETUP
01666 #line 323 "src/cfgparser/oscan.lex"
01667 {
01668 yylval = NULL;
01669 return TOK_RTPROTO;
01670 }
01671 YY_BREAK
01672 case 32:
01673 YY_RULE_SETUP
01674 #line 328 "src/cfgparser/oscan.lex"
01675 {
01676 yylval = NULL;
01677 return TOK_RTTABLE;
01678 }
01679 YY_BREAK
01680 case 33:
01681 YY_RULE_SETUP
01682 #line 333 "src/cfgparser/oscan.lex"
01683 {
01684 yylval = NULL;
01685 return TOK_RTTABLE_DEFAULT;
01686 }
01687 YY_BREAK
01688 case 34:
01689 YY_RULE_SETUP
01690 #line 338 "src/cfgparser/oscan.lex"
01691 {
01692 yylval = NULL;
01693 return TOK_RTTABLE_TUNNEL;
01694 }
01695 YY_BREAK
01696 case 35:
01697 YY_RULE_SETUP
01698 #line 343 "src/cfgparser/oscan.lex"
01699 {
01700 yylval = NULL;
01701 return TOK_RTTABLE_PRIORITY;
01702 }
01703 YY_BREAK
01704 case 36:
01705 YY_RULE_SETUP
01706 #line 348 "src/cfgparser/oscan.lex"
01707 {
01708 yylval = NULL;
01709 return TOK_RTTABLE_DEFAULTOLSR_PRIORITY;
01710 }
01711 YY_BREAK
01712 case 37:
01713 YY_RULE_SETUP
01714 #line 353 "src/cfgparser/oscan.lex"
01715 {
01716 yylval = NULL;
01717 return TOK_RTTABLE_TUNNEL_PRIORITY;
01718 }
01719 YY_BREAK
01720 case 38:
01721 YY_RULE_SETUP
01722 #line 358 "src/cfgparser/oscan.lex"
01723 {
01724 yylval = NULL;
01725 return TOK_RTTABLE_DEFAULT_PRIORITY;
01726 }
01727 YY_BREAK
01728 case 39:
01729 YY_RULE_SETUP
01730 #line 363 "src/cfgparser/oscan.lex"
01731 {
01732 yylval = NULL;
01733 return TOK_WILLINGNESS;
01734 }
01735 YY_BREAK
01736 case 40:
01737 YY_RULE_SETUP
01738 #line 368 "src/cfgparser/oscan.lex"
01739 {
01740 yylval = NULL;
01741 return TOK_IPCCON;
01742 }
01743 YY_BREAK
01744 case 41:
01745 YY_RULE_SETUP
01746 #line 373 "src/cfgparser/oscan.lex"
01747 {
01748 yylval = NULL;
01749 return TOK_FIBMETRIC;
01750 }
01751 YY_BREAK
01752 case 42:
01753 YY_RULE_SETUP
01754 #line 378 "src/cfgparser/oscan.lex"
01755 {
01756 yylval = NULL;
01757 return TOK_USEHYST;
01758 }
01759 YY_BREAK
01760 case 43:
01761 YY_RULE_SETUP
01762 #line 383 "src/cfgparser/oscan.lex"
01763 {
01764 yylval = NULL;
01765 return TOK_HYSTSCALE;
01766 }
01767 YY_BREAK
01768 case 44:
01769 YY_RULE_SETUP
01770 #line 388 "src/cfgparser/oscan.lex"
01771 {
01772 yylval = NULL;
01773 return TOK_HYSTUPPER;
01774 }
01775 YY_BREAK
01776 case 45:
01777 YY_RULE_SETUP
01778 #line 393 "src/cfgparser/oscan.lex"
01779 {
01780 yylval = NULL;
01781 return TOK_HYSTLOWER;
01782 }
01783 YY_BREAK
01784 case 46:
01785 YY_RULE_SETUP
01786 #line 398 "src/cfgparser/oscan.lex"
01787 {
01788 yylval = NULL;
01789 return TOK_POLLRATE;
01790 }
01791 YY_BREAK
01792 case 47:
01793 YY_RULE_SETUP
01794 #line 404 "src/cfgparser/oscan.lex"
01795 {
01796 yylval = NULL;
01797 return TOK_TCREDUNDANCY;
01798 }
01799 YY_BREAK
01800 case 48:
01801 YY_RULE_SETUP
01802 #line 409 "src/cfgparser/oscan.lex"
01803 {
01804 yylval = NULL;
01805 return TOK_MPRCOVERAGE;
01806 }
01807 YY_BREAK
01808 case 49:
01809 YY_RULE_SETUP
01810 #line 414 "src/cfgparser/oscan.lex"
01811 {
01812 yylval = NULL;
01813 return TOK_LQ_LEVEL;
01814 }
01815 YY_BREAK
01816 case 50:
01817 YY_RULE_SETUP
01818 #line 419 "src/cfgparser/oscan.lex"
01819 {
01820 yylval = NULL;
01821 return TOK_LQ_FISH;
01822 }
01823 YY_BREAK
01824 case 51:
01825 YY_RULE_SETUP
01826 #line 424 "src/cfgparser/oscan.lex"
01827 {
01828 yylval = NULL;
01829 return TOK_LQ_AGING;
01830 }
01831 YY_BREAK
01832 case 52:
01833 YY_RULE_SETUP
01834 #line 429 "src/cfgparser/oscan.lex"
01835 {
01836 yylval = NULL;
01837 return TOK_LQ_PLUGIN;
01838 }
01839 YY_BREAK
01840 case 53:
01841 YY_RULE_SETUP
01842 #line 434 "src/cfgparser/oscan.lex"
01843 {
01844 yylval = NULL;
01845 return TOK_LQ_NAT_THRESH;
01846 }
01847 YY_BREAK
01848 case 54:
01849 YY_RULE_SETUP
01850 #line 439 "src/cfgparser/oscan.lex"
01851 {
01852 yylval = NULL;
01853 return TOK_LQ_MULT;
01854 }
01855 YY_BREAK
01856 case 55:
01857 YY_RULE_SETUP
01858 #line 444 "src/cfgparser/oscan.lex"
01859 {
01860 yylval = NULL;
01861 return TOK_MIN_TC_VTIME;
01862 }
01863 YY_BREAK
01864 case 56:
01865 YY_RULE_SETUP
01866 #line 449 "src/cfgparser/oscan.lex"
01867 {
01868 yylval = NULL;
01869 return TOK_LOCK_FILE;
01870 }
01871 YY_BREAK
01872 case 57:
01873 YY_RULE_SETUP
01874 #line 454 "src/cfgparser/oscan.lex"
01875 {
01876 yylval = NULL;
01877 return TOK_CLEAR_SCREEN;
01878 }
01879 YY_BREAK
01880 case 58:
01881 YY_RULE_SETUP
01882 #line 459 "src/cfgparser/oscan.lex"
01883 {
01884 yylval = NULL;
01885 return TOK_USE_NIIT;
01886 }
01887 YY_BREAK
01888 case 59:
01889 YY_RULE_SETUP
01890 #line 464 "src/cfgparser/oscan.lex"
01891 {
01892 yylval = NULL;
01893 return TOK_SMART_GW;
01894 }
01895 YY_BREAK
01896 case 60:
01897 YY_RULE_SETUP
01898 #line 469 "src/cfgparser/oscan.lex"
01899 {
01900 yylval = NULL;
01901 return TOK_SMART_GW_ALLOW_NAT;
01902 }
01903 YY_BREAK
01904 case 61:
01905 YY_RULE_SETUP
01906 #line 474 "src/cfgparser/oscan.lex"
01907 {
01908 yylval = NULL;
01909 return TOK_SMART_GW_UPLINK;
01910 }
01911 YY_BREAK
01912 case 62:
01913 YY_RULE_SETUP
01914 #line 479 "src/cfgparser/oscan.lex"
01915 {
01916 yylval = NULL;
01917 return TOK_SMART_GW_UPLINK_NAT;
01918 }
01919 YY_BREAK
01920 case 63:
01921 YY_RULE_SETUP
01922 #line 484 "src/cfgparser/oscan.lex"
01923 {
01924 yylval = NULL;
01925 return TOK_SMART_GW_SPEED;
01926 }
01927 YY_BREAK
01928 case 64:
01929 YY_RULE_SETUP
01930 #line 489 "src/cfgparser/oscan.lex"
01931 {
01932 yylval = NULL;
01933 return TOK_SMART_GW_PREFIX;
01934 }
01935 YY_BREAK
01936 case 65:
01937 YY_RULE_SETUP
01938 #line 494 "src/cfgparser/oscan.lex"
01939 {
01940 yylval = NULL;
01941 return TOK_SRC_IP_ROUTES;
01942 }
01943 YY_BREAK
01944 case 66:
01945 YY_RULE_SETUP
01946 #line 498 "src/cfgparser/oscan.lex"
01947 {
01948 yylval = NULL;
01949 return TOK_IFWEIGHT;
01950 }
01951 YY_BREAK
01952 case 67:
01953 YY_RULE_SETUP
01954 #line 502 "src/cfgparser/oscan.lex"
01955 {
01956 yylval = NULL;
01957 return TOK_MAIN_IP;
01958 }
01959 YY_BREAK
01960 case 68:
01961 YY_RULE_SETUP
01962 #line 506 "src/cfgparser/oscan.lex"
01963 {
01964 yylval = NULL;
01965 return TOK_IP4BROADCAST;
01966 }
01967 YY_BREAK
01968 case 69:
01969 YY_RULE_SETUP
01970 #line 510 "src/cfgparser/oscan.lex"
01971 {
01972 yylval = NULL;
01973 return TOK_IPV4BROADCAST;
01974 }
01975 YY_BREAK
01976 case 70:
01977 YY_RULE_SETUP
01978 #line 514 "src/cfgparser/oscan.lex"
01979 {
01980 yylval = NULL;
01981 return TOK_IPV4MULTICAST;
01982 }
01983 YY_BREAK
01984 case 71:
01985 YY_RULE_SETUP
01986 #line 518 "src/cfgparser/oscan.lex"
01987 {
01988 yylval = NULL;
01989 return TOK_IFMODE;
01990 }
01991 YY_BREAK
01992 case 72:
01993 YY_RULE_SETUP
01994 #line 522 "src/cfgparser/oscan.lex"
01995 {
01996 yylval = NULL;
01997 return TOK_IPV6MULTICAST;
01998 }
01999 YY_BREAK
02000 case 73:
02001 YY_RULE_SETUP
02002 #line 526 "src/cfgparser/oscan.lex"
02003 {
02004 yylval = NULL;
02005 return TOK_IPV4SRC;
02006 }
02007 YY_BREAK
02008 case 74:
02009 YY_RULE_SETUP
02010 #line 530 "src/cfgparser/oscan.lex"
02011 {
02012 yylval = NULL;
02013 return TOK_IPV6SRC;
02014 }
02015 YY_BREAK
02016 case 75:
02017 YY_RULE_SETUP
02018 #line 534 "src/cfgparser/oscan.lex"
02019 {
02020 yylval = NULL;
02021 return TOK_HELLOINT;
02022 }
02023 YY_BREAK
02024 case 76:
02025 YY_RULE_SETUP
02026 #line 538 "src/cfgparser/oscan.lex"
02027 {
02028 yylval = NULL;
02029 return TOK_HELLOVAL;
02030 }
02031 YY_BREAK
02032 case 77:
02033 YY_RULE_SETUP
02034 #line 542 "src/cfgparser/oscan.lex"
02035 {
02036 yylval = NULL;
02037 return TOK_TCINT;
02038 }
02039 YY_BREAK
02040 case 78:
02041 YY_RULE_SETUP
02042 #line 546 "src/cfgparser/oscan.lex"
02043 {
02044 yylval = NULL;
02045 return TOK_TCVAL;
02046 }
02047 YY_BREAK
02048 case 79:
02049 YY_RULE_SETUP
02050 #line 550 "src/cfgparser/oscan.lex"
02051 {
02052 yylval = NULL;
02053 return TOK_MIDINT;
02054 }
02055 YY_BREAK
02056 case 80:
02057 YY_RULE_SETUP
02058 #line 554 "src/cfgparser/oscan.lex"
02059 {
02060 yylval = NULL;
02061 return TOK_MIDVAL;
02062 }
02063 YY_BREAK
02064 case 81:
02065 YY_RULE_SETUP
02066 #line 558 "src/cfgparser/oscan.lex"
02067 {
02068 yylval = NULL;
02069 return TOK_HNAINT;
02070 }
02071 YY_BREAK
02072 case 82:
02073 YY_RULE_SETUP
02074 #line 562 "src/cfgparser/oscan.lex"
02075 {
02076 yylval = NULL;
02077 return TOK_HNAVAL;
02078 }
02079 YY_BREAK
02080 case 83:
02081 YY_RULE_SETUP
02082 #line 566 "src/cfgparser/oscan.lex"
02083 {
02084 yylval = NULL;
02085 return TOK_AUTODETCHG;
02086 }
02087 YY_BREAK
02088 case 84:
02089
02090 YY_RULE_SETUP
02091 #line 572 "src/cfgparser/oscan.lex"
02092 {
02093 current_line++;
02094 }
02095 YY_BREAK
02096 case 85:
02097 YY_RULE_SETUP
02098 #line 576 "src/cfgparser/oscan.lex"
02099
02100 YY_BREAK
02101 case 86:
02102 YY_RULE_SETUP
02103 #line 578 "src/cfgparser/oscan.lex"
02104 {
02105
02106
02107
02108
02109
02110
02111
02112 if(0)
02113 yyunput(0, NULL);
02114 }
02115 YY_BREAK
02116 case 87:
02117 YY_RULE_SETUP
02118 #line 590 "src/cfgparser/oscan.lex"
02119 ECHO;
02120 YY_BREAK
02121 #line 2122 "src/cfgparser/oscan.c"
02122 case YY_STATE_EOF(INITIAL):
02123 yyterminate();
02124
02125 case YY_END_OF_BUFFER:
02126 {
02127
02128 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
02129
02130
02131 *yy_cp = (yy_hold_char);
02132 YY_RESTORE_YY_MORE_OFFSET
02133
02134 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
02135 {
02136
02137
02138
02139
02140
02141
02142
02143
02144
02145 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02146 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
02147 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
02148 }
02149
02150
02151
02152
02153
02154
02155
02156
02157 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
02158 {
02159 yy_state_type yy_next_state;
02160
02161 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
02162
02163 yy_current_state = yy_get_previous_state( );
02164
02165
02166
02167
02168
02169
02170
02171
02172
02173
02174 yy_next_state = yy_try_NUL_trans( yy_current_state );
02175
02176 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
02177
02178 if ( yy_next_state )
02179 {
02180
02181 yy_cp = ++(yy_c_buf_p);
02182 yy_current_state = yy_next_state;
02183 goto yy_match;
02184 }
02185
02186 else
02187 {
02188 yy_cp = (yy_last_accepting_cpos);
02189 yy_current_state = (yy_last_accepting_state);
02190 goto yy_find_action;
02191 }
02192 }
02193
02194 else switch ( yy_get_next_buffer( ) )
02195 {
02196 case EOB_ACT_END_OF_FILE:
02197 {
02198 (yy_did_buffer_switch_on_eof) = 0;
02199
02200 if ( yywrap( ) )
02201 {
02202
02203
02204
02205
02206
02207
02208
02209
02210
02211 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
02212
02213 yy_act = YY_STATE_EOF(YY_START);
02214 goto do_action;
02215 }
02216
02217 else
02218 {
02219 if ( ! (yy_did_buffer_switch_on_eof) )
02220 YY_NEW_FILE;
02221 }
02222 break;
02223 }
02224
02225 case EOB_ACT_CONTINUE_SCAN:
02226 (yy_c_buf_p) =
02227 (yytext_ptr) + yy_amount_of_matched_text;
02228
02229 yy_current_state = yy_get_previous_state( );
02230
02231 yy_cp = (yy_c_buf_p);
02232 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
02233 goto yy_match;
02234
02235 case EOB_ACT_LAST_MATCH:
02236 (yy_c_buf_p) =
02237 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
02238
02239 yy_current_state = yy_get_previous_state( );
02240
02241 yy_cp = (yy_c_buf_p);
02242 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
02243 goto yy_find_action;
02244 }
02245 break;
02246 }
02247
02248 default:
02249 YY_FATAL_ERROR(
02250 "fatal flex scanner internal error--no action found" );
02251 }
02252 }
02253 }
02254
02255
02256
02257
02258
02259
02260
02261
02262 static int yy_get_next_buffer (void)
02263 {
02264 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
02265 char *source = (yytext_ptr);
02266 int number_to_move, i;
02267 int ret_val;
02268
02269 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
02270 YY_FATAL_ERROR(
02271 "fatal flex scanner internal error--end of buffer missed" );
02272
02273 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
02274 {
02275 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
02276 {
02277
02278
02279
02280 return EOB_ACT_END_OF_FILE;
02281 }
02282
02283 else
02284 {
02285
02286
02287
02288 return EOB_ACT_LAST_MATCH;
02289 }
02290 }
02291
02292
02293
02294
02295 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
02296
02297 for ( i = 0; i < number_to_move; ++i )
02298 *(dest++) = *(source++);
02299
02300 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
02301
02302
02303
02304 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
02305
02306 else
02307 {
02308 int num_to_read =
02309 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
02310
02311 while ( num_to_read <= 0 )
02312 {
02313
02314
02315 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
02316
02317 int yy_c_buf_p_offset =
02318 (int) ((yy_c_buf_p) - b->yy_ch_buf);
02319
02320 if ( b->yy_is_our_buffer )
02321 {
02322 int new_size = b->yy_buf_size * 2;
02323
02324 if ( new_size <= 0 )
02325 b->yy_buf_size += b->yy_buf_size / 8;
02326 else
02327 b->yy_buf_size *= 2;
02328
02329 b->yy_ch_buf = (char *)
02330
02331 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
02332 }
02333 else
02334
02335 b->yy_ch_buf = 0;
02336
02337 if ( ! b->yy_ch_buf )
02338 YY_FATAL_ERROR(
02339 "fatal error - scanner input buffer overflow" );
02340
02341 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
02342
02343 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
02344 number_to_move - 1;
02345
02346 }
02347
02348 if ( num_to_read > YY_READ_BUF_SIZE )
02349 num_to_read = YY_READ_BUF_SIZE;
02350
02351
02352 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
02353 (yy_n_chars), (size_t) num_to_read );
02354
02355 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02356 }
02357
02358 if ( (yy_n_chars) == 0 )
02359 {
02360 if ( number_to_move == YY_MORE_ADJ )
02361 {
02362 ret_val = EOB_ACT_END_OF_FILE;
02363 yyrestart(yyin );
02364 }
02365
02366 else
02367 {
02368 ret_val = EOB_ACT_LAST_MATCH;
02369 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02370 YY_BUFFER_EOF_PENDING;
02371 }
02372 }
02373
02374 else
02375 ret_val = EOB_ACT_CONTINUE_SCAN;
02376
02377 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
02378
02379 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
02380 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
02381 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02382 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
02383 }
02384
02385 (yy_n_chars) += number_to_move;
02386 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
02387 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
02388
02389 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02390
02391 return ret_val;
02392 }
02393
02394
02395
02396 static yy_state_type yy_get_previous_state (void)
02397 {
02398 yy_state_type yy_current_state;
02399 char *yy_cp;
02400
02401 yy_current_state = (yy_start);
02402
02403 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
02404 {
02405 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
02406 if ( yy_accept[yy_current_state] )
02407 {
02408 (yy_last_accepting_state) = yy_current_state;
02409 (yy_last_accepting_cpos) = yy_cp;
02410 }
02411 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02412 {
02413 yy_current_state = (int) yy_def[yy_current_state];
02414 if ( yy_current_state >= 798 )
02415 yy_c = yy_meta[(unsigned int) yy_c];
02416 }
02417 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02418 }
02419
02420 return yy_current_state;
02421 }
02422
02423
02424
02425
02426
02427
02428 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
02429 {
02430 int yy_is_jam;
02431 char *yy_cp = (yy_c_buf_p);
02432
02433 YY_CHAR yy_c = 1;
02434 if ( yy_accept[yy_current_state] )
02435 {
02436 (yy_last_accepting_state) = yy_current_state;
02437 (yy_last_accepting_cpos) = yy_cp;
02438 }
02439 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02440 {
02441 yy_current_state = (int) yy_def[yy_current_state];
02442 if ( yy_current_state >= 798 )
02443 yy_c = yy_meta[(unsigned int) yy_c];
02444 }
02445 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02446 yy_is_jam = (yy_current_state == 797);
02447
02448 return yy_is_jam ? 0 : yy_current_state;
02449 }
02450
02451 static void yyunput (int c, char * yy_bp )
02452 {
02453 char *yy_cp;
02454
02455 yy_cp = (yy_c_buf_p);
02456
02457
02458 *yy_cp = (yy_hold_char);
02459
02460 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02461 {
02462
02463 int number_to_move = (yy_n_chars) + 2;
02464 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
02465 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
02466 char *source =
02467 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
02468
02469 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02470 *--dest = *--source;
02471
02472 yy_cp += (int) (dest - source);
02473 yy_bp += (int) (dest - source);
02474 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
02475 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
02476
02477 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02478 YY_FATAL_ERROR( "flex scanner push-back overflow" );
02479 }
02480
02481 *--yy_cp = (char) c;
02482
02483 (yytext_ptr) = yy_bp;
02484 (yy_hold_char) = *yy_cp;
02485 (yy_c_buf_p) = yy_cp;
02486 }
02487
02488 #ifndef YY_NO_INPUT
02489 #ifdef __cplusplus
02490 static int yyinput (void)
02491 #else
02492 static int input (void)
02493 #endif
02494
02495 {
02496 int c;
02497
02498 *(yy_c_buf_p) = (yy_hold_char);
02499
02500 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
02501 {
02502
02503
02504
02505
02506 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
02507
02508 *(yy_c_buf_p) = '\0';
02509
02510 else
02511 {
02512 int offset = (yy_c_buf_p) - (yytext_ptr);
02513 ++(yy_c_buf_p);
02514
02515 switch ( yy_get_next_buffer( ) )
02516 {
02517 case EOB_ACT_LAST_MATCH:
02518
02519
02520
02521
02522
02523
02524
02525
02526
02527
02528
02529 yyrestart(yyin );
02530
02531
02532
02533 case EOB_ACT_END_OF_FILE:
02534 {
02535 if ( yywrap( ) )
02536 return EOF;
02537
02538 if ( ! (yy_did_buffer_switch_on_eof) )
02539 YY_NEW_FILE;
02540 #ifdef __cplusplus
02541 return yyinput();
02542 #else
02543 return input();
02544 #endif
02545 }
02546
02547 case EOB_ACT_CONTINUE_SCAN:
02548 (yy_c_buf_p) = (yytext_ptr) + offset;
02549 break;
02550 }
02551 }
02552 }
02553
02554 c = *(unsigned char *) (yy_c_buf_p);
02555 *(yy_c_buf_p) = '\0';
02556 (yy_hold_char) = *++(yy_c_buf_p);
02557
02558 return c;
02559 }
02560 #endif
02561
02567 void yyrestart (FILE * input_file )
02568 {
02569
02570 if ( ! YY_CURRENT_BUFFER ){
02571 yyensure_buffer_stack ();
02572 YY_CURRENT_BUFFER_LVALUE =
02573 yy_create_buffer(yyin,YY_BUF_SIZE );
02574 }
02575
02576 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
02577 yy_load_buffer_state( );
02578 }
02579
02584 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
02585 {
02586
02587
02588
02589
02590
02591
02592 yyensure_buffer_stack ();
02593 if ( YY_CURRENT_BUFFER == new_buffer )
02594 return;
02595
02596 if ( YY_CURRENT_BUFFER )
02597 {
02598
02599 *(yy_c_buf_p) = (yy_hold_char);
02600 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
02601 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02602 }
02603
02604 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02605 yy_load_buffer_state( );
02606
02607
02608
02609
02610
02611
02612 (yy_did_buffer_switch_on_eof) = 1;
02613 }
02614
02615 static void yy_load_buffer_state (void)
02616 {
02617 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02618 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02619 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02620 (yy_hold_char) = *(yy_c_buf_p);
02621 }
02622
02629 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
02630 {
02631 YY_BUFFER_STATE b;
02632
02633 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
02634 if ( ! b )
02635 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
02636
02637 b->yy_buf_size = size;
02638
02639
02640
02641
02642 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
02643 if ( ! b->yy_ch_buf )
02644 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
02645
02646 b->yy_is_our_buffer = 1;
02647
02648 yy_init_buffer(b,file );
02649
02650 return b;
02651 }
02652
02657 void yy_delete_buffer (YY_BUFFER_STATE b )
02658 {
02659
02660 if ( ! b )
02661 return;
02662
02663 if ( b == YY_CURRENT_BUFFER )
02664 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02665
02666 if ( b->yy_is_our_buffer )
02667 yyfree((void *) b->yy_ch_buf );
02668
02669 yyfree((void *) b );
02670 }
02671
02672
02673
02674
02675
02676 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
02677
02678 {
02679 int oerrno = errno;
02680
02681 yy_flush_buffer(b );
02682
02683 b->yy_input_file = file;
02684 b->yy_fill_buffer = 1;
02685
02686
02687
02688
02689
02690 if (b != YY_CURRENT_BUFFER){
02691 b->yy_bs_lineno = 1;
02692 b->yy_bs_column = 0;
02693 }
02694
02695 b->yy_is_interactive = 0;
02696
02697 errno = oerrno;
02698 }
02699
02704 void yy_flush_buffer (YY_BUFFER_STATE b )
02705 {
02706 if ( ! b )
02707 return;
02708
02709 b->yy_n_chars = 0;
02710
02711
02712
02713
02714
02715 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02716 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02717
02718 b->yy_buf_pos = &b->yy_ch_buf[0];
02719
02720 b->yy_at_bol = 1;
02721 b->yy_buffer_status = YY_BUFFER_NEW;
02722
02723 if ( b == YY_CURRENT_BUFFER )
02724 yy_load_buffer_state( );
02725 }
02726
02733 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
02734 {
02735 if (new_buffer == NULL)
02736 return;
02737
02738 yyensure_buffer_stack();
02739
02740
02741 if ( YY_CURRENT_BUFFER )
02742 {
02743
02744 *(yy_c_buf_p) = (yy_hold_char);
02745 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
02746 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02747 }
02748
02749
02750 if (YY_CURRENT_BUFFER)
02751 (yy_buffer_stack_top)++;
02752 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02753
02754
02755 yy_load_buffer_state( );
02756 (yy_did_buffer_switch_on_eof) = 1;
02757 }
02758
02763 void yypop_buffer_state (void)
02764 {
02765 if (!YY_CURRENT_BUFFER)
02766 return;
02767
02768 yy_delete_buffer(YY_CURRENT_BUFFER );
02769 YY_CURRENT_BUFFER_LVALUE = NULL;
02770 if ((yy_buffer_stack_top) > 0)
02771 --(yy_buffer_stack_top);
02772
02773 if (YY_CURRENT_BUFFER) {
02774 yy_load_buffer_state( );
02775 (yy_did_buffer_switch_on_eof) = 1;
02776 }
02777 }
02778
02779
02780
02781
02782 static void yyensure_buffer_stack (void)
02783 {
02784 int num_to_alloc;
02785
02786 if (!(yy_buffer_stack)) {
02787
02788
02789
02790
02791
02792 num_to_alloc = 1;
02793 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
02794 (num_to_alloc * sizeof(struct yy_buffer_state*)
02795 );
02796 if ( ! (yy_buffer_stack) )
02797 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
02798
02799 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02800
02801 (yy_buffer_stack_max) = num_to_alloc;
02802 (yy_buffer_stack_top) = 0;
02803 return;
02804 }
02805
02806 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
02807
02808
02809 int grow_size = 8 ;
02810
02811 num_to_alloc = (yy_buffer_stack_max) + grow_size;
02812 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
02813 ((yy_buffer_stack),
02814 num_to_alloc * sizeof(struct yy_buffer_state*)
02815 );
02816 if ( ! (yy_buffer_stack) )
02817 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
02818
02819
02820 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
02821 (yy_buffer_stack_max) = num_to_alloc;
02822 }
02823 }
02824
02831 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
02832 {
02833 YY_BUFFER_STATE b;
02834
02835 if ( size < 2 ||
02836 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02837 base[size-1] != YY_END_OF_BUFFER_CHAR )
02838
02839 return 0;
02840
02841 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
02842 if ( ! b )
02843 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
02844
02845 b->yy_buf_size = size - 2;
02846 b->yy_buf_pos = b->yy_ch_buf = base;
02847 b->yy_is_our_buffer = 0;
02848 b->yy_input_file = 0;
02849 b->yy_n_chars = b->yy_buf_size;
02850 b->yy_is_interactive = 0;
02851 b->yy_at_bol = 1;
02852 b->yy_fill_buffer = 0;
02853 b->yy_buffer_status = YY_BUFFER_NEW;
02854
02855 yy_switch_to_buffer(b );
02856
02857 return b;
02858 }
02859
02868 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
02869 {
02870
02871 return yy_scan_bytes(yystr,strlen(yystr) );
02872 }
02873
02881 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
02882 {
02883 YY_BUFFER_STATE b;
02884 char *buf;
02885 yy_size_t n;
02886 int i;
02887
02888
02889 n = _yybytes_len + 2;
02890 buf = (char *) yyalloc(n );
02891 if ( ! buf )
02892 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
02893
02894 for ( i = 0; i < _yybytes_len; ++i )
02895 buf[i] = yybytes[i];
02896
02897 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02898
02899 b = yy_scan_buffer(buf,n );
02900 if ( ! b )
02901 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
02902
02903
02904
02905
02906 b->yy_is_our_buffer = 1;
02907
02908 return b;
02909 }
02910
02911 #ifndef YY_EXIT_FAILURE
02912 #define YY_EXIT_FAILURE 2
02913 #endif
02914
02915 static void yy_fatal_error (yyconst char* msg )
02916 {
02917 (void) fprintf( stderr, "%s\n", msg );
02918 exit( YY_EXIT_FAILURE );
02919 }
02920
02921
02922
02923 #undef yyless
02924 #define yyless(n) \
02925 do \
02926 { \
02927 \
02928 int yyless_macro_arg = (n); \
02929 YY_LESS_LINENO(yyless_macro_arg);\
02930 yytext[yyleng] = (yy_hold_char); \
02931 (yy_c_buf_p) = yytext + yyless_macro_arg; \
02932 (yy_hold_char) = *(yy_c_buf_p); \
02933 *(yy_c_buf_p) = '\0'; \
02934 yyleng = yyless_macro_arg; \
02935 } \
02936 while ( 0 )
02937
02938
02939
02943 int yyget_lineno (void)
02944 {
02945
02946 return yylineno;
02947 }
02948
02952 FILE *yyget_in (void)
02953 {
02954 return yyin;
02955 }
02956
02960 FILE *yyget_out (void)
02961 {
02962 return yyout;
02963 }
02964
02968 int yyget_leng (void)
02969 {
02970 return yyleng;
02971 }
02972
02977 char *yyget_text (void)
02978 {
02979 return yytext;
02980 }
02981
02986 void yyset_lineno (int line_number )
02987 {
02988
02989 yylineno = line_number;
02990 }
02991
02998 void yyset_in (FILE * in_str )
02999 {
03000 yyin = in_str ;
03001 }
03002
03003 void yyset_out (FILE * out_str )
03004 {
03005 yyout = out_str ;
03006 }
03007
03008 int yyget_debug (void)
03009 {
03010 return yy_flex_debug;
03011 }
03012
03013 void yyset_debug (int bdebug )
03014 {
03015 yy_flex_debug = bdebug ;
03016 }
03017
03018 static int yy_init_globals (void)
03019 {
03020
03021
03022
03023
03024 (yy_buffer_stack) = 0;
03025 (yy_buffer_stack_top) = 0;
03026 (yy_buffer_stack_max) = 0;
03027 (yy_c_buf_p) = (char *) 0;
03028 (yy_init) = 0;
03029 (yy_start) = 0;
03030
03031
03032 #ifdef YY_STDINIT
03033 yyin = stdin;
03034 yyout = stdout;
03035 #else
03036 yyin = (FILE *) 0;
03037 yyout = (FILE *) 0;
03038 #endif
03039
03040
03041
03042
03043 return 0;
03044 }
03045
03046
03047 int yylex_destroy (void)
03048 {
03049
03050
03051 while(YY_CURRENT_BUFFER){
03052 yy_delete_buffer(YY_CURRENT_BUFFER );
03053 YY_CURRENT_BUFFER_LVALUE = NULL;
03054 yypop_buffer_state();
03055 }
03056
03057
03058 yyfree((yy_buffer_stack) );
03059 (yy_buffer_stack) = NULL;
03060
03061
03062
03063 yy_init_globals( );
03064
03065 return 0;
03066 }
03067
03068
03069
03070
03071
03072 #ifndef yytext_ptr
03073 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
03074 {
03075 int i;
03076 for ( i = 0; i < n; ++i )
03077 s1[i] = s2[i];
03078 }
03079 #endif
03080
03081 #ifdef YY_NEED_STRLEN
03082 static int yy_flex_strlen (yyconst char * s )
03083 {
03084 int n;
03085 for ( n = 0; s[n]; ++n )
03086 ;
03087
03088 return n;
03089 }
03090 #endif
03091
03092 void *yyalloc (yy_size_t size )
03093 {
03094 return (void *) malloc( size );
03095 }
03096
03097 void *yyrealloc (void * ptr, yy_size_t size )
03098 {
03099
03100
03101
03102
03103
03104
03105
03106 return (void *) realloc( (char *) ptr, size );
03107 }
03108
03109 void yyfree (void * ptr )
03110 {
03111 free( (char *) ptr );
03112 }
03113
03114 #define YYTABLES_NAME "yytables"
03115
03116 #line 590 "src/cfgparser/oscan.lex"
03117
03118
03119