1 #include "config.h" 2 #include "util/configyyrename.h" 3 4 #line 3 "<stdout>" 5 6 #define YY_INT_ALIGNED short int 7 8 /* A lexical scanner generated by flex */ 9 10 #define FLEX_SCANNER 11 #define YY_FLEX_MAJOR_VERSION 2 12 #define YY_FLEX_MINOR_VERSION 5 13 #define YY_FLEX_SUBMINOR_VERSION 36 14 #if YY_FLEX_SUBMINOR_VERSION > 0 15 #define FLEX_BETA 16 #endif 17 18 /* First, we deal with platform-specific or compiler-specific issues. */ 19 20 /* begin standard C headers. */ 21 #include <stdio.h> 22 #include <string.h> 23 #include <errno.h> 24 #include <stdlib.h> 25 26 /* end standard C headers. */ 27 28 /* flex integer type definitions */ 29 30 #ifndef FLEXINT_H 31 #define FLEXINT_H 32 33 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 34 35 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 36 37 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 38 * if you want the limit (max/min) macros for int types. 39 */ 40 #ifndef __STDC_LIMIT_MACROS 41 #define __STDC_LIMIT_MACROS 1 42 #endif 43 44 #include <inttypes.h> 45 typedef int8_t flex_int8_t; 46 typedef uint8_t flex_uint8_t; 47 typedef int16_t flex_int16_t; 48 typedef uint16_t flex_uint16_t; 49 typedef int32_t flex_int32_t; 50 typedef uint32_t flex_uint32_t; 51 #else 52 typedef signed char flex_int8_t; 53 typedef short int flex_int16_t; 54 typedef int flex_int32_t; 55 typedef unsigned char flex_uint8_t; 56 typedef unsigned short int flex_uint16_t; 57 typedef unsigned int flex_uint32_t; 58 59 /* Limits of integral types. */ 60 #ifndef INT8_MIN 61 #define INT8_MIN (-128) 62 #endif 63 #ifndef INT16_MIN 64 #define INT16_MIN (-32767-1) 65 #endif 66 #ifndef INT32_MIN 67 #define INT32_MIN (-2147483647-1) 68 #endif 69 #ifndef INT8_MAX 70 #define INT8_MAX (127) 71 #endif 72 #ifndef INT16_MAX 73 #define INT16_MAX (32767) 74 #endif 75 #ifndef INT32_MAX 76 #define INT32_MAX (2147483647) 77 #endif 78 #ifndef UINT8_MAX 79 #define UINT8_MAX (255U) 80 #endif 81 #ifndef UINT16_MAX 82 #define UINT16_MAX (65535U) 83 #endif 84 #ifndef UINT32_MAX 85 #define UINT32_MAX (4294967295U) 86 #endif 87 88 #endif /* ! C99 */ 89 90 #endif /* ! FLEXINT_H */ 91 92 #ifdef __cplusplus 93 94 /* The "const" storage-class-modifier is valid. */ 95 #define YY_USE_CONST 96 97 #else /* ! __cplusplus */ 98 99 /* C99 requires __STDC__ to be defined as 1. */ 100 #if defined (__STDC__) 101 102 #define YY_USE_CONST 103 104 #endif /* defined (__STDC__) */ 105 #endif /* ! __cplusplus */ 106 107 #ifdef YY_USE_CONST 108 #define yyconst const 109 #else 110 #define yyconst 111 #endif 112 113 /* Returned upon end-of-file. */ 114 #define YY_NULL 0 115 116 /* Promotes a possibly negative, possibly signed char to an unsigned 117 * integer for use as an array index. If the signed char is negative, 118 * we want to instead treat it as an 8-bit unsigned char, hence the 119 * double cast. 120 */ 121 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 122 123 /* Enter a start condition. This macro really ought to take a parameter, 124 * but we do it the disgusting crufty way forced on us by the ()-less 125 * definition of BEGIN. 126 */ 127 #define BEGIN (yy_start) = 1 + 2 * 128 129 /* Translate the current start state into a value that can be later handed 130 * to BEGIN to return to the state. The YYSTATE alias is for lex 131 * compatibility. 132 */ 133 #define YY_START (((yy_start) - 1) / 2) 134 #define YYSTATE YY_START 135 136 /* Action number for EOF rule of a given start state. */ 137 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 138 139 /* Special action meaning "start processing a new file". */ 140 #define YY_NEW_FILE yyrestart(yyin ) 141 142 #define YY_END_OF_BUFFER_CHAR 0 143 144 /* Size of default input buffer. */ 145 #ifndef YY_BUF_SIZE 146 #define YY_BUF_SIZE 16384 147 #endif 148 149 /* The state buf must be large enough to hold one state per character in the main buffer. 150 */ 151 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 152 153 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 154 #define YY_TYPEDEF_YY_BUFFER_STATE 155 typedef struct yy_buffer_state *YY_BUFFER_STATE; 156 #endif 157 158 #ifndef YY_TYPEDEF_YY_SIZE_T 159 #define YY_TYPEDEF_YY_SIZE_T 160 typedef size_t yy_size_t; 161 #endif 162 163 extern yy_size_t yyleng; 164 165 extern FILE *yyin, *yyout; 166 167 #define EOB_ACT_CONTINUE_SCAN 0 168 #define EOB_ACT_END_OF_FILE 1 169 #define EOB_ACT_LAST_MATCH 2 170 171 #define YY_LESS_LINENO(n) 172 173 /* Return all but the first "n" matched characters back to the input stream. */ 174 #define yyless(n) \ 175 do \ 176 { \ 177 /* Undo effects of setting up yytext. */ \ 178 int yyless_macro_arg = (n); \ 179 YY_LESS_LINENO(yyless_macro_arg);\ 180 *yy_cp = (yy_hold_char); \ 181 YY_RESTORE_YY_MORE_OFFSET \ 182 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 183 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 184 } \ 185 while ( 0 ) 186 187 #define unput(c) yyunput( c, (yytext_ptr) ) 188 189 #ifndef YY_STRUCT_YY_BUFFER_STATE 190 #define YY_STRUCT_YY_BUFFER_STATE 191 struct yy_buffer_state 192 { 193 FILE *yy_input_file; 194 195 char *yy_ch_buf; /* input buffer */ 196 char *yy_buf_pos; /* current position in input buffer */ 197 198 /* Size of input buffer in bytes, not including room for EOB 199 * characters. 200 */ 201 yy_size_t yy_buf_size; 202 203 /* Number of characters read into yy_ch_buf, not including EOB 204 * characters. 205 */ 206 yy_size_t yy_n_chars; 207 208 /* Whether we "own" the buffer - i.e., we know we created it, 209 * and can realloc() it to grow it, and should free() it to 210 * delete it. 211 */ 212 int yy_is_our_buffer; 213 214 /* Whether this is an "interactive" input source; if so, and 215 * if we're using stdio for input, then we want to use getc() 216 * instead of fread(), to make sure we stop fetching input after 217 * each newline. 218 */ 219 int yy_is_interactive; 220 221 /* Whether we're considered to be at the beginning of a line. 222 * If so, '^' rules will be active on the next match, otherwise 223 * not. 224 */ 225 int yy_at_bol; 226 227 int yy_bs_lineno; /**< The line count. */ 228 int yy_bs_column; /**< The column count. */ 229 230 /* Whether to try to fill the input buffer when we reach the 231 * end of it. 232 */ 233 int yy_fill_buffer; 234 235 int yy_buffer_status; 236 237 #define YY_BUFFER_NEW 0 238 #define YY_BUFFER_NORMAL 1 239 /* When an EOF's been seen but there's still some text to process 240 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 241 * shouldn't try reading from the input source any more. We might 242 * still have a bunch of tokens to match, though, because of 243 * possible backing-up. 244 * 245 * When we actually see the EOF, we change the status to "new" 246 * (via yyrestart()), so that the user can continue scanning by 247 * just pointing yyin at a new input file. 248 */ 249 #define YY_BUFFER_EOF_PENDING 2 250 251 }; 252 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 253 254 /* Stack of input buffers. */ 255 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 256 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 257 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 258 259 /* We provide macros for accessing buffer states in case in the 260 * future we want to put the buffer states in a more general 261 * "scanner state". 262 * 263 * Returns the top of the stack, or NULL. 264 */ 265 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 266 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 267 : NULL) 268 269 /* Same as previous macro, but useful when we know that the buffer stack is not 270 * NULL or when we need an lvalue. For internal use only. 271 */ 272 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 273 274 /* yy_hold_char holds the character lost when yytext is formed. */ 275 static char yy_hold_char; 276 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ 277 yy_size_t yyleng; 278 279 /* Points to current character in buffer. */ 280 static char *yy_c_buf_p = (char *) 0; 281 static int yy_init = 0; /* whether we need to initialize */ 282 static int yy_start = 0; /* start state number */ 283 284 /* Flag which is used to allow yywrap()'s to do buffer switches 285 * instead of setting up a fresh yyin. A bit of a hack ... 286 */ 287 static int yy_did_buffer_switch_on_eof; 288 289 void yyrestart (FILE *input_file ); 290 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 291 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); 292 void yy_delete_buffer (YY_BUFFER_STATE b ); 293 void yy_flush_buffer (YY_BUFFER_STATE b ); 294 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); 295 void yypop_buffer_state (void ); 296 297 static void yyensure_buffer_stack (void ); 298 static void yy_load_buffer_state (void ); 299 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); 300 301 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) 302 303 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); 304 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); 305 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); 306 307 void *yyalloc (yy_size_t ); 308 void *yyrealloc (void *,yy_size_t ); 309 void yyfree (void * ); 310 311 #define yy_new_buffer yy_create_buffer 312 313 #define yy_set_interactive(is_interactive) \ 314 { \ 315 if ( ! YY_CURRENT_BUFFER ){ \ 316 yyensure_buffer_stack (); \ 317 YY_CURRENT_BUFFER_LVALUE = \ 318 yy_create_buffer(yyin,YY_BUF_SIZE ); \ 319 } \ 320 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 321 } 322 323 #define yy_set_bol(at_bol) \ 324 { \ 325 if ( ! YY_CURRENT_BUFFER ){\ 326 yyensure_buffer_stack (); \ 327 YY_CURRENT_BUFFER_LVALUE = \ 328 yy_create_buffer(yyin,YY_BUF_SIZE ); \ 329 } \ 330 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 331 } 332 333 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 334 335 /* Begin user sect3 */ 336 337 typedef unsigned char YY_CHAR; 338 339 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 340 341 typedef int yy_state_type; 342 343 extern int yylineno; 344 345 int yylineno = 1; 346 347 extern char *yytext; 348 #define yytext_ptr yytext 349 350 static yy_state_type yy_get_previous_state (void ); 351 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 352 static int yy_get_next_buffer (void ); 353 static void yy_fatal_error (yyconst char msg[] ); 354 355 /* Done after the current pattern has been matched and before the 356 * corresponding action - sets up yytext. 357 */ 358 #define YY_DO_BEFORE_ACTION \ 359 (yytext_ptr) = yy_bp; \ 360 (yytext_ptr) -= (yy_more_len); \ 361 yyleng = (size_t) (yy_cp - (yytext_ptr)); \ 362 (yy_hold_char) = *yy_cp; \ 363 *yy_cp = '\0'; \ 364 (yy_c_buf_p) = yy_cp; 365 366 #define YY_NUM_RULES 142 367 #define YY_END_OF_BUFFER 143 368 /* This struct is not used in this scanner, 369 but its presence is necessary. */ 370 struct yy_trans_info 371 { 372 flex_int32_t yy_verify; 373 flex_int32_t yy_nxt; 374 }; 375 static yyconst flex_int16_t yy_accept[1343] = 376 { 0, 377 1, 1, 124, 124, 128, 128, 132, 132, 136, 136, 378 1, 1, 143, 140, 1, 122, 122, 141, 2, 140, 379 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 380 140, 140, 140, 140, 140, 140, 140, 140, 141, 124, 381 125, 125, 126, 141, 128, 129, 129, 130, 141, 135, 382 132, 133, 133, 134, 141, 136, 137, 137, 138, 141, 383 139, 123, 2, 127, 139, 141, 140, 0, 1, 2, 384 2, 2, 2, 140, 140, 140, 140, 140, 140, 140, 385 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 386 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 387 388 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 389 140, 140, 140, 140, 140, 140, 140, 140, 140, 124, 390 0, 128, 0, 135, 0, 132, 136, 0, 139, 0, 391 2, 2, 139, 140, 140, 140, 140, 140, 140, 140, 392 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 393 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 394 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 395 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 396 140, 140, 140, 140, 140, 140, 139, 140, 140, 140, 397 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 398 399 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 400 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 401 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 402 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 403 140, 140, 140, 140, 140, 140, 140, 140, 140, 139, 404 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 405 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 406 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 407 140, 140, 140, 140, 140, 140, 140, 62, 140, 140, 408 140, 140, 140, 6, 140, 140, 140, 140, 140, 140, 409 410 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 411 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 412 140, 140, 140, 140, 139, 140, 140, 140, 140, 140, 413 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 414 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 415 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 416 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 417 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 418 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 419 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 420 421 140, 140, 140, 140, 139, 140, 140, 140, 140, 27, 422 140, 140, 140, 140, 140, 12, 13, 140, 15, 14, 423 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 424 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 425 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 426 140, 140, 140, 140, 140, 118, 140, 140, 140, 140, 427 140, 3, 140, 140, 140, 140, 140, 140, 140, 140, 428 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 429 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 430 139, 140, 140, 140, 140, 140, 140, 140, 140, 140, 431 432 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 433 140, 140, 140, 140, 140, 140, 131, 140, 140, 140, 434 140, 140, 140, 140, 140, 140, 140, 140, 140, 30, 435 140, 140, 140, 140, 140, 140, 140, 140, 31, 140, 436 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 437 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 438 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 439 140, 140, 140, 140, 140, 77, 131, 140, 140, 140, 440 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 441 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 442 443 140, 140, 140, 140, 140, 140, 140, 76, 140, 140, 444 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 445 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 446 60, 140, 140, 140, 140, 140, 140, 140, 140, 140, 447 140, 140, 20, 140, 140, 140, 140, 140, 140, 140, 448 140, 140, 140, 140, 140, 140, 140, 140, 28, 140, 449 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 450 140, 140, 140, 140, 140, 140, 140, 140, 29, 140, 451 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 452 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 453 454 140, 140, 140, 22, 140, 140, 140, 140, 140, 140, 455 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 456 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 457 140, 140, 25, 26, 140, 140, 140, 63, 140, 64, 458 140, 61, 140, 140, 140, 140, 140, 140, 140, 140, 459 140, 140, 140, 140, 140, 140, 5, 140, 140, 140, 460 140, 140, 140, 140, 140, 140, 140, 140, 140, 79, 461 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 462 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 463 140, 140, 140, 140, 140, 140, 140, 104, 103, 140, 464 465 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 466 140, 140, 140, 140, 140, 140, 140, 32, 140, 140, 467 140, 140, 140, 140, 140, 66, 65, 140, 140, 140, 468 140, 140, 140, 100, 140, 140, 140, 140, 140, 140, 469 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 470 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 471 140, 140, 140, 140, 51, 140, 140, 140, 140, 140, 472 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 473 140, 102, 140, 140, 140, 140, 140, 140, 140, 140, 474 4, 140, 140, 140, 140, 140, 140, 140, 140, 140, 475 476 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 477 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 478 140, 140, 97, 140, 140, 140, 140, 140, 140, 140, 479 112, 98, 140, 21, 140, 140, 140, 140, 68, 140, 480 69, 67, 140, 140, 140, 140, 140, 140, 75, 140, 481 140, 140, 140, 140, 140, 140, 140, 140, 99, 140, 482 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 483 140, 140, 140, 140, 59, 140, 140, 140, 140, 140, 484 140, 140, 140, 140, 140, 17, 140, 140, 140, 16, 485 140, 84, 140, 140, 140, 140, 140, 140, 140, 140, 486 487 140, 140, 140, 140, 39, 40, 140, 140, 140, 140, 488 140, 140, 140, 140, 140, 140, 70, 140, 140, 140, 489 140, 140, 74, 140, 140, 140, 140, 140, 140, 140, 490 140, 140, 140, 140, 140, 140, 140, 78, 140, 140, 491 140, 140, 140, 140, 140, 140, 140, 140, 140, 117, 492 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 493 140, 140, 140, 140, 140, 88, 140, 92, 140, 140, 494 140, 140, 73, 140, 140, 110, 140, 140, 140, 140, 495 140, 140, 140, 140, 140, 140, 140, 140, 140, 91, 496 140, 140, 140, 140, 41, 42, 140, 47, 93, 140, 497 498 105, 101, 140, 140, 35, 140, 95, 140, 140, 140, 499 140, 140, 7, 140, 58, 109, 140, 140, 140, 140, 500 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 501 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 502 80, 140, 140, 119, 140, 140, 140, 140, 140, 140, 503 140, 140, 140, 140, 140, 140, 94, 140, 34, 36, 504 140, 140, 140, 140, 140, 57, 140, 140, 140, 140, 505 113, 18, 19, 140, 140, 140, 140, 140, 140, 55, 506 140, 140, 140, 140, 140, 140, 140, 140, 140, 115, 507 140, 140, 33, 140, 140, 140, 140, 140, 140, 11, 508 509 140, 140, 140, 140, 140, 140, 140, 10, 140, 140, 510 37, 140, 121, 114, 140, 140, 140, 140, 140, 140, 511 140, 140, 140, 140, 87, 86, 140, 116, 111, 140, 512 140, 140, 140, 140, 140, 140, 140, 140, 140, 43, 513 140, 120, 140, 140, 140, 140, 38, 140, 140, 140, 514 81, 83, 140, 140, 140, 85, 140, 140, 140, 140, 515 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 516 23, 140, 140, 140, 140, 140, 140, 140, 140, 140, 517 140, 140, 140, 108, 140, 140, 140, 140, 140, 140, 518 140, 24, 140, 9, 140, 140, 106, 48, 140, 140, 519 520 140, 90, 140, 71, 140, 140, 140, 50, 54, 49, 521 140, 44, 140, 8, 140, 140, 89, 140, 140, 140, 522 53, 140, 45, 140, 107, 140, 140, 82, 72, 52, 523 46, 140, 140, 140, 140, 56, 140, 140, 140, 140, 524 96, 0 525 } ; 526 527 static yyconst flex_int32_t yy_ec[256] = 528 { 0, 529 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 530 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 532 1, 2, 1, 5, 6, 1, 1, 1, 7, 1, 533 1, 1, 1, 1, 8, 1, 1, 1, 1, 1, 534 9, 10, 1, 11, 1, 1, 1, 12, 1, 1, 535 1, 1, 1, 1, 13, 14, 15, 16, 17, 18, 536 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 537 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 538 1, 39, 1, 1, 1, 1, 40, 41, 42, 43, 539 540 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 541 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 542 64, 65, 1, 1, 1, 1, 1, 1, 1, 1, 543 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 544 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 545 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 548 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 549 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 550 551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 554 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 556 1, 1, 1, 1, 1 557 } ; 558 559 static yyconst flex_int32_t yy_meta[66] = 560 { 0, 561 1, 2, 3, 4, 5, 1, 6, 1, 1, 1, 562 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 567 1, 1, 1, 1, 1 568 } ; 569 570 static yyconst flex_int16_t yy_base[1357] = 571 { 0, 572 0, 0, 63, 66, 69, 71, 77, 83, 88, 91, 573 129, 135, 483, 443, 95, 3880, 3880, 3880, 107, 110, 574 142, 140, 108, 50, 159, 147, 121, 148, 158, 174, 575 191, 176, 190, 216, 225, 235, 214, 246, 116, 436, 576 3880, 3880, 3880, 94, 402, 3880, 3880, 3880, 96, 335, 577 329, 3880, 3880, 3880, 214, 282, 3880, 3880, 3880, 102, 578 250, 3880, 289, 3880, 184, 293, 239, 297, 111, 0, 579 301, 0, 0, 219, 223, 248, 273, 280, 285, 290, 580 286, 283, 310, 294, 291, 297, 309, 316, 232, 319, 581 338, 303, 334, 345, 326, 347, 349, 342, 350, 360, 582 583 343, 376, 370, 384, 371, 368, 187, 375, 374, 137, 584 387, 403, 378, 390, 401, 386, 405, 400, 407, 229, 585 154, 186, 199, 163, 448, 176, 115, 277, 90, 452, 586 463, 0, 432, 441, 318, 433, 442, 439, 437, 465, 587 462, 469, 493, 471, 455, 473, 453, 479, 490, 477, 588 494, 496, 498, 510, 492, 517, 530, 526, 549, 522, 589 525, 532, 542, 534, 536, 541, 544, 545, 556, 529, 590 558, 552, 560, 559, 568, 578, 574, 561, 582, 591, 591 603, 583, 599, 610, 607, 612, 608, 594, 611, 616, 592 617, 618, 624, 640, 629, 635, 649, 637, 639, 658, 593 594 664, 643, 669, 657, 672, 677, 676, 663, 660, 665, 595 680, 688, 679, 690, 698, 705, 699, 701, 703, 706, 596 710, 738, 674, 720, 734, 716, 733, 736, 739, 752, 597 747, 737, 756, 750, 767, 773, 761, 766, 777, 763, 598 790, 771, 781, 791, 804, 797, 849, 800, 812, 789, 599 814, 820, 809, 830, 826, 828, 839, 847, 831, 866, 600 884, 857, 853, 859, 873, 883, 893, 881, 889, 896, 601 892, 902, 909, 906, 910, 911, 916, 912, 926, 935, 602 920, 937, 938, 948, 951, 934, 957, 3880, 959, 942, 603 962, 965, 954, 3880, 952, 968, 953, 986, 990, 975, 604 605 978, 981, 1000, 992, 1001, 993, 995, 1041, 1012, 994, 606 1033, 1023, 1025, 1019, 1034, 1036, 1046, 1039, 1029, 1050, 607 1059, 1070, 1061, 1068, 1078, 1028, 1075, 1071, 1077, 1092, 608 1081, 1084, 1085, 1098, 1102, 1103, 1113, 1122, 1121, 1124, 609 1126, 1110, 1127, 1129, 1130, 1134, 1136, 1119, 1140, 1142, 610 1148, 1168, 1151, 1154, 1146, 1161, 1166, 1167, 1173, 1178, 611 1175, 1181, 1179, 1193, 1198, 1199, 1191, 1197, 1210, 1213, 612 1212, 1233, 1194, 1218, 1229, 1234, 1239, 1244, 1230, 1231, 613 1236, 1242, 1260, 1243, 1238, 1254, 1263, 1271, 1258, 1282, 614 1280, 1281, 1276, 1269, 1287, 1290, 1289, 1295, 1296, 1307, 615 616 1308, 1311, 1316, 1279, 1327, 1328, 1329, 1309, 1339, 3880, 617 1341, 1338, 1343, 1336, 1335, 3880, 3880, 1347, 3880, 3880, 618 1363, 1367, 1374, 1353, 1404, 1371, 1365, 1357, 1390, 1385, 619 1380, 1401, 1398, 1414, 1394, 1399, 1417, 1410, 1426, 1424, 620 1429, 1425, 1432, 1438, 1445, 1449, 1450, 1452, 1443, 1457, 621 1464, 1467, 1465, 1468, 1459, 3880, 1466, 1476, 1479, 1482, 622 1499, 3880, 1487, 1491, 1484, 1493, 1496, 1492, 1509, 1503, 623 1506, 1518, 1520, 1526, 1524, 1535, 1472, 1537, 1519, 1543, 624 1545, 1536, 1559, 1562, 1553, 1548, 1554, 1573, 1558, 1574, 625 1579, 1575, 1584, 1572, 1568, 1582, 1621, 1594, 1583, 1589, 626 627 1593, 1601, 1600, 1606, 1617, 1639, 1631, 1615, 1634, 1642, 628 1649, 1644, 1641, 1656, 1650, 1658, 3880, 1664, 1677, 1659, 629 1671, 1682, 1679, 1674, 1685, 1676, 1681, 1691, 1698, 3880, 630 1692, 1701, 1694, 1708, 1719, 1720, 1730, 1734, 3880, 1736, 631 1737, 1739, 1718, 1728, 1746, 1723, 1747, 1754, 1756, 1761, 632 1753, 1763, 1760, 1774, 1764, 1765, 1773, 1783, 1780, 1790, 633 1779, 1799, 1787, 1743, 1807, 1800, 1808, 1794, 1804, 1816, 634 337, 1812, 1810, 1814, 1811, 3880, 76, 1834, 1817, 1827, 635 1853, 1854, 1846, 1838, 1842, 1857, 1843, 1849, 1866, 1850, 636 1863, 1877, 1867, 1883, 1873, 1893, 1878, 1881, 1891, 1889, 637 638 1884, 1900, 1880, 1911, 1907, 1909, 1923, 3880, 1875, 1912, 639 1927, 1920, 1936, 1946, 1918, 1928, 1916, 1950, 1947, 1955, 640 1956, 1961, 1958, 1953, 1965, 1969, 1970, 1977, 1991, 1979, 641 3880, 1985, 1986, 1976, 1996, 1992, 1987, 2006, 1997, 2004, 642 2025, 2026, 3880, 2027, 2034, 2016, 2040, 2021, 2044, 2045, 643 2046, 2031, 2054, 2047, 2058, 2042, 2043, 2057, 3880, 2069, 644 2079, 2075, 2083, 2084, 2070, 2077, 2092, 2074, 2072, 2087, 645 2078, 2097, 2082, 2102, 2106, 2107, 2110, 2085, 3880, 2140, 646 2112, 2123, 2137, 2125, 2127, 2144, 2131, 2153, 2104, 2136, 647 2154, 2152, 2155, 2156, 2159, 2176, 2175, 2160, 2170, 2187, 648 649 2198, 2199, 2195, 3880, 2200, 2193, 2182, 2210, 2208, 2194, 650 2197, 2211, 2209, 2202, 2212, 2214, 2225, 2226, 2232, 2227, 651 2234, 2250, 2242, 2252, 2253, 2254, 2235, 2264, 2260, 2280, 652 2268, 2271, 3880, 3880, 2281, 2269, 2272, 3880, 2285, 3880, 653 2289, 3880, 2291, 2299, 2287, 2276, 2304, 2290, 2306, 2303, 654 2318, 2298, 2311, 2330, 2316, 2332, 3880, 2321, 2326, 2341, 655 2324, 2336, 2338, 2350, 2349, 2314, 2353, 2360, 2364, 3880, 656 2367, 2357, 2375, 2328, 2385, 2371, 2369, 2383, 2387, 2381, 657 2390, 2393, 2401, 2400, 2405, 2409, 2397, 2414, 2394, 2427, 658 2415, 2417, 2419, 2424, 2436, 2438, 2432, 3880, 3880, 2449, 659 660 2452, 2441, 2451, 2442, 2471, 2463, 2462, 2473, 2465, 2468, 661 2475, 2477, 2469, 2479, 2500, 2487, 2495, 3880, 2490, 2498, 662 2509, 2505, 2519, 2510, 2526, 3880, 3880, 2525, 2518, 2521, 663 2515, 2528, 2536, 3880, 2537, 2543, 2546, 2560, 2562, 2532, 664 2549, 2564, 2569, 2561, 2568, 2570, 2581, 2571, 2585, 2584, 665 2586, 2593, 2591, 2601, 2589, 2594, 2595, 2599, 2604, 2605, 666 2623, 2624, 2609, 2626, 3880, 2637, 2616, 2639, 2613, 2644, 667 2646, 2641, 2643, 2640, 2649, 2652, 2627, 2658, 2651, 2679, 668 2661, 3880, 2674, 2671, 2684, 2685, 2666, 2689, 2676, 2693, 669 3880, 2695, 2699, 2703, 2698, 2697, 2710, 2719, 2711, 2718, 670 671 2716, 2724, 2734, 2732, 2736, 2744, 2727, 2742, 2738, 2749, 672 2757, 2768, 2758, 2776, 2761, 2774, 2765, 2755, 2785, 2764, 673 2791, 2781, 3880, 2787, 2789, 2794, 2792, 2797, 2800, 2801, 674 3880, 3880, 2784, 3880, 2814, 2804, 2821, 2823, 3880, 2809, 675 3880, 3880, 2820, 2839, 2827, 2837, 2841, 2840, 3880, 2845, 676 2831, 2854, 2835, 2848, 2857, 2861, 2859, 2865, 3880, 2871, 677 2875, 2862, 2881, 2879, 2891, 2868, 2892, 2903, 2904, 2906, 678 2895, 2896, 2914, 2910, 3880, 2907, 2921, 2925, 2917, 2937, 679 2943, 2930, 2938, 2942, 2953, 3880, 2941, 2940, 2955, 3880, 680 2957, 3880, 2969, 2934, 2970, 2928, 2974, 2951, 2972, 2984, 681 682 2987, 2976, 2993, 2986, 3880, 3880, 2995, 3000, 3006, 2996, 683 3012, 3001, 3009, 3020, 3003, 3018, 3880, 3014, 3021, 3022, 684 3030, 3032, 3880, 3046, 3047, 3041, 3045, 3059, 3055, 3061, 685 3049, 3063, 3066, 3052, 3075, 3078, 3064, 3880, 3079, 3092, 686 3076, 3094, 3081, 3090, 3097, 3112, 3104, 3088, 3109, 3880, 687 3114, 3103, 3115, 3111, 3106, 3127, 3110, 3131, 3125, 3143, 688 3134, 3141, 3142, 2999, 3153, 3880, 3140, 3880, 3154, 3164, 689 3168, 3173, 3880, 3170, 3167, 3880, 3169, 3161, 3183, 3194, 690 3186, 3202, 3199, 3187, 3201, 3188, 3206, 3190, 3197, 3880, 691 3220, 3213, 3214, 3217, 3880, 3880, 3226, 3880, 3880, 3223, 692 693 3880, 3880, 3232, 3239, 3880, 3242, 3880, 3224, 3247, 3240, 694 3230, 3238, 3880, 3255, 3880, 3880, 3253, 3259, 3246, 3257, 695 3268, 3271, 3272, 3264, 3263, 3265, 3266, 3282, 3280, 3296, 696 3288, 3275, 3286, 3298, 3290, 3302, 3292, 3307, 3313, 3320, 697 3880, 3304, 3325, 3880, 3330, 3323, 3321, 3317, 3324, 3338, 698 3337, 3346, 3359, 3343, 3341, 3347, 3880, 3352, 3880, 3880, 699 3355, 3363, 3361, 3357, 3362, 3880, 3376, 3373, 3377, 3378, 700 3880, 3880, 3880, 3390, 3374, 3386, 3401, 3403, 3389, 3880, 701 3394, 3405, 3407, 3399, 3411, 3415, 3424, 3425, 3427, 3880, 702 3426, 3417, 3880, 3437, 3430, 3436, 3438, 3448, 3441, 3880, 703 704 3442, 3452, 3446, 3451, 3455, 3454, 3475, 3880, 3457, 3470, 705 3880, 3459, 3880, 3880, 3465, 3489, 3488, 3494, 3495, 3478, 706 3486, 3503, 3501, 3502, 3880, 3880, 3498, 3880, 3880, 3492, 707 3512, 3505, 3507, 3510, 3509, 3522, 3517, 3531, 3525, 3880, 708 3547, 3880, 3528, 3548, 3552, 3551, 3880, 3553, 3549, 3532, 709 3880, 3880, 3558, 3564, 3559, 3880, 3566, 3572, 3575, 3582, 710 3596, 3591, 3585, 3584, 3598, 3599, 3587, 3588, 3605, 3611, 711 3880, 3610, 3602, 3614, 3617, 3619, 3620, 3623, 3625, 3642, 712 3641, 3648, 3632, 3880, 3640, 3650, 3656, 3657, 3658, 3659, 713 3660, 3880, 3669, 3880, 3661, 3666, 3880, 3880, 3665, 3674, 714 715 3684, 3880, 3685, 3880, 3675, 3676, 3700, 3880, 3880, 3880, 716 3679, 3880, 3701, 3880, 3694, 3692, 3880, 3681, 3709, 3710, 717 3880, 3713, 3880, 3714, 3880, 3703, 3717, 3880, 3880, 3880, 718 3880, 3716, 3719, 3723, 3724, 3880, 3734, 3711, 3729, 3735, 719 3880, 3880, 3788, 3795, 3802, 3809, 3816, 82, 3823, 3830, 720 3837, 3844, 3851, 3858, 3865, 3872 721 } ; 722 723 static yyconst flex_int16_t yy_def[1357] = 724 { 0, 725 1342, 1, 1343, 1343, 1344, 1344, 1345, 1345, 1346, 1346, 726 1347, 1347, 1342, 1348, 1342, 1342, 1342, 1342, 1349, 1348, 727 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 728 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1350, 729 1342, 1342, 1342, 1350, 1351, 1342, 1342, 1342, 1351, 1352, 730 1342, 1342, 1342, 1342, 1352, 1353, 1342, 1342, 1342, 1353, 731 1354, 1342, 1355, 1342, 1354, 1354, 1348, 1348, 1342, 1356, 732 1349, 1356, 1349, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 733 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 734 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 735 736 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 737 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1350, 738 1350, 1351, 1351, 1352, 1352, 1342, 1353, 1353, 1354, 1354, 739 1355, 1355, 1354, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 740 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 741 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 742 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 743 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 744 1348, 1348, 1348, 1348, 1348, 1348, 1354, 1348, 1348, 1348, 745 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 746 747 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 748 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 749 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 750 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 751 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1354, 752 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 753 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 754 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 755 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 756 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 757 758 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 759 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 760 1348, 1348, 1348, 1348, 1354, 1348, 1348, 1348, 1348, 1348, 761 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 762 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 763 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 764 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 765 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 766 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 767 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 768 769 1348, 1348, 1348, 1348, 1354, 1348, 1348, 1348, 1348, 1342, 770 1348, 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1342, 1342, 771 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 772 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 773 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 774 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 775 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 776 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 777 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 778 1354, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 779 780 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 781 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 782 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 783 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 784 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 785 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 786 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 787 1348, 1348, 1348, 1348, 1348, 1342, 1354, 1348, 1348, 1348, 788 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 789 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 790 791 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 792 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 793 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 794 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 795 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 796 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 797 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 798 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 799 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 800 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 801 802 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 803 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 804 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 805 1348, 1348, 1342, 1342, 1348, 1348, 1348, 1342, 1348, 1342, 806 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 807 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 808 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 809 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 810 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 811 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1342, 1348, 812 813 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 814 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 815 1348, 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1348, 1348, 816 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 817 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 818 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 819 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 820 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 821 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 822 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 823 824 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 825 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 826 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 827 1342, 1342, 1348, 1342, 1348, 1348, 1348, 1348, 1342, 1348, 828 1342, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 829 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 830 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 831 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 832 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1342, 833 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 834 835 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1348, 1348, 1348, 836 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 837 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 838 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 839 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 840 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 841 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1342, 1348, 1348, 842 1348, 1348, 1342, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 843 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 844 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1342, 1342, 1348, 845 846 1342, 1342, 1348, 1348, 1342, 1348, 1342, 1348, 1348, 1348, 847 1348, 1348, 1342, 1348, 1342, 1342, 1348, 1348, 1348, 1348, 848 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 849 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 850 1342, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 851 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1342, 1342, 852 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 853 1342, 1342, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 854 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 855 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 856 857 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 858 1342, 1348, 1342, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 859 1348, 1348, 1348, 1348, 1342, 1342, 1348, 1342, 1342, 1348, 860 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1342, 861 1348, 1342, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 862 1342, 1342, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 863 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 864 1342, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 865 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 1348, 1348, 866 1348, 1342, 1348, 1342, 1348, 1348, 1342, 1342, 1348, 1348, 867 868 1348, 1342, 1348, 1342, 1348, 1348, 1348, 1342, 1342, 1342, 869 1348, 1342, 1348, 1342, 1348, 1348, 1342, 1348, 1348, 1348, 870 1342, 1348, 1342, 1348, 1342, 1348, 1348, 1342, 1342, 1342, 871 1342, 1348, 1348, 1348, 1348, 1342, 1348, 1348, 1348, 1348, 872 1342, 0, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 873 1342, 1342, 1342, 1342, 1342, 1342 874 } ; 875 876 static yyconst flex_int16_t yy_nxt[3946] = 877 { 0, 878 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, 879 14, 18, 20, 14, 21, 22, 23, 24, 14, 25, 880 26, 27, 28, 29, 30, 31, 32, 33, 14, 34, 881 35, 36, 37, 38, 14, 14, 14, 14, 39, 20, 882 14, 21, 22, 23, 24, 14, 25, 26, 27, 28, 883 29, 30, 31, 32, 33, 14, 34, 35, 36, 37, 884 38, 14, 14, 14, 14, 41, 42, 43, 41, 42, 885 43, 46, 47, 46, 47, 48, 86, 48, 51, 52, 886 53, 54, 67, 18, 51, 52, 53, 54, 68, 18, 887 57, 58, 59, 57, 58, 59, 69, 120, 120, 122, 888 889 70, 44, 122, 86, 44, 127, 127, 49, 72, 49, 890 72, 72, 69, 72, 130, 55, 70, 67, 72, 67, 891 67, 55, 67, 84, 74, 75, 60, 67, 130, 60, 892 15, 16, 17, 62, 63, 64, 15, 16, 17, 62, 893 63, 64, 76, 85, 176, 73, 68, 92, 68, 65, 894 84, 74, 75, 128, 77, 65, 80, 120, 120, 68, 895 81, 78, 89, 82, 93, 90, 83, 66, 79, 76, 896 85, 87, 91, 66, 92, 68, 65, 126, 68, 88, 897 68, 77, 65, 80, 94, 68, 68, 81, 78, 89, 898 82, 93, 90, 83, 95, 79, 68, 68, 87, 91, 899 900 96, 125, 122, 98, 97, 122, 88, 99, 101, 133, 901 102, 94, 68, 173, 68, 124, 103, 124, 124, 104, 902 124, 95, 130, 100, 123, 68, 105, 96, 68, 68, 903 98, 97, 106, 134, 99, 101, 133, 102, 135, 116, 904 173, 109, 107, 103, 117, 108, 104, 113, 150, 114, 905 100, 110, 68, 105, 68, 111, 112, 68, 118, 106, 906 134, 68, 119, 68, 115, 135, 116, 121, 109, 107, 907 68, 117, 108, 68, 113, 150, 114, 68, 110, 136, 908 127, 127, 111, 112, 68, 118, 68, 137, 130, 119, 909 72, 115, 72, 72, 129, 72, 129, 129, 67, 129, 910 911 67, 67, 72, 67, 72, 72, 136, 72, 67, 138, 912 139, 68, 72, 140, 137, 141, 142, 143, 68, 145, 913 128, 68, 146, 68, 68, 189, 147, 132, 68, 68, 914 126, 149, 68, 155, 144, 68, 138, 139, 148, 73, 915 140, 68, 141, 142, 151, 663, 145, 68, 68, 146, 916 156, 160, 152, 147, 68, 153, 68, 68, 149, 158, 917 155, 144, 161, 159, 68, 148, 163, 162, 164, 154, 918 157, 151, 68, 125, 166, 68, 68, 156, 160, 152, 919 68, 68, 153, 68, 165, 68, 158, 68, 68, 161, 920 159, 167, 172, 163, 162, 164, 154, 157, 68, 168, 921 922 169, 166, 171, 175, 170, 174, 68, 180, 68, 68, 923 177, 165, 68, 68, 68, 178, 68, 181, 167, 172, 924 183, 184, 68, 185, 68, 68, 168, 169, 68, 171, 925 175, 170, 174, 182, 180, 179, 186, 177, 68, 68, 926 123, 68, 178, 68, 181, 68, 187, 183, 184, 124, 927 185, 124, 124, 129, 124, 129, 129, 188, 129, 190, 928 182, 191, 179, 186, 72, 192, 72, 72, 193, 72, 929 130, 68, 194, 187, 121, 68, 196, 68, 195, 68, 930 68, 68, 1342, 202, 188, 203, 190, 205, 191, 204, 931 1342, 68, 192, 68, 206, 193, 1342, 1342, 1342, 1342, 932 933 68, 132, 208, 68, 1342, 195, 207, 68, 197, 68, 934 202, 68, 203, 198, 205, 68, 204, 68, 199, 210, 935 209, 206, 211, 214, 200, 201, 213, 212, 68, 208, 936 68, 68, 68, 207, 68, 197, 68, 216, 217, 222, 937 198, 224, 220, 225, 215, 199, 210, 209, 68, 211, 938 214, 200, 201, 213, 212, 68, 218, 221, 223, 226, 939 68, 227, 230, 68, 68, 217, 219, 68, 68, 220, 940 68, 215, 68, 229, 68, 234, 228, 231, 232, 68, 941 68, 238, 68, 68, 221, 223, 226, 68, 227, 230, 942 68, 233, 239, 219, 68, 240, 68, 68, 68, 68, 943 944 229, 235, 234, 228, 231, 232, 68, 236, 237, 241, 945 242, 244, 68, 243, 247, 1342, 68, 245, 233, 239, 946 68, 68, 240, 253, 251, 248, 1342, 1342, 235, 68, 947 252, 250, 68, 254, 236, 237, 241, 68, 244, 246, 948 243, 68, 249, 258, 255, 68, 130, 259, 68, 68, 949 68, 251, 248, 256, 68, 68, 68, 252, 250, 257, 950 254, 260, 68, 265, 261, 262, 246, 68, 1342, 249, 951 258, 255, 263, 68, 259, 68, 266, 68, 68, 264, 952 256, 68, 267, 270, 268, 288, 257, 68, 260, 272, 953 265, 261, 262, 269, 271, 68, 68, 273, 68, 263, 954 955 275, 68, 68, 68, 274, 278, 264, 68, 276, 267, 956 68, 268, 68, 277, 68, 68, 272, 68, 68, 279, 957 269, 271, 280, 283, 273, 1342, 68, 275, 68, 281, 958 284, 274, 282, 285, 289, 276, 68, 68, 1342, 68, 959 277, 68, 292, 68, 68, 1342, 279, 294, 68, 280, 960 283, 286, 287, 293, 68, 295, 281, 284, 68, 282, 961 285, 289, 290, 299, 296, 291, 1342, 1342, 298, 292, 962 308, 68, 68, 297, 68, 68, 68, 68, 286, 287, 963 293, 300, 295, 301, 1342, 68, 303, 302, 68, 290, 964 68, 296, 291, 304, 68, 298, 305, 307, 306, 68, 965 966 297, 68, 1342, 310, 68, 68, 309, 1342, 300, 68, 967 301, 68, 311, 303, 302, 68, 312, 1342, 313, 68, 968 304, 325, 315, 305, 307, 306, 323, 130, 68, 68, 969 310, 1342, 324, 309, 314, 68, 1342, 329, 68, 311, 970 328, 1342, 68, 312, 326, 313, 327, 68, 325, 315, 971 68, 1342, 68, 323, 331, 1342, 334, 330, 68, 324, 972 1342, 314, 316, 317, 68, 332, 68, 328, 68, 68, 973 1342, 326, 318, 327, 319, 320, 321, 68, 333, 322, 974 339, 331, 335, 334, 330, 68, 340, 68, 338, 316, 975 317, 68, 332, 336, 337, 68, 342, 68, 341, 318, 976 977 1342, 319, 320, 321, 68, 333, 322, 339, 343, 335, 978 344, 68, 348, 340, 345, 338, 346, 352, 349, 68, 979 1342, 68, 68, 342, 350, 341, 351, 68, 353, 347, 980 68, 68, 354, 1342, 68, 343, 355, 344, 356, 348, 981 68, 345, 357, 346, 68, 349, 1342, 68, 68, 68, 982 68, 350, 358, 351, 68, 353, 347, 359, 68, 354, 983 361, 360, 1342, 355, 68, 356, 363, 362, 1342, 364, 984 1342, 365, 68, 68, 366, 68, 68, 369, 372, 358, 985 68, 367, 375, 370, 359, 368, 68, 361, 360, 68, 986 68, 68, 68, 363, 362, 68, 364, 68, 365, 371, 987 988 68, 366, 373, 68, 369, 372, 68, 376, 367, 374, 989 370, 1342, 368, 68, 377, 378, 68, 380, 379, 68, 990 381, 389, 1342, 1342, 68, 382, 371, 1342, 68, 373, 991 68, 68, 68, 68, 376, 406, 374, 393, 68, 68, 992 390, 377, 378, 388, 380, 379, 395, 381, 389, 391, 993 68, 1342, 382, 383, 392, 394, 1342, 68, 384, 399, 994 385, 68, 396, 68, 393, 398, 68, 68, 386, 397, 995 388, 68, 68, 395, 68, 401, 391, 68, 387, 68, 996 383, 392, 394, 400, 68, 384, 399, 385, 68, 396, 997 402, 403, 398, 405, 404, 386, 397, 68, 407, 68, 998 999 408, 409, 401, 410, 411, 387, 68, 412, 68, 68, 1000 400, 413, 414, 68, 416, 68, 130, 402, 403, 68, 1001 405, 404, 68, 68, 417, 407, 415, 408, 409, 418, 1002 68, 411, 419, 421, 412, 420, 68, 425, 413, 414, 1003 68, 68, 422, 423, 424, 1342, 1342, 429, 68, 426, 1004 428, 68, 427, 415, 1342, 1342, 1342, 68, 430, 68, 1005 68, 436, 68, 435, 68, 68, 437, 68, 68, 422, 1006 423, 424, 68, 431, 68, 438, 426, 428, 68, 427, 1007 68, 439, 432, 441, 68, 430, 68, 433, 445, 68, 1008 435, 434, 68, 437, 443, 1342, 446, 442, 444, 68, 1009 1010 431, 457, 438, 440, 68, 68, 68, 447, 439, 432, 1011 441, 68, 448, 68, 433, 449, 68, 68, 434, 68, 1012 450, 443, 451, 446, 442, 444, 452, 453, 454, 68, 1013 440, 68, 68, 1342, 447, 68, 68, 68, 458, 448, 1014 455, 461, 449, 459, 456, 462, 1342, 450, 68, 451, 1015 68, 68, 463, 452, 453, 454, 68, 464, 460, 465, 1016 466, 1342, 1342, 470, 471, 458, 467, 68, 68, 68, 1017 459, 68, 68, 468, 68, 469, 68, 68, 474, 463, 1018 68, 68, 68, 472, 464, 460, 465, 466, 475, 473, 1019 470, 471, 68, 467, 476, 477, 68, 478, 68, 480, 1020 1021 468, 68, 469, 479, 490, 483, 1342, 68, 482, 68, 1022 472, 481, 485, 484, 68, 475, 473, 68, 68, 68, 1023 68, 476, 477, 486, 478, 68, 480, 68, 68, 488, 1024 479, 490, 483, 68, 68, 482, 489, 487, 481, 485, 1025 484, 494, 492, 491, 493, 68, 68, 68, 497, 68, 1026 486, 495, 1342, 498, 68, 500, 488, 1342, 1342, 496, 1027 506, 501, 1342, 489, 487, 130, 68, 68, 494, 492, 1028 491, 493, 499, 68, 68, 502, 68, 68, 495, 68, 1029 498, 68, 500, 503, 504, 68, 496, 513, 501, 505, 1030 1342, 68, 1342, 515, 514, 68, 517, 1342, 518, 499, 1031 1032 1342, 68, 502, 68, 516, 68, 1342, 1342, 522, 68, 1033 503, 504, 68, 519, 513, 1342, 505, 507, 68, 508, 1034 515, 514, 509, 68, 520, 518, 521, 510, 68, 525, 1035 523, 516, 68, 511, 512, 522, 68, 68, 526, 68, 1036 519, 529, 68, 530, 507, 531, 508, 524, 68, 509, 1037 527, 520, 68, 521, 510, 68, 525, 523, 528, 532, 1038 511, 512, 68, 68, 68, 526, 533, 68, 529, 534, 1039 68, 535, 536, 537, 524, 541, 68, 527, 539, 563, 1040 543, 68, 538, 68, 540, 528, 532, 68, 68, 542, 1041 68, 545, 1342, 533, 1342, 68, 534, 68, 535, 536, 1042 1043 537, 544, 68, 68, 68, 68, 68, 543, 546, 538, 1044 68, 540, 554, 547, 68, 551, 542, 68, 545, 549, 1045 68, 548, 68, 550, 555, 68, 552, 553, 544, 68, 1046 68, 68, 556, 1342, 68, 546, 557, 68, 558, 554, 1047 547, 68, 551, 560, 68, 559, 549, 68, 548, 565, 1048 550, 555, 564, 552, 553, 561, 68, 68, 68, 556, 1049 562, 567, 68, 557, 68, 558, 566, 571, 568, 570, 1050 560, 569, 559, 68, 68, 68, 565, 572, 573, 564, 1051 574, 68, 561, 68, 1342, 576, 68, 562, 567, 575, 1052 577, 68, 68, 566, 571, 568, 68, 68, 569, 579, 1053 1054 68, 578, 580, 581, 572, 573, 68, 582, 1342, 588, 1055 68, 68, 68, 68, 1342, 590, 575, 130, 591, 589, 1056 68, 68, 68, 594, 595, 593, 579, 68, 578, 580, 1057 581, 68, 68, 592, 582, 583, 588, 584, 68, 68, 1058 601, 585, 590, 586, 68, 591, 589, 600, 587, 1342, 1059 594, 596, 593, 68, 603, 68, 597, 602, 598, 68, 1060 592, 608, 583, 605, 584, 604, 606, 601, 585, 68, 1061 586, 610, 68, 609, 600, 587, 599, 68, 596, 68, 1062 68, 603, 68, 597, 602, 598, 607, 68, 68, 612, 1063 605, 611, 604, 606, 68, 613, 68, 68, 614, 615, 1064 1065 609, 617, 68, 599, 616, 621, 619, 618, 1342, 68, 1066 624, 620, 68, 607, 68, 68, 612, 68, 611, 68, 1067 68, 622, 613, 68, 625, 614, 615, 623, 617, 68, 1068 68, 616, 68, 619, 618, 626, 68, 624, 620, 68, 1069 627, 629, 628, 630, 635, 1342, 68, 631, 622, 632, 1070 656, 625, 633, 634, 623, 638, 68, 68, 68, 636, 1071 637, 68, 626, 639, 643, 1342, 68, 627, 68, 628, 1072 640, 635, 68, 641, 68, 68, 632, 68, 642, 633, 1073 634, 68, 638, 644, 68, 68, 636, 637, 646, 645, 1074 639, 68, 68, 647, 68, 648, 651, 640, 68, 68, 1075 1076 641, 68, 68, 68, 649, 642, 652, 650, 653, 655, 1077 644, 68, 68, 654, 657, 646, 645, 68, 68, 659, 1078 647, 68, 648, 651, 660, 68, 658, 1342, 68, 661, 1079 665, 649, 68, 652, 650, 653, 655, 68, 68, 662, 1080 654, 664, 68, 669, 666, 68, 68, 667, 68, 68, 1081 68, 660, 68, 658, 68, 68, 661, 665, 670, 668, 1082 671, 672, 673, 674, 1342, 68, 662, 675, 664, 677, 1083 669, 666, 68, 676, 667, 678, 68, 679, 1342, 680, 1084 68, 68, 698, 681, 68, 670, 668, 68, 68, 673, 1085 674, 68, 68, 682, 675, 68, 677, 683, 687, 684, 1086 1087 676, 68, 678, 685, 68, 68, 680, 688, 686, 693, 1088 681, 68, 690, 68, 691, 68, 68, 689, 68, 68, 1089 682, 68, 68, 707, 683, 687, 684, 68, 694, 68, 1090 685, 68, 692, 695, 688, 686, 693, 699, 68, 690, 1091 696, 691, 705, 697, 689, 68, 700, 68, 706, 68, 1092 68, 701, 702, 703, 68, 694, 68, 704, 68, 692, 1093 695, 68, 708, 709, 699, 68, 68, 696, 711, 705, 1094 697, 710, 715, 700, 68, 706, 716, 712, 701, 702, 1095 1342, 1342, 714, 713, 68, 68, 717, 1342, 68, 708, 1096 709, 68, 718, 68, 68, 711, 68, 1342, 710, 68, 1097 1098 724, 723, 1342, 68, 712, 726, 729, 68, 68, 714, 1099 713, 719, 725, 717, 68, 68, 720, 68, 721, 718, 1100 722, 727, 728, 68, 68, 68, 731, 724, 723, 68, 1101 68, 730, 726, 729, 68, 68, 733, 734, 719, 725, 1102 732, 735, 68, 720, 68, 721, 737, 722, 727, 728, 1103 736, 738, 739, 731, 68, 740, 1342, 742, 730, 68, 1104 748, 741, 743, 68, 68, 68, 745, 732, 735, 68, 1105 744, 747, 68, 737, 746, 749, 750, 736, 68, 739, 1106 68, 68, 68, 68, 68, 68, 751, 748, 741, 743, 1107 753, 752, 68, 745, 760, 68, 68, 744, 747, 756, 1108 1109 755, 746, 749, 757, 754, 758, 759, 68, 68, 761, 1110 68, 763, 68, 68, 764, 68, 68, 68, 752, 768, 1111 68, 68, 68, 68, 1342, 68, 756, 755, 762, 779, 1112 68, 754, 758, 759, 1342, 68, 761, 765, 763, 767, 1113 68, 764, 68, 766, 68, 68, 768, 769, 68, 771, 1114 68, 770, 772, 773, 774, 762, 779, 1342, 775, 776, 1115 777, 68, 780, 68, 765, 68, 767, 1342, 782, 68, 1116 766, 1342, 784, 783, 68, 68, 771, 788, 68, 772, 1117 773, 774, 68, 778, 781, 775, 776, 777, 785, 780, 1118 68, 68, 68, 68, 68, 782, 786, 68, 68, 784, 1119 1120 783, 787, 789, 790, 788, 791, 792, 793, 68, 804, 1121 778, 781, 796, 68, 68, 785, 794, 797, 795, 799, 1122 68, 798, 1342, 786, 800, 68, 803, 801, 787, 789, 1123 790, 68, 68, 68, 793, 68, 68, 68, 68, 796, 1124 68, 802, 805, 794, 806, 795, 68, 68, 68, 68, 1125 68, 800, 68, 803, 801, 807, 808, 809, 813, 810, 1126 811, 1342, 812, 68, 68, 68, 817, 814, 802, 805, 1127 68, 806, 68, 68, 816, 818, 819, 815, 822, 825, 1128 68, 824, 807, 808, 809, 813, 810, 811, 68, 812, 1129 68, 68, 68, 817, 814, 820, 826, 823, 68, 821, 1130 1131 827, 816, 68, 819, 815, 828, 68, 68, 824, 68, 1132 68, 829, 831, 830, 68, 1342, 833, 834, 68, 68, 1133 832, 850, 820, 68, 823, 68, 821, 68, 68, 68, 1134 836, 837, 828, 838, 835, 857, 68, 68, 829, 831, 1135 830, 68, 68, 833, 68, 839, 840, 832, 841, 68, 1136 842, 843, 68, 844, 68, 845, 68, 836, 837, 68, 1137 838, 835, 68, 848, 68, 849, 68, 846, 68, 847, 1138 68, 1342, 839, 840, 68, 841, 68, 842, 843, 68, 1139 844, 853, 845, 854, 851, 852, 1342, 68, 68, 856, 1140 848, 68, 849, 855, 846, 68, 847, 858, 68, 860, 1141 1142 859, 1342, 68, 862, 865, 68, 864, 68, 853, 68, 1143 854, 851, 852, 68, 861, 863, 856, 866, 872, 68, 1144 855, 68, 870, 68, 858, 68, 860, 859, 68, 867, 1145 862, 68, 68, 864, 873, 68, 868, 871, 68, 68, 1146 869, 861, 863, 68, 866, 872, 874, 68, 875, 870, 1147 877, 876, 68, 68, 878, 68, 867, 68, 879, 881, 1148 882, 880, 68, 868, 871, 68, 883, 869, 884, 890, 1149 68, 885, 886, 874, 68, 875, 68, 877, 876, 68, 1150 68, 878, 1342, 889, 891, 879, 881, 68, 880, 68, 1151 68, 887, 893, 883, 888, 884, 892, 901, 885, 886, 1152 1153 68, 68, 895, 68, 894, 896, 68, 68, 897, 68, 1154 889, 68, 898, 68, 899, 68, 903, 68, 887, 893, 1155 1342, 888, 904, 892, 900, 68, 905, 902, 68, 895, 1156 1342, 894, 896, 68, 906, 897, 68, 1342, 68, 898, 1157 907, 899, 910, 68, 909, 912, 908, 68, 68, 904, 1158 911, 900, 920, 68, 902, 913, 68, 68, 916, 68, 1159 1342, 906, 917, 68, 68, 914, 68, 907, 915, 910, 1160 68, 909, 912, 908, 68, 68, 918, 911, 919, 920, 1161 923, 68, 913, 921, 68, 916, 924, 68, 927, 917, 1162 922, 925, 914, 926, 928, 915, 935, 931, 68, 68, 1163 1164 68, 930, 68, 918, 932, 919, 68, 68, 68, 68, 1165 921, 933, 934, 924, 929, 939, 943, 922, 925, 68, 1166 926, 928, 68, 68, 68, 937, 936, 68, 930, 68, 1167 938, 68, 68, 68, 941, 942, 940, 68, 933, 68, 1168 944, 929, 68, 68, 945, 946, 947, 68, 951, 948, 1169 1342, 68, 937, 936, 68, 949, 1342, 938, 950, 958, 1170 1342, 68, 68, 940, 68, 68, 952, 944, 953, 959, 1171 1342, 955, 946, 954, 1342, 68, 948, 68, 68, 68, 1172 956, 68, 68, 957, 68, 950, 958, 68, 960, 68, 1173 68, 961, 962, 952, 963, 953, 68, 964, 955, 68, 1174 1175 954, 968, 965, 967, 68, 966, 972, 956, 975, 68, 1176 957, 971, 68, 969, 68, 960, 974, 68, 961, 962, 1177 970, 963, 68, 68, 964, 1342, 976, 68, 968, 965, 1178 967, 68, 966, 68, 973, 68, 68, 68, 971, 977, 1179 969, 68, 978, 974, 979, 989, 980, 970, 68, 68, 1180 981, 982, 983, 976, 68, 986, 68, 68, 984, 987, 1181 990, 973, 68, 985, 991, 68, 977, 988, 992, 978, 1182 68, 979, 68, 980, 68, 993, 68, 981, 982, 983, 1183 68, 994, 68, 995, 996, 984, 987, 68, 998, 997, 1184 985, 999, 1000, 68, 988, 68, 68, 1001, 1002, 68, 1185 1186 1005, 1004, 68, 68, 1003, 1006, 68, 1011, 994, 1007, 1187 1342, 996, 68, 1008, 68, 998, 997, 1009, 999, 68, 1188 1017, 1010, 68, 68, 1001, 68, 1012, 68, 1004, 68, 1189 68, 1003, 68, 1014, 1011, 68, 1007, 1013, 68, 68, 1190 1008, 1015, 68, 1016, 1009, 1018, 1019, 68, 1010, 1021, 1191 1342, 1023, 68, 1012, 1022, 1020, 1342, 1342, 68, 68, 1192 1014, 68, 1025, 1024, 1013, 68, 1026, 1027, 1015, 68, 1193 1016, 1028, 1018, 68, 1342, 68, 1021, 68, 68, 68, 1194 1029, 1022, 1020, 68, 1030, 1031, 68, 1033, 1034, 1025, 1195 1024, 1035, 68, 1026, 1027, 68, 1032, 68, 1028, 68, 1196 1197 68, 1036, 1038, 68, 1037, 1039, 68, 1029, 1040, 68, 1198 1342, 1030, 1031, 68, 1033, 1034, 1041, 68, 1035, 68, 1199 1042, 1046, 1043, 1032, 1044, 1342, 1047, 1045, 1036, 68, 1200 68, 1037, 1039, 68, 68, 1040, 1050, 1048, 1342, 1066, 1201 1051, 68, 68, 1041, 68, 68, 1049, 1042, 68, 1043, 1202 1055, 1044, 68, 1047, 1045, 68, 1054, 1052, 1057, 68, 1203 1053, 1056, 1068, 68, 1048, 1059, 68, 1051, 68, 1058, 1204 1064, 1060, 68, 1049, 1062, 68, 68, 1055, 68, 68, 1205 68, 68, 1061, 1054, 1052, 1057, 1063, 1053, 1056, 68, 1206 1065, 68, 1059, 68, 1067, 68, 1058, 1064, 1060, 1070, 1207 1208 1072, 1062, 1069, 1071, 1073, 1074, 1129, 68, 68, 1061, 1209 68, 1076, 68, 1063, 68, 1075, 1080, 1065, 1077, 1078, 1210 1342, 1067, 68, 1342, 68, 68, 1070, 1072, 1079, 1069, 1211 1071, 68, 1074, 68, 68, 1081, 1082, 68, 68, 68, 1212 1083, 68, 1075, 1080, 68, 1077, 1078, 68, 1084, 1085, 1213 68, 1086, 68, 1088, 1087, 1079, 68, 1090, 68, 68, 1214 68, 1091, 1081, 1082, 1089, 1092, 1095, 1083, 68, 1093, 1215 68, 1094, 1096, 1097, 1098, 1084, 1085, 1099, 1086, 68, 1216 1088, 1087, 1100, 68, 68, 68, 1101, 68, 1091, 1102, 1217 68, 1089, 1092, 68, 1103, 1104, 1093, 68, 1094, 68, 1218 1219 1097, 68, 68, 1105, 68, 1107, 1106, 1109, 1342, 1100, 1220 1108, 1110, 1342, 68, 68, 1113, 68, 68, 1114, 68, 1221 1115, 1103, 1104, 1342, 1111, 1116, 68, 1118, 68, 1120, 1222 68, 1119, 68, 1106, 1109, 68, 1342, 1108, 1110, 1112, 1223 1117, 68, 68, 1121, 68, 1114, 1122, 68, 68, 68, 1224 68, 1111, 68, 68, 1118, 1123, 1120, 1124, 1119, 1125, 1225 1126, 1127, 1128, 68, 1342, 68, 1112, 1117, 1130, 68, 1226 1121, 1131, 68, 1122, 1132, 1134, 1133, 1140, 68, 68, 1227 68, 68, 1123, 1139, 1124, 1135, 1125, 1126, 1127, 1128, 1228 1138, 68, 68, 1136, 1141, 1130, 1137, 1150, 1131, 68, 1229 1230 1143, 1132, 68, 1133, 1140, 68, 68, 68, 68, 1142, 1231 1139, 68, 1135, 1144, 1151, 1145, 1147, 1138, 1146, 1148, 1232 1136, 68, 1149, 1137, 68, 68, 68, 1143, 68, 1153, 1233 1155, 1161, 68, 1154, 1157, 68, 1142, 68, 1156, 68, 1234 68, 1151, 1145, 1147, 68, 1146, 1148, 1152, 1158, 1149, 1235 1159, 68, 68, 1160, 1165, 68, 1153, 1155, 68, 1162, 1236 1154, 68, 68, 1164, 68, 1156, 1166, 1163, 68, 1167, 1237 68, 1169, 1168, 1170, 1152, 1158, 68, 68, 68, 1171, 1238 68, 1165, 1172, 1173, 68, 68, 1162, 1174, 1176, 1177, 1239 1164, 68, 1175, 68, 1163, 68, 1167, 68, 1169, 1168, 1240 1241 1170, 68, 68, 68, 68, 1178, 68, 1180, 1181, 68, 1242 68, 1179, 1182, 68, 1174, 1176, 1177, 1183, 68, 1175, 1243 68, 1187, 1184, 1188, 68, 1185, 68, 1186, 68, 1189, 1244 68, 1190, 1178, 1191, 68, 1181, 68, 1192, 1179, 1182, 1245 68, 1193, 68, 1194, 1183, 68, 1196, 1195, 1187, 1184, 1246 1188, 68, 1185, 1197, 1186, 68, 1189, 1200, 68, 68, 1247 1191, 68, 68, 68, 1192, 1198, 1201, 1199, 68, 1202, 1248 1194, 1203, 1208, 1196, 1195, 68, 68, 1207, 1204, 68, 1249 1197, 68, 1205, 1209, 68, 68, 1206, 1211, 1213, 1214, 1250 68, 1210, 1198, 68, 1199, 68, 1202, 68, 1203, 68, 1251 1252 68, 68, 1215, 1212, 1207, 1204, 1217, 1216, 1220, 1205, 1253 1209, 68, 68, 1206, 68, 68, 68, 1218, 1210, 1219, 1254 1221, 1222, 1225, 1223, 68, 1224, 1226, 68, 68, 1215, 1255 1212, 1227, 68, 1217, 1216, 1220, 1228, 68, 1229, 68, 1256 1231, 68, 1230, 68, 1218, 68, 1219, 1221, 1222, 68, 1257 1223, 1232, 1224, 68, 1233, 68, 1234, 1240, 1235, 1342, 1258 1236, 1237, 68, 68, 68, 68, 1242, 1231, 68, 1230, 1259 1247, 1241, 1238, 1243, 68, 68, 68, 1245, 1232, 68, 1260 68, 1233, 1239, 1234, 68, 1235, 68, 1236, 1237, 68, 1261 68, 1244, 68, 68, 1246, 68, 1248, 68, 1241, 1238, 1262 1263 1243, 1249, 1250, 68, 1245, 1251, 1252, 1253, 68, 1239, 1264 1255, 1254, 1256, 68, 1342, 1258, 68, 1257, 1244, 1262, 1265 1342, 1246, 1259, 1248, 68, 1264, 68, 68, 1249, 1250, 1266 68, 1260, 68, 68, 1253, 1261, 68, 1263, 1254, 68, 1267 68, 68, 1258, 68, 1257, 68, 1262, 68, 68, 1259, 1268 68, 1267, 1264, 1265, 1266, 68, 1268, 1270, 1260, 1271, 1269 68, 1269, 1261, 68, 1263, 1342, 68, 1272, 1276, 68, 1270 68, 1273, 1275, 1274, 1277, 1342, 1278, 1342, 1267, 1279, 1271 1265, 1266, 1280, 1268, 1270, 68, 68, 68, 1269, 68, 1272 68, 68, 1281, 1342, 1272, 1276, 68, 68, 1273, 1275, 1273 1274 1274, 1277, 68, 1278, 68, 1282, 1279, 1284, 1283, 1280, 1275 68, 1285, 1286, 68, 1287, 1289, 1292, 1288, 1291, 1281, 1276 68, 1294, 68, 68, 1290, 68, 68, 1293, 1297, 68, 1277 1298, 1342, 1282, 1295, 68, 1283, 68, 68, 1285, 1286, 1278 68, 1287, 1289, 68, 1288, 1291, 1300, 1296, 68, 68, 1279 1299, 1290, 68, 1302, 1293, 68, 1301, 68, 68, 1304, 1280 1295, 68, 1305, 68, 1303, 1306, 1307, 1308, 1309, 1310, 1281 68, 1312, 1314, 1300, 1296, 1311, 1342, 1299, 68, 68, 1282 68, 1313, 1315, 1301, 1316, 1317, 68, 1321, 68, 1305, 1283 1323, 1303, 1306, 1307, 68, 68, 68, 68, 68, 68, 1284 1285 1318, 1319, 1311, 68, 68, 1325, 1320, 68, 1313, 1315, 1286 1327, 1316, 68, 68, 68, 1322, 1324, 68, 1326, 68, 1287 1328, 1329, 68, 68, 1330, 1331, 1332, 1318, 1319, 1333, 1288 68, 1334, 68, 1320, 1336, 1342, 1339, 1327, 68, 68, 1289 1342, 68, 1322, 1324, 1337, 1326, 1341, 68, 68, 68, 1290 1335, 68, 68, 1332, 68, 68, 1333, 68, 1334, 1340, 1291 1338, 68, 68, 1339, 1342, 1342, 1342, 68, 1342, 1342, 1292 1342, 1337, 68, 68, 1342, 1342, 1342, 1335, 1342, 1342, 1293 1342, 1342, 1342, 1342, 1342, 1342, 1340, 1338, 40, 40, 1294 40, 40, 40, 40, 40, 45, 45, 45, 45, 45, 1295 1296 45, 45, 50, 50, 50, 50, 50, 50, 50, 56, 1297 56, 56, 56, 56, 56, 56, 61, 61, 61, 61, 1298 61, 61, 61, 71, 71, 1342, 71, 71, 71, 71, 1299 120, 120, 1342, 1342, 1342, 120, 120, 122, 122, 1342, 1300 1342, 122, 1342, 122, 124, 1342, 1342, 1342, 1342, 1342, 1301 124, 127, 127, 1342, 1342, 1342, 127, 127, 129, 1342, 1302 1342, 1342, 1342, 1342, 129, 131, 131, 1342, 131, 131, 1303 131, 131, 72, 72, 1342, 72, 72, 72, 72, 13, 1304 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1305 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1306 1307 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1308 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1309 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1310 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1311 1342, 1342, 1342, 1342, 1342 1312 } ; 1313 1314 static yyconst flex_int16_t yy_chk[3946] = 1315 { 0, 1316 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1317 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1318 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1319 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1320 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1321 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1322 1, 1, 1, 1, 1, 3, 3, 3, 4, 4, 1323 4, 5, 5, 6, 6, 5, 24, 6, 7, 7, 1324 7, 7, 1348, 7, 8, 8, 8, 8, 24, 8, 1325 9, 9, 9, 10, 10, 10, 15, 44, 44, 49, 1326 1327 15, 3, 49, 24, 4, 60, 60, 5, 19, 6, 1328 19, 19, 69, 19, 577, 7, 69, 39, 19, 39, 1329 39, 8, 39, 23, 20, 20, 9, 39, 129, 10, 1330 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 1331 12, 12, 20, 23, 110, 19, 23, 27, 20, 11, 1332 23, 20, 20, 127, 21, 12, 22, 121, 121, 27, 1333 22, 21, 26, 22, 28, 26, 22, 11, 21, 20, 1334 23, 25, 26, 12, 27, 110, 11, 126, 22, 25, 1335 21, 21, 12, 22, 29, 26, 28, 22, 21, 26, 1336 22, 28, 26, 22, 30, 21, 29, 25, 25, 26, 1337 1338 30, 124, 123, 31, 30, 123, 25, 31, 32, 65, 1339 33, 29, 30, 107, 32, 55, 33, 55, 55, 33, 1340 55, 30, 65, 31, 122, 107, 33, 30, 33, 31, 1341 31, 30, 34, 74, 31, 32, 65, 33, 75, 37, 1342 107, 35, 34, 33, 37, 34, 33, 36, 89, 36, 1343 31, 35, 37, 33, 34, 35, 35, 74, 38, 34, 1344 74, 75, 38, 35, 36, 75, 37, 120, 35, 34, 1345 89, 37, 34, 36, 36, 89, 36, 67, 35, 76, 1346 128, 128, 35, 35, 38, 38, 76, 77, 61, 38, 1347 63, 36, 63, 63, 66, 63, 66, 66, 68, 66, 1348 1349 68, 68, 71, 68, 71, 71, 76, 71, 68, 78, 1350 79, 77, 71, 80, 77, 81, 82, 83, 78, 84, 1351 56, 82, 85, 79, 81, 135, 86, 63, 80, 85, 1352 51, 88, 84, 92, 83, 86, 78, 79, 87, 71, 1353 80, 92, 81, 82, 90, 571, 84, 87, 83, 85, 1354 93, 95, 91, 86, 88, 91, 135, 90, 88, 94, 1355 92, 83, 96, 94, 95, 87, 98, 97, 99, 91, 1356 93, 90, 93, 50, 101, 571, 91, 93, 95, 91, 1357 98, 101, 91, 94, 100, 96, 94, 97, 99, 96, 1358 94, 102, 106, 98, 97, 99, 91, 93, 100, 103, 1359 1360 104, 101, 105, 109, 104, 108, 106, 113, 103, 105, 1361 111, 100, 109, 108, 102, 112, 113, 114, 102, 106, 1362 116, 117, 104, 118, 116, 111, 103, 104, 114, 105, 1363 109, 104, 108, 115, 113, 112, 119, 111, 118, 115, 1364 45, 112, 112, 117, 114, 119, 133, 116, 117, 125, 1365 118, 125, 125, 130, 125, 130, 130, 134, 130, 136, 1366 115, 137, 112, 119, 131, 138, 131, 131, 139, 131, 1367 133, 136, 140, 133, 40, 139, 142, 138, 141, 134, 1368 137, 14, 13, 144, 134, 145, 136, 147, 137, 146, 1369 0, 147, 138, 145, 148, 139, 0, 0, 0, 0, 1370 1371 141, 131, 150, 140, 0, 141, 149, 142, 143, 144, 1372 144, 146, 145, 143, 147, 150, 146, 148, 143, 152, 1373 151, 148, 152, 155, 143, 143, 154, 153, 149, 150, 1374 155, 143, 151, 149, 152, 143, 153, 157, 158, 162, 1375 143, 164, 160, 165, 156, 143, 152, 151, 154, 152, 1376 155, 143, 143, 154, 153, 156, 159, 161, 163, 166, 1377 160, 167, 170, 161, 158, 158, 159, 170, 157, 160, 1378 162, 156, 164, 169, 165, 174, 168, 171, 172, 166, 1379 163, 177, 167, 168, 161, 163, 166, 159, 167, 170, 1380 172, 173, 178, 159, 169, 179, 171, 174, 173, 178, 1381 1382 169, 175, 174, 168, 171, 172, 175, 176, 176, 180, 1383 181, 183, 177, 182, 185, 0, 176, 184, 173, 178, 1384 179, 182, 179, 190, 188, 186, 0, 0, 175, 180, 1385 189, 187, 188, 191, 176, 176, 180, 183, 183, 184, 1386 182, 181, 186, 195, 192, 185, 187, 196, 184, 189, 1387 186, 188, 186, 193, 190, 191, 192, 189, 187, 194, 1388 191, 197, 193, 202, 198, 199, 184, 195, 0, 186, 1389 195, 192, 200, 196, 196, 198, 203, 199, 194, 201, 1390 193, 202, 204, 207, 205, 223, 194, 197, 197, 209, 1391 202, 198, 199, 206, 208, 204, 200, 210, 209, 200, 1392 1393 212, 208, 201, 210, 211, 215, 201, 203, 213, 204, 1394 205, 205, 223, 214, 207, 206, 209, 213, 211, 216, 1395 206, 208, 217, 219, 210, 0, 212, 212, 214, 218, 1396 220, 211, 218, 221, 224, 213, 215, 217, 0, 218, 1397 214, 219, 226, 216, 220, 0, 216, 228, 221, 217, 1398 219, 222, 222, 227, 226, 229, 218, 220, 224, 218, 1399 221, 224, 225, 233, 230, 225, 0, 0, 232, 226, 1400 240, 227, 225, 231, 228, 232, 222, 229, 222, 222, 1401 227, 234, 229, 235, 0, 231, 237, 236, 234, 225, 1402 230, 230, 225, 238, 233, 232, 238, 239, 238, 237, 1403 1404 231, 240, 0, 242, 238, 235, 241, 0, 234, 242, 1405 235, 236, 243, 237, 236, 239, 244, 0, 245, 243, 1406 238, 250, 246, 238, 239, 238, 248, 250, 241, 244, 1407 242, 0, 249, 241, 245, 246, 0, 254, 248, 243, 1408 253, 0, 245, 244, 251, 245, 252, 253, 250, 246, 1409 249, 0, 251, 248, 256, 0, 259, 255, 252, 249, 1410 0, 245, 247, 247, 255, 257, 256, 253, 254, 259, 1411 0, 251, 247, 252, 247, 247, 247, 257, 258, 247, 1412 263, 256, 260, 259, 255, 258, 264, 247, 262, 247, 1413 247, 263, 257, 261, 261, 262, 266, 264, 265, 247, 1414 1415 0, 247, 247, 247, 260, 258, 247, 263, 267, 260, 1416 268, 265, 271, 264, 269, 262, 270, 275, 272, 268, 1417 0, 266, 261, 266, 273, 265, 274, 269, 276, 270, 1418 271, 267, 277, 0, 270, 267, 278, 268, 279, 271, 1419 272, 269, 280, 270, 274, 272, 0, 273, 275, 276, 1420 278, 273, 281, 274, 277, 276, 270, 282, 281, 277, 1421 284, 283, 0, 278, 279, 279, 286, 285, 0, 287, 1422 0, 289, 286, 280, 290, 282, 283, 293, 297, 281, 1423 290, 291, 300, 295, 282, 292, 284, 284, 283, 285, 1424 295, 297, 293, 286, 285, 287, 287, 289, 289, 296, 1425 1426 291, 290, 298, 292, 293, 297, 296, 301, 291, 299, 1427 295, 0, 292, 300, 302, 303, 301, 305, 304, 302, 1428 306, 310, 0, 0, 298, 307, 296, 0, 299, 298, 1429 304, 306, 310, 307, 301, 326, 299, 313, 303, 305, 1430 311, 302, 303, 309, 305, 304, 315, 306, 310, 311, 1431 309, 0, 307, 308, 312, 314, 0, 314, 308, 319, 1432 308, 312, 316, 313, 313, 318, 326, 319, 308, 317, 1433 309, 311, 315, 315, 316, 321, 311, 318, 308, 308, 1434 308, 312, 314, 320, 317, 308, 319, 308, 320, 316, 1435 322, 323, 318, 325, 324, 308, 317, 321, 327, 323, 1436 1437 328, 329, 321, 330, 331, 308, 324, 332, 322, 328, 1438 320, 333, 334, 327, 336, 329, 325, 322, 323, 331, 1439 325, 324, 332, 333, 337, 327, 335, 328, 329, 338, 1440 330, 331, 339, 341, 332, 340, 334, 345, 333, 334, 1441 335, 336, 342, 343, 344, 0, 0, 349, 342, 346, 1442 348, 337, 347, 335, 0, 0, 0, 348, 350, 339, 1443 338, 354, 340, 353, 341, 343, 355, 344, 345, 342, 1444 343, 344, 346, 351, 347, 356, 346, 348, 349, 347, 1445 350, 357, 352, 358, 355, 350, 351, 352, 362, 353, 1446 353, 352, 354, 355, 360, 0, 363, 359, 361, 356, 1447 1448 351, 373, 356, 357, 357, 358, 352, 364, 357, 352, 1449 358, 359, 365, 361, 352, 366, 360, 363, 352, 362, 1450 367, 360, 368, 363, 359, 361, 369, 370, 371, 367, 1451 357, 364, 373, 0, 364, 368, 365, 366, 374, 365, 1452 372, 376, 366, 375, 372, 376, 0, 367, 369, 368, 1453 371, 370, 377, 369, 370, 371, 374, 378, 375, 379, 1454 380, 0, 0, 384, 385, 374, 381, 375, 379, 380, 1455 375, 372, 376, 382, 381, 383, 385, 377, 388, 377, 1456 382, 384, 378, 386, 378, 375, 379, 380, 389, 387, 1457 384, 385, 386, 381, 390, 391, 389, 392, 383, 394, 1458 1459 382, 387, 383, 393, 404, 397, 0, 394, 396, 388, 1460 386, 395, 399, 398, 393, 389, 387, 404, 391, 392, 1461 390, 390, 391, 400, 392, 395, 394, 397, 396, 402, 1462 393, 404, 397, 398, 399, 396, 403, 401, 395, 399, 1463 398, 408, 406, 405, 407, 400, 401, 408, 411, 402, 1464 400, 409, 0, 412, 403, 414, 402, 0, 0, 409, 1465 424, 415, 0, 403, 401, 405, 406, 407, 408, 406, 1466 405, 407, 413, 415, 414, 418, 412, 409, 409, 411, 1467 412, 413, 414, 421, 422, 418, 409, 426, 415, 423, 1468 0, 424, 0, 428, 427, 428, 430, 0, 431, 413, 1469 1470 0, 421, 418, 427, 429, 422, 0, 0, 435, 426, 1471 421, 422, 423, 432, 426, 0, 423, 425, 431, 425, 1472 428, 427, 425, 430, 433, 431, 434, 425, 429, 438, 1473 436, 429, 435, 425, 425, 435, 433, 436, 439, 432, 1474 432, 442, 425, 443, 425, 444, 425, 437, 438, 425, 1475 440, 433, 434, 434, 425, 437, 438, 436, 441, 445, 1476 425, 425, 440, 442, 439, 439, 446, 441, 442, 447, 1477 443, 448, 449, 450, 437, 454, 444, 440, 452, 477, 1478 457, 449, 451, 445, 453, 441, 445, 446, 447, 455, 1479 448, 459, 0, 446, 0, 450, 447, 455, 448, 449, 1480 1481 450, 458, 451, 453, 457, 452, 454, 457, 460, 451, 1482 477, 453, 468, 461, 458, 465, 455, 459, 459, 463, 1483 460, 461, 465, 464, 469, 463, 466, 467, 458, 464, 1484 468, 466, 470, 0, 467, 460, 471, 461, 472, 468, 1485 461, 470, 465, 474, 471, 473, 463, 469, 461, 479, 1486 464, 469, 478, 466, 467, 475, 472, 479, 473, 470, 1487 476, 481, 475, 471, 474, 472, 480, 485, 482, 484, 1488 474, 483, 473, 476, 482, 478, 479, 486, 487, 478, 1489 488, 480, 475, 481, 0, 490, 486, 476, 481, 489, 1490 491, 485, 487, 480, 485, 482, 489, 483, 483, 493, 1491 1492 484, 492, 494, 495, 486, 487, 495, 496, 0, 498, 1493 494, 488, 490, 492, 0, 500, 489, 491, 501, 499, 1494 496, 499, 493, 504, 505, 503, 493, 500, 492, 494, 1495 495, 501, 498, 502, 496, 497, 498, 497, 503, 502, 1496 508, 497, 500, 497, 504, 501, 499, 507, 497, 0, 1497 504, 506, 503, 508, 510, 505, 506, 509, 506, 497, 1498 502, 515, 497, 512, 497, 511, 513, 508, 497, 507, 1499 497, 518, 509, 516, 507, 497, 506, 506, 506, 513, 1500 510, 510, 512, 506, 509, 506, 514, 511, 515, 520, 1501 512, 519, 511, 513, 514, 521, 516, 520, 522, 523, 1502 1503 516, 525, 518, 506, 524, 529, 527, 526, 0, 521, 1504 533, 528, 524, 514, 526, 519, 520, 523, 519, 527, 1505 522, 531, 521, 525, 534, 522, 523, 532, 525, 528, 1506 531, 524, 533, 527, 526, 535, 529, 533, 528, 532, 1507 536, 538, 537, 540, 543, 0, 534, 540, 531, 541, 1508 564, 534, 541, 542, 532, 546, 543, 535, 536, 544, 1509 545, 546, 535, 547, 551, 0, 544, 536, 537, 537, 1510 548, 543, 538, 549, 540, 541, 541, 542, 550, 541, 1511 542, 564, 546, 552, 545, 547, 544, 545, 554, 553, 1512 547, 551, 548, 555, 549, 556, 559, 548, 553, 550, 1513 1514 549, 552, 555, 556, 557, 550, 560, 558, 561, 563, 1515 552, 557, 554, 562, 565, 554, 553, 561, 559, 567, 1516 555, 558, 556, 559, 568, 563, 566, 0, 560, 569, 1517 573, 557, 568, 560, 558, 561, 563, 562, 566, 570, 1518 562, 572, 569, 579, 574, 565, 567, 575, 573, 575, 1519 572, 568, 574, 566, 570, 579, 569, 573, 580, 578, 1520 581, 582, 583, 584, 0, 580, 570, 585, 572, 587, 1521 579, 574, 578, 586, 575, 588, 584, 589, 0, 590, 1522 585, 587, 609, 591, 583, 580, 578, 588, 590, 583, 1523 584, 581, 582, 592, 585, 586, 587, 593, 597, 594, 1524 1525 586, 591, 588, 595, 589, 593, 590, 598, 596, 603, 1526 591, 595, 600, 609, 601, 592, 597, 599, 603, 598, 1527 592, 594, 601, 617, 593, 597, 594, 600, 604, 599, 1528 595, 596, 602, 605, 598, 596, 603, 610, 602, 600, 1529 606, 601, 615, 607, 599, 605, 611, 606, 616, 604, 1530 610, 612, 613, 614, 617, 604, 615, 614, 612, 602, 1531 605, 607, 618, 619, 610, 611, 616, 606, 621, 615, 1532 607, 620, 625, 611, 613, 616, 626, 622, 612, 613, 1533 0, 0, 624, 623, 614, 619, 627, 0, 618, 618, 1534 619, 624, 628, 620, 621, 621, 623, 0, 620, 622, 1535 1536 632, 630, 0, 625, 622, 634, 637, 626, 627, 624, 1537 623, 629, 633, 627, 634, 628, 629, 630, 629, 628, 1538 629, 635, 636, 632, 633, 637, 639, 632, 630, 629, 1539 636, 638, 634, 637, 635, 639, 641, 642, 629, 633, 1540 640, 644, 640, 629, 638, 629, 646, 629, 635, 636, 1541 645, 647, 648, 639, 646, 649, 0, 651, 638, 648, 1542 657, 650, 652, 641, 642, 644, 654, 640, 644, 652, 1543 653, 656, 645, 646, 655, 658, 660, 645, 647, 648, 1544 656, 657, 649, 650, 651, 654, 661, 657, 650, 652, 1545 663, 662, 653, 654, 670, 658, 655, 653, 656, 666, 1546 1547 665, 655, 658, 667, 664, 668, 669, 660, 665, 671, 1548 669, 673, 668, 662, 674, 666, 671, 661, 662, 678, 1549 673, 663, 664, 678, 0, 670, 666, 665, 672, 689, 1550 667, 664, 668, 669, 0, 672, 671, 675, 673, 677, 1551 674, 674, 689, 676, 675, 676, 678, 680, 677, 681, 1552 681, 680, 682, 683, 684, 672, 689, 0, 685, 686, 1553 687, 682, 690, 684, 675, 685, 677, 0, 692, 687, 1554 676, 0, 694, 693, 690, 683, 681, 698, 680, 682, 1555 683, 684, 686, 688, 691, 685, 686, 687, 695, 690, 1556 692, 688, 691, 693, 694, 692, 696, 695, 698, 694, 1557 1558 693, 697, 699, 700, 698, 701, 702, 703, 699, 714, 1559 688, 691, 707, 697, 696, 695, 705, 708, 706, 709, 1560 707, 708, 0, 696, 710, 700, 713, 711, 697, 699, 1561 700, 706, 710, 703, 703, 711, 701, 702, 705, 707, 1562 714, 712, 715, 705, 716, 706, 709, 713, 708, 712, 1563 715, 710, 716, 713, 711, 717, 718, 719, 723, 720, 1564 721, 0, 722, 717, 718, 720, 727, 724, 712, 715, 1565 719, 716, 721, 727, 726, 728, 729, 725, 732, 737, 1566 723, 736, 717, 718, 719, 723, 720, 721, 722, 722, 1567 724, 725, 726, 727, 724, 730, 739, 735, 729, 731, 1568 1569 741, 726, 728, 729, 725, 743, 731, 736, 736, 732, 1570 737, 744, 746, 745, 746, 0, 748, 749, 730, 735, 1571 747, 766, 730, 739, 735, 745, 731, 741, 748, 743, 1572 751, 752, 743, 753, 750, 774, 752, 744, 744, 746, 1573 745, 750, 747, 748, 749, 754, 755, 747, 756, 753, 1574 758, 759, 766, 760, 755, 761, 751, 751, 752, 758, 1575 753, 750, 761, 764, 759, 765, 774, 762, 754, 763, 1576 756, 0, 754, 755, 762, 756, 763, 758, 759, 760, 1577 760, 769, 761, 771, 767, 768, 0, 765, 764, 773, 1578 764, 767, 765, 772, 762, 772, 763, 775, 768, 777, 1579 1580 776, 0, 769, 779, 782, 771, 781, 777, 769, 776, 1581 771, 767, 768, 773, 778, 780, 773, 783, 789, 780, 1582 772, 778, 787, 775, 775, 779, 777, 776, 781, 784, 1583 779, 782, 789, 781, 790, 787, 785, 788, 784, 783, 1584 786, 778, 780, 785, 783, 789, 791, 786, 792, 787, 1585 794, 793, 788, 791, 795, 792, 784, 793, 796, 797, 1586 800, 796, 794, 785, 788, 790, 801, 786, 802, 807, 1587 797, 803, 804, 791, 795, 792, 796, 794, 793, 802, 1588 804, 795, 0, 806, 808, 796, 797, 800, 796, 803, 1589 801, 805, 810, 801, 805, 802, 809, 819, 803, 804, 1590 1591 807, 806, 812, 809, 811, 813, 810, 813, 814, 805, 1592 806, 808, 815, 811, 816, 812, 821, 814, 805, 810, 1593 0, 805, 822, 809, 817, 816, 823, 820, 819, 812, 1594 0, 811, 813, 817, 824, 814, 820, 0, 815, 815, 1595 825, 816, 829, 822, 828, 831, 825, 821, 824, 822, 1596 830, 817, 840, 831, 820, 832, 829, 823, 836, 830, 1597 0, 824, 837, 828, 825, 833, 832, 825, 835, 829, 1598 840, 828, 831, 825, 833, 835, 838, 830, 839, 840, 1599 843, 836, 832, 841, 837, 836, 844, 841, 847, 837, 1600 842, 845, 833, 846, 848, 835, 855, 851, 838, 844, 1601 1602 839, 850, 842, 838, 852, 839, 845, 843, 846, 848, 1603 841, 853, 854, 844, 849, 859, 863, 842, 845, 847, 1604 846, 848, 850, 849, 851, 857, 856, 855, 850, 853, 1605 858, 852, 856, 857, 861, 862, 860, 858, 853, 854, 1606 864, 849, 859, 860, 866, 867, 868, 863, 872, 869, 1607 0, 869, 857, 856, 867, 870, 0, 858, 871, 877, 1608 0, 861, 862, 860, 864, 877, 873, 864, 873, 878, 1609 0, 874, 867, 873, 0, 866, 869, 868, 874, 872, 1610 875, 873, 870, 876, 871, 871, 877, 875, 879, 879, 1611 876, 880, 881, 873, 883, 873, 878, 884, 874, 881, 1612 1613 873, 888, 885, 887, 887, 886, 893, 875, 896, 884, 1614 876, 892, 883, 889, 889, 879, 895, 880, 880, 881, 1615 890, 883, 885, 886, 884, 0, 897, 888, 888, 885, 1616 887, 890, 886, 892, 894, 896, 895, 893, 892, 898, 1617 889, 894, 899, 895, 900, 909, 901, 890, 897, 899, 1618 902, 903, 904, 897, 901, 906, 900, 898, 905, 907, 1619 910, 894, 902, 905, 911, 907, 898, 908, 911, 899, 1620 904, 900, 903, 901, 905, 912, 909, 902, 903, 904, 1621 908, 913, 906, 914, 915, 905, 907, 910, 917, 916, 1622 905, 918, 919, 918, 908, 911, 913, 920, 921, 915, 1623 1624 925, 924, 920, 917, 922, 926, 912, 933, 913, 927, 1625 0, 915, 916, 928, 914, 917, 916, 929, 918, 922, 1626 940, 930, 933, 919, 920, 924, 935, 925, 924, 921, 1627 927, 922, 926, 936, 933, 928, 927, 935, 929, 930, 1628 928, 937, 936, 938, 929, 943, 944, 940, 930, 946, 1629 0, 948, 935, 935, 947, 945, 0, 0, 943, 937, 1630 936, 938, 951, 950, 935, 945, 952, 953, 937, 951, 1631 938, 954, 943, 953, 0, 946, 946, 944, 948, 947, 1632 955, 947, 945, 950, 956, 957, 954, 960, 961, 951, 1633 950, 962, 952, 952, 953, 955, 958, 957, 954, 956, 1634 1635 962, 963, 965, 958, 964, 966, 966, 955, 967, 960, 1636 0, 956, 957, 961, 960, 961, 968, 964, 962, 963, 1637 969, 973, 970, 958, 971, 0, 974, 972, 963, 965, 1638 967, 964, 966, 971, 972, 967, 978, 976, 0, 996, 1639 979, 968, 969, 968, 970, 976, 977, 969, 974, 970, 1640 982, 971, 973, 974, 972, 979, 981, 980, 984, 977, 1641 980, 983, 998, 978, 976, 987, 996, 979, 982, 985, 1642 994, 988, 994, 977, 991, 980, 983, 982, 988, 987, 1643 984, 981, 989, 981, 980, 984, 993, 980, 983, 998, 1644 995, 985, 987, 989, 997, 991, 985, 994, 988, 1000, 1645 1646 1002, 991, 999, 1001, 1003, 1004, 1064, 993, 995, 989, 1647 999, 1008, 997, 993, 1002, 1007, 1012, 995, 1009, 1010, 1648 0, 997, 1000, 0, 1004, 1001, 1000, 1002, 1011, 999, 1649 1001, 1003, 1004, 1007, 1010, 1013, 1014, 1064, 1008, 1012, 1650 1015, 1015, 1007, 1012, 1009, 1009, 1010, 1013, 1016, 1018, 1651 1011, 1019, 1018, 1021, 1020, 1011, 1016, 1024, 1014, 1019, 1652 1020, 1025, 1013, 1014, 1022, 1026, 1029, 1015, 1021, 1027, 1653 1022, 1028, 1030, 1031, 1032, 1016, 1018, 1033, 1019, 1026, 1654 1021, 1020, 1034, 1027, 1024, 1025, 1035, 1031, 1025, 1036, 1655 1034, 1022, 1026, 1029, 1037, 1039, 1027, 1028, 1028, 1030, 1656 1657 1031, 1032, 1037, 1040, 1033, 1042, 1041, 1044, 0, 1034, 1658 1043, 1045, 0, 1035, 1041, 1047, 1036, 1039, 1048, 1043, 1659 1049, 1037, 1039, 0, 1046, 1051, 1048, 1053, 1044, 1055, 1660 1040, 1054, 1042, 1041, 1044, 1045, 0, 1043, 1045, 1046, 1661 1052, 1052, 1047, 1056, 1055, 1048, 1057, 1049, 1057, 1054, 1662 1046, 1046, 1051, 1053, 1053, 1058, 1055, 1059, 1054, 1060, 1663 1061, 1062, 1063, 1059, 0, 1056, 1046, 1052, 1065, 1058, 1664 1056, 1067, 1061, 1057, 1069, 1071, 1070, 1078, 1067, 1062, 1665 1063, 1060, 1058, 1077, 1059, 1072, 1060, 1061, 1062, 1063, 1666 1075, 1065, 1069, 1072, 1079, 1065, 1074, 1088, 1067, 1078, 1667 1668 1081, 1069, 1070, 1070, 1078, 1075, 1071, 1077, 1074, 1080, 1669 1077, 1072, 1072, 1082, 1089, 1083, 1085, 1075, 1084, 1086, 1670 1072, 1079, 1087, 1074, 1081, 1084, 1086, 1081, 1088, 1092, 1671 1094, 1108, 1080, 1093, 1100, 1089, 1080, 1083, 1097, 1085, 1672 1082, 1089, 1083, 1085, 1087, 1084, 1086, 1091, 1103, 1087, 1673 1104, 1092, 1093, 1106, 1112, 1094, 1092, 1094, 1091, 1109, 1674 1093, 1100, 1108, 1111, 1097, 1097, 1114, 1110, 1111, 1117, 1675 1103, 1119, 1118, 1120, 1091, 1103, 1112, 1104, 1110, 1121, 1676 1106, 1112, 1122, 1123, 1119, 1109, 1109, 1124, 1126, 1127, 1677 1111, 1117, 1125, 1114, 1110, 1120, 1117, 1118, 1119, 1118, 1678 1679 1120, 1125, 1124, 1126, 1127, 1128, 1121, 1130, 1131, 1122, 1680 1123, 1129, 1132, 1132, 1124, 1126, 1127, 1133, 1129, 1125, 1681 1128, 1137, 1134, 1138, 1133, 1135, 1131, 1136, 1135, 1139, 1682 1137, 1140, 1128, 1142, 1130, 1131, 1134, 1143, 1129, 1132, 1683 1136, 1145, 1142, 1146, 1133, 1138, 1148, 1147, 1137, 1134, 1684 1138, 1139, 1135, 1149, 1136, 1148, 1139, 1152, 1140, 1147, 1685 1142, 1146, 1149, 1143, 1143, 1150, 1153, 1151, 1145, 1154, 1686 1146, 1155, 1163, 1148, 1147, 1151, 1150, 1162, 1156, 1155, 1687 1149, 1154, 1158, 1164, 1152, 1156, 1161, 1167, 1169, 1170, 1688 1158, 1165, 1150, 1161, 1151, 1164, 1154, 1153, 1155, 1163, 1689 1690 1165, 1162, 1174, 1168, 1162, 1156, 1176, 1175, 1179, 1158, 1691 1164, 1168, 1175, 1161, 1167, 1169, 1170, 1177, 1165, 1178, 1692 1181, 1182, 1185, 1183, 1176, 1184, 1186, 1179, 1174, 1174, 1693 1168, 1187, 1181, 1176, 1175, 1179, 1188, 1184, 1189, 1177, 1694 1192, 1178, 1191, 1182, 1177, 1183, 1178, 1181, 1182, 1185, 1695 1183, 1194, 1184, 1186, 1195, 1192, 1196, 1203, 1197, 0, 1696 1198, 1199, 1187, 1188, 1191, 1189, 1205, 1192, 1195, 1191, 1697 1212, 1204, 1201, 1206, 1196, 1194, 1197, 1209, 1194, 1199, 1698 1201, 1195, 1202, 1196, 1203, 1197, 1198, 1198, 1199, 1204, 1699 1202, 1207, 1206, 1205, 1210, 1209, 1215, 1212, 1204, 1201, 1700 1701 1206, 1216, 1217, 1215, 1209, 1218, 1219, 1220, 1210, 1202, 1702 1222, 1221, 1223, 1207, 0, 1227, 1220, 1224, 1207, 1233, 1703 0, 1210, 1230, 1215, 1221, 1235, 1217, 1216, 1216, 1217, 1704 1230, 1231, 1218, 1219, 1220, 1232, 1227, 1234, 1221, 1223, 1705 1224, 1222, 1227, 1232, 1224, 1233, 1233, 1235, 1234, 1230, 1706 1231, 1238, 1235, 1236, 1237, 1237, 1239, 1243, 1231, 1244, 1707 1236, 1241, 1232, 1239, 1234, 0, 1243, 1245, 1250, 1238, 1708 1250, 1246, 1249, 1248, 1253, 0, 1254, 0, 1238, 1255, 1709 1236, 1237, 1257, 1239, 1243, 1241, 1244, 1249, 1241, 1246, 1710 1245, 1248, 1258, 0, 1245, 1250, 1253, 1255, 1246, 1249, 1711 1712 1248, 1253, 1254, 1254, 1257, 1259, 1255, 1261, 1260, 1257, 1713 1258, 1262, 1263, 1259, 1264, 1266, 1269, 1265, 1268, 1258, 1714 1260, 1272, 1264, 1263, 1267, 1267, 1268, 1270, 1275, 1262, 1715 1276, 0, 1259, 1273, 1261, 1260, 1265, 1266, 1262, 1263, 1716 1273, 1264, 1266, 1269, 1265, 1268, 1278, 1274, 1272, 1270, 1717 1277, 1267, 1274, 1280, 1270, 1275, 1279, 1276, 1277, 1282, 1718 1273, 1278, 1283, 1279, 1281, 1285, 1286, 1287, 1288, 1289, 1719 1283, 1291, 1295, 1278, 1274, 1290, 0, 1277, 1285, 1281, 1720 1280, 1293, 1296, 1279, 1299, 1300, 1282, 1306, 1286, 1283, 1721 1311, 1281, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1295, 1722 1723 1301, 1303, 1290, 1299, 1296, 1315, 1305, 1293, 1293, 1296, 1724 1318, 1299, 1300, 1305, 1306, 1307, 1313, 1311, 1316, 1318, 1725 1319, 1320, 1301, 1303, 1322, 1324, 1326, 1301, 1303, 1327, 1726 1316, 1332, 1315, 1305, 1334, 0, 1338, 1318, 1307, 1313, 1727 0, 1326, 1307, 1313, 1335, 1316, 1340, 1319, 1320, 1338, 1728 1333, 1322, 1324, 1326, 1332, 1327, 1327, 1333, 1332, 1339, 1729 1337, 1334, 1335, 1338, 0, 0, 0, 1339, 0, 0, 1730 0, 1335, 1337, 1340, 0, 0, 0, 1333, 0, 0, 1731 0, 0, 0, 0, 0, 0, 1339, 1337, 1343, 1343, 1732 1343, 1343, 1343, 1343, 1343, 1344, 1344, 1344, 1344, 1344, 1733 1734 1344, 1344, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1346, 1735 1346, 1346, 1346, 1346, 1346, 1346, 1347, 1347, 1347, 1347, 1736 1347, 1347, 1347, 1349, 1349, 0, 1349, 1349, 1349, 1349, 1737 1350, 1350, 0, 0, 0, 1350, 1350, 1351, 1351, 0, 1738 0, 1351, 0, 1351, 1352, 0, 0, 0, 0, 0, 1739 1352, 1353, 1353, 0, 0, 0, 1353, 1353, 1354, 0, 1740 0, 0, 0, 0, 1354, 1355, 1355, 0, 1355, 1355, 1741 1355, 1355, 1356, 1356, 0, 1356, 1356, 1356, 1356, 1342, 1742 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1743 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1744 1745 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1746 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1747 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1748 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1749 1342, 1342, 1342, 1342, 1342 1750 } ; 1751 1752 static yy_state_type yy_last_accepting_state; 1753 static char *yy_last_accepting_cpos; 1754 1755 extern int yy_flex_debug; 1756 int yy_flex_debug = 0; 1757 1758 /* The intent behind this definition is that it'll catch 1759 * any uses of REJECT which flex missed. 1760 */ 1761 #define REJECT reject_used_but_not_detected 1762 static int yy_more_flag = 0; 1763 static int yy_more_len = 0; 1764 #define yymore() ((yy_more_flag) = 1) 1765 #define YY_MORE_ADJ (yy_more_len) 1766 #define YY_RESTORE_YY_MORE_OFFSET 1767 char *yytext; 1768 #line 1 "util/configlexer.lex" 1769 #line 2 "util/configlexer.lex" 1770 /* 1771 * configlexer.lex - lexical analyzer for unbound config file 1772 * 1773 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved 1774 * 1775 * See LICENSE for the license. 1776 * 1777 */ 1778 1779 #include <ctype.h> 1780 #include <string.h> 1781 #include <strings.h> 1782 #ifdef HAVE_GLOB_H 1783 # include <glob.h> 1784 #endif 1785 1786 #include "util/config_file.h" 1787 #include "util/configparser.h" 1788 void ub_c_error(const char *message); 1789 1790 #if 0 1791 #define LEXOUT(s) printf s /* used ONLY when debugging */ 1792 #else 1793 #define LEXOUT(s) 1794 #endif 1795 1796 /** avoid warning in about fwrite return value */ 1797 #define ECHO ub_c_error_msg("syntax error at text: %s", yytext) 1798 1799 /** A parser variable, this is a statement in the config file which is 1800 * of the form variable: value1 value2 ... nargs is the number of values. */ 1801 #define YDVAR(nargs, var) \ 1802 num_args=(nargs); \ 1803 LEXOUT(("v(%s%d) ", yytext, num_args)); \ 1804 if(num_args > 0) { BEGIN(val); } \ 1805 return (var); 1806 1807 struct inc_state { 1808 char* filename; 1809 int line; 1810 }; 1811 static struct inc_state parse_stack[MAXINCLUDES]; 1812 static YY_BUFFER_STATE include_stack[MAXINCLUDES]; 1813 static int config_include_stack_ptr = 0; 1814 static int inc_prev = 0; 1815 static int num_args = 0; 1816 1817 1818 static void config_start_include(const char* filename) 1819 { 1820 FILE *input; 1821 if(strlen(filename) == 0) { 1822 ub_c_error_msg("empty include file name"); 1823 return; 1824 } 1825 if(config_include_stack_ptr >= MAXINCLUDES) { 1826 ub_c_error_msg("includes nested too deeply, skipped (>%d)", MAXINCLUDES); 1827 return; 1828 } 1829 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot, 1830 strlen(cfg_parser->chroot)) == 0) { 1831 filename += strlen(cfg_parser->chroot); 1832 } 1833 input = fopen(filename, "r"); 1834 if(!input) { 1835 ub_c_error_msg("cannot open include file '%s': %s", 1836 filename, strerror(errno)); 1837 return; 1838 } 1839 LEXOUT(("switch_to_include_file(%s) ", filename)); 1840 parse_stack[config_include_stack_ptr].filename = cfg_parser->filename; 1841 parse_stack[config_include_stack_ptr].line = cfg_parser->line; 1842 include_stack[config_include_stack_ptr] = YY_CURRENT_BUFFER; 1843 cfg_parser->filename = strdup(filename); 1844 cfg_parser->line = 1; 1845 yy_switch_to_buffer(yy_create_buffer(input,YY_BUF_SIZE)); 1846 ++config_include_stack_ptr; 1847 } 1848 1849 static void config_start_include_glob(const char* filename) 1850 { 1851 1852 /* check for wildcards */ 1853 #ifdef HAVE_GLOB 1854 glob_t g; 1855 size_t i; 1856 int r, flags; 1857 if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && 1858 !strchr(filename, '{') && !strchr(filename, '~'))) { 1859 flags = 0 1860 #ifdef GLOB_ERR 1861 | GLOB_ERR 1862 #endif 1863 #ifdef GLOB_NOSORT 1864 | GLOB_NOSORT 1865 #endif 1866 #ifdef GLOB_BRACE 1867 | GLOB_BRACE 1868 #endif 1869 #ifdef GLOB_TILDE 1870 | GLOB_TILDE 1871 #endif 1872 ; 1873 memset(&g, 0, sizeof(g)); 1874 r = glob(filename, flags, NULL, &g); 1875 if(r) { 1876 /* some error */ 1877 globfree(&g); 1878 config_start_include(filename); /* let original deal with it */ 1879 return; 1880 } 1881 /* process files found, if any */ 1882 for(i=0; i<(size_t)g.gl_pathc; i++) { 1883 config_start_include(g.gl_pathv[i]); 1884 } 1885 globfree(&g); 1886 return; 1887 } 1888 #endif /* HAVE_GLOB */ 1889 1890 config_start_include(filename); 1891 } 1892 1893 static void config_end_include(void) 1894 { 1895 --config_include_stack_ptr; 1896 free(cfg_parser->filename); 1897 cfg_parser->filename = parse_stack[config_include_stack_ptr].filename; 1898 cfg_parser->line = parse_stack[config_include_stack_ptr].line; 1899 yy_delete_buffer(YY_CURRENT_BUFFER); 1900 yy_switch_to_buffer(include_stack[config_include_stack_ptr]); 1901 } 1902 1903 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */ 1904 #define yy_set_bol(at_bol) \ 1905 { \ 1906 if ( ! yy_current_buffer ) \ 1907 yy_current_buffer = yy_create_buffer(yyin,YY_BUF_SIZE ); \ 1908 yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \ 1909 } 1910 #endif 1911 1912 #define YY_NO_INPUT 1 1913 #line 148 "util/configlexer.lex" 1914 #ifndef YY_NO_UNPUT 1915 #define YY_NO_UNPUT 1 1916 #endif 1917 #ifndef YY_NO_INPUT 1918 #define YY_NO_INPUT 1 1919 #endif 1920 1921 #line 1920 "<stdout>" 1922 1923 #define INITIAL 0 1924 #define quotedstring 1 1925 #define singlequotedstr 2 1926 #define include 3 1927 #define include_quoted 4 1928 #define val 5 1929 1930 #ifndef YY_NO_UNISTD_H 1931 /* Special case for "unistd.h", since it is non-ANSI. We include it way 1932 * down here because we want the user's section 1 to have been scanned first. 1933 * The user has a chance to override it with an option. 1934 */ 1935 #include <unistd.h> 1936 #endif 1937 1938 #ifndef YY_EXTRA_TYPE 1939 #define YY_EXTRA_TYPE void * 1940 #endif 1941 1942 static int yy_init_globals (void ); 1943 1944 /* Accessor methods to globals. 1945 These are made visible to non-reentrant scanners for convenience. */ 1946 1947 int yylex_destroy (void ); 1948 1949 int yyget_debug (void ); 1950 1951 void yyset_debug (int debug_flag ); 1952 1953 YY_EXTRA_TYPE yyget_extra (void ); 1954 1955 void yyset_extra (YY_EXTRA_TYPE user_defined ); 1956 1957 FILE *yyget_in (void ); 1958 1959 void yyset_in (FILE * in_str ); 1960 1961 FILE *yyget_out (void ); 1962 1963 void yyset_out (FILE * out_str ); 1964 1965 yy_size_t yyget_leng (void ); 1966 1967 char *yyget_text (void ); 1968 1969 int yyget_lineno (void ); 1970 1971 void yyset_lineno (int line_number ); 1972 1973 /* Macros after this point can all be overridden by user definitions in 1974 * section 1. 1975 */ 1976 1977 #ifndef YY_SKIP_YYWRAP 1978 #ifdef __cplusplus 1979 extern "C" int yywrap (void ); 1980 #else 1981 extern int yywrap (void ); 1982 #endif 1983 #endif 1984 1985 #ifndef yytext_ptr 1986 static void yy_flex_strncpy (char *,yyconst char *,int ); 1987 #endif 1988 1989 #ifdef YY_NEED_STRLEN 1990 static int yy_flex_strlen (yyconst char * ); 1991 #endif 1992 1993 #ifndef YY_NO_INPUT 1994 1995 #ifdef __cplusplus 1996 static int yyinput (void ); 1997 #else 1998 static int input (void ); 1999 #endif 2000 2001 #endif 2002 2003 /* Amount of stuff to slurp up with each read. */ 2004 #ifndef YY_READ_BUF_SIZE 2005 #define YY_READ_BUF_SIZE 8192 2006 #endif 2007 2008 /* Copy whatever the last rule matched to the standard output. */ 2009 #ifndef ECHO 2010 /* This used to be an fputs(), but since the string might contain NUL's, 2011 * we now use fwrite(). 2012 */ 2013 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) 2014 #endif 2015 2016 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 2017 * is returned in "result". 2018 */ 2019 #ifndef YY_INPUT 2020 #define YY_INPUT(buf,result,max_size) \ 2021 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 2022 { \ 2023 int c = '*'; \ 2024 size_t n; \ 2025 for ( n = 0; n < max_size && \ 2026 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 2027 buf[n] = (char) c; \ 2028 if ( c == '\n' ) \ 2029 buf[n++] = (char) c; \ 2030 if ( c == EOF && ferror( yyin ) ) \ 2031 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2032 result = n; \ 2033 } \ 2034 else \ 2035 { \ 2036 errno=0; \ 2037 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 2038 { \ 2039 if( errno != EINTR) \ 2040 { \ 2041 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2042 break; \ 2043 } \ 2044 errno=0; \ 2045 clearerr(yyin); \ 2046 } \ 2047 }\ 2048 \ 2049 2050 #endif 2051 2052 /* No semi-colon after return; correct usage is to write "yyterminate();" - 2053 * we don't want an extra ';' after the "return" because that will cause 2054 * some compilers to complain about unreachable statements. 2055 */ 2056 #ifndef yyterminate 2057 #define yyterminate() return YY_NULL 2058 #endif 2059 2060 /* Number of entries by which start-condition stack grows. */ 2061 #ifndef YY_START_STACK_INCR 2062 #define YY_START_STACK_INCR 25 2063 #endif 2064 2065 /* Report a fatal error. */ 2066 #ifndef YY_FATAL_ERROR 2067 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 2068 #endif 2069 2070 /* end tables serialization structures and prototypes */ 2071 2072 /* Default declaration of generated scanner - a define so the user can 2073 * easily add parameters. 2074 */ 2075 #ifndef YY_DECL 2076 #define YY_DECL_IS_OURS 1 2077 2078 extern int yylex (void); 2079 2080 #define YY_DECL int yylex (void) 2081 #endif /* !YY_DECL */ 2082 2083 /* Code executed at the beginning of each rule, after yytext and yyleng 2084 * have been set up. 2085 */ 2086 #ifndef YY_USER_ACTION 2087 #define YY_USER_ACTION 2088 #endif 2089 2090 /* Code executed at the end of each rule. */ 2091 #ifndef YY_BREAK 2092 #define YY_BREAK break; 2093 #endif 2094 2095 #define YY_RULE_SETUP \ 2096 YY_USER_ACTION 2097 2098 /** The main scanner function which does all the work. 2099 */ 2100 YY_DECL 2101 { 2102 register yy_state_type yy_current_state; 2103 register char *yy_cp, *yy_bp; 2104 register int yy_act; 2105 2106 #line 168 "util/configlexer.lex" 2107 2108 #line 2107 "<stdout>" 2109 2110 if ( !(yy_init) ) 2111 { 2112 (yy_init) = 1; 2113 2114 #ifdef YY_USER_INIT 2115 YY_USER_INIT; 2116 #endif 2117 2118 if ( ! (yy_start) ) 2119 (yy_start) = 1; /* first start state */ 2120 2121 if ( ! yyin ) 2122 yyin = stdin; 2123 2124 if ( ! yyout ) 2125 yyout = stdout; 2126 2127 if ( ! YY_CURRENT_BUFFER ) { 2128 yyensure_buffer_stack (); 2129 YY_CURRENT_BUFFER_LVALUE = 2130 yy_create_buffer(yyin,YY_BUF_SIZE ); 2131 } 2132 2133 yy_load_buffer_state( ); 2134 } 2135 2136 while ( 1 ) /* loops until end-of-file is reached */ 2137 { 2138 (yy_more_len) = 0; 2139 if ( (yy_more_flag) ) 2140 { 2141 (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); 2142 (yy_more_flag) = 0; 2143 } 2144 yy_cp = (yy_c_buf_p); 2145 2146 /* Support of yytext. */ 2147 *yy_cp = (yy_hold_char); 2148 2149 /* yy_bp points to the position in yy_ch_buf of the start of 2150 * the current run. 2151 */ 2152 yy_bp = yy_cp; 2153 2154 yy_current_state = (yy_start); 2155 yy_match: 2156 do 2157 { 2158 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 2159 if ( yy_accept[yy_current_state] ) 2160 { 2161 (yy_last_accepting_state) = yy_current_state; 2162 (yy_last_accepting_cpos) = yy_cp; 2163 } 2164 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 2165 { 2166 yy_current_state = (int) yy_def[yy_current_state]; 2167 if ( yy_current_state >= 1343 ) 2168 yy_c = yy_meta[(unsigned int) yy_c]; 2169 } 2170 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 2171 ++yy_cp; 2172 } 2173 while ( yy_base[yy_current_state] != 3880 ); 2174 2175 yy_find_action: 2176 yy_act = yy_accept[yy_current_state]; 2177 if ( yy_act == 0 ) 2178 { /* have to back up */ 2179 yy_cp = (yy_last_accepting_cpos); 2180 yy_current_state = (yy_last_accepting_state); 2181 yy_act = yy_accept[yy_current_state]; 2182 } 2183 2184 YY_DO_BEFORE_ACTION; 2185 2186 do_action: /* This label is used only to access EOF actions. */ 2187 2188 switch ( yy_act ) 2189 { /* beginning of action switch */ 2190 case 0: /* must back up */ 2191 /* undo the effects of YY_DO_BEFORE_ACTION */ 2192 *yy_cp = (yy_hold_char); 2193 yy_cp = (yy_last_accepting_cpos); 2194 yy_current_state = (yy_last_accepting_state); 2195 goto yy_find_action; 2196 2197 case 1: 2198 YY_RULE_SETUP 2199 #line 169 "util/configlexer.lex" 2200 { 2201 LEXOUT(("SP ")); /* ignore */ } 2202 YY_BREAK 2203 case 2: 2204 YY_RULE_SETUP 2205 #line 171 "util/configlexer.lex" 2206 { 2207 /* note that flex makes the longest match and '.' is any but not nl */ 2208 LEXOUT(("comment(%s) ", yytext)); /* ignore */ } 2209 YY_BREAK 2210 case 3: 2211 YY_RULE_SETUP 2212 #line 174 "util/configlexer.lex" 2213 { YDVAR(0, VAR_SERVER) } 2214 YY_BREAK 2215 case 4: 2216 YY_RULE_SETUP 2217 #line 175 "util/configlexer.lex" 2218 { YDVAR(1, VAR_NUM_THREADS) } 2219 YY_BREAK 2220 case 5: 2221 YY_RULE_SETUP 2222 #line 176 "util/configlexer.lex" 2223 { YDVAR(1, VAR_VERBOSITY) } 2224 YY_BREAK 2225 case 6: 2226 YY_RULE_SETUP 2227 #line 177 "util/configlexer.lex" 2228 { YDVAR(1, VAR_PORT) } 2229 YY_BREAK 2230 case 7: 2231 YY_RULE_SETUP 2232 #line 178 "util/configlexer.lex" 2233 { YDVAR(1, VAR_OUTGOING_RANGE) } 2234 YY_BREAK 2235 case 8: 2236 YY_RULE_SETUP 2237 #line 179 "util/configlexer.lex" 2238 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) } 2239 YY_BREAK 2240 case 9: 2241 YY_RULE_SETUP 2242 #line 180 "util/configlexer.lex" 2243 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) } 2244 YY_BREAK 2245 case 10: 2246 YY_RULE_SETUP 2247 #line 181 "util/configlexer.lex" 2248 { YDVAR(1, VAR_OUTGOING_NUM_TCP) } 2249 YY_BREAK 2250 case 11: 2251 YY_RULE_SETUP 2252 #line 182 "util/configlexer.lex" 2253 { YDVAR(1, VAR_INCOMING_NUM_TCP) } 2254 YY_BREAK 2255 case 12: 2256 YY_RULE_SETUP 2257 #line 183 "util/configlexer.lex" 2258 { YDVAR(1, VAR_DO_IP4) } 2259 YY_BREAK 2260 case 13: 2261 YY_RULE_SETUP 2262 #line 184 "util/configlexer.lex" 2263 { YDVAR(1, VAR_DO_IP6) } 2264 YY_BREAK 2265 case 14: 2266 YY_RULE_SETUP 2267 #line 185 "util/configlexer.lex" 2268 { YDVAR(1, VAR_DO_UDP) } 2269 YY_BREAK 2270 case 15: 2271 YY_RULE_SETUP 2272 #line 186 "util/configlexer.lex" 2273 { YDVAR(1, VAR_DO_TCP) } 2274 YY_BREAK 2275 case 16: 2276 YY_RULE_SETUP 2277 #line 187 "util/configlexer.lex" 2278 { YDVAR(1, VAR_TCP_UPSTREAM) } 2279 YY_BREAK 2280 case 17: 2281 YY_RULE_SETUP 2282 #line 188 "util/configlexer.lex" 2283 { YDVAR(1, VAR_SSL_UPSTREAM) } 2284 YY_BREAK 2285 case 18: 2286 YY_RULE_SETUP 2287 #line 189 "util/configlexer.lex" 2288 { YDVAR(1, VAR_SSL_SERVICE_KEY) } 2289 YY_BREAK 2290 case 19: 2291 YY_RULE_SETUP 2292 #line 190 "util/configlexer.lex" 2293 { YDVAR(1, VAR_SSL_SERVICE_PEM) } 2294 YY_BREAK 2295 case 20: 2296 YY_RULE_SETUP 2297 #line 191 "util/configlexer.lex" 2298 { YDVAR(1, VAR_SSL_PORT) } 2299 YY_BREAK 2300 case 21: 2301 YY_RULE_SETUP 2302 #line 192 "util/configlexer.lex" 2303 { YDVAR(1, VAR_DO_DAEMONIZE) } 2304 YY_BREAK 2305 case 22: 2306 YY_RULE_SETUP 2307 #line 193 "util/configlexer.lex" 2308 { YDVAR(1, VAR_INTERFACE) } 2309 YY_BREAK 2310 case 23: 2311 YY_RULE_SETUP 2312 #line 194 "util/configlexer.lex" 2313 { YDVAR(1, VAR_OUTGOING_INTERFACE) } 2314 YY_BREAK 2315 case 24: 2316 YY_RULE_SETUP 2317 #line 195 "util/configlexer.lex" 2318 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) } 2319 YY_BREAK 2320 case 25: 2321 YY_RULE_SETUP 2322 #line 196 "util/configlexer.lex" 2323 { YDVAR(1, VAR_SO_RCVBUF) } 2324 YY_BREAK 2325 case 26: 2326 YY_RULE_SETUP 2327 #line 197 "util/configlexer.lex" 2328 { YDVAR(1, VAR_SO_SNDBUF) } 2329 YY_BREAK 2330 case 27: 2331 YY_RULE_SETUP 2332 #line 198 "util/configlexer.lex" 2333 { YDVAR(1, VAR_CHROOT) } 2334 YY_BREAK 2335 case 28: 2336 YY_RULE_SETUP 2337 #line 199 "util/configlexer.lex" 2338 { YDVAR(1, VAR_USERNAME) } 2339 YY_BREAK 2340 case 29: 2341 YY_RULE_SETUP 2342 #line 200 "util/configlexer.lex" 2343 { YDVAR(1, VAR_DIRECTORY) } 2344 YY_BREAK 2345 case 30: 2346 YY_RULE_SETUP 2347 #line 201 "util/configlexer.lex" 2348 { YDVAR(1, VAR_LOGFILE) } 2349 YY_BREAK 2350 case 31: 2351 YY_RULE_SETUP 2352 #line 202 "util/configlexer.lex" 2353 { YDVAR(1, VAR_PIDFILE) } 2354 YY_BREAK 2355 case 32: 2356 YY_RULE_SETUP 2357 #line 203 "util/configlexer.lex" 2358 { YDVAR(1, VAR_ROOT_HINTS) } 2359 YY_BREAK 2360 case 33: 2361 YY_RULE_SETUP 2362 #line 204 "util/configlexer.lex" 2363 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) } 2364 YY_BREAK 2365 case 34: 2366 YY_RULE_SETUP 2367 #line 205 "util/configlexer.lex" 2368 { YDVAR(1, VAR_MSG_BUFFER_SIZE) } 2369 YY_BREAK 2370 case 35: 2371 YY_RULE_SETUP 2372 #line 206 "util/configlexer.lex" 2373 { YDVAR(1, VAR_MSG_CACHE_SIZE) } 2374 YY_BREAK 2375 case 36: 2376 YY_RULE_SETUP 2377 #line 207 "util/configlexer.lex" 2378 { YDVAR(1, VAR_MSG_CACHE_SLABS) } 2379 YY_BREAK 2380 case 37: 2381 YY_RULE_SETUP 2382 #line 208 "util/configlexer.lex" 2383 { YDVAR(1, VAR_RRSET_CACHE_SIZE) } 2384 YY_BREAK 2385 case 38: 2386 YY_RULE_SETUP 2387 #line 209 "util/configlexer.lex" 2388 { YDVAR(1, VAR_RRSET_CACHE_SLABS) } 2389 YY_BREAK 2390 case 39: 2391 YY_RULE_SETUP 2392 #line 210 "util/configlexer.lex" 2393 { YDVAR(1, VAR_CACHE_MAX_TTL) } 2394 YY_BREAK 2395 case 40: 2396 YY_RULE_SETUP 2397 #line 211 "util/configlexer.lex" 2398 { YDVAR(1, VAR_CACHE_MIN_TTL) } 2399 YY_BREAK 2400 case 41: 2401 YY_RULE_SETUP 2402 #line 212 "util/configlexer.lex" 2403 { YDVAR(1, VAR_INFRA_HOST_TTL) } 2404 YY_BREAK 2405 case 42: 2406 YY_RULE_SETUP 2407 #line 213 "util/configlexer.lex" 2408 { YDVAR(1, VAR_INFRA_LAME_TTL) } 2409 YY_BREAK 2410 case 43: 2411 YY_RULE_SETUP 2412 #line 214 "util/configlexer.lex" 2413 { YDVAR(1, VAR_INFRA_CACHE_SLABS) } 2414 YY_BREAK 2415 case 44: 2416 YY_RULE_SETUP 2417 #line 215 "util/configlexer.lex" 2418 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } 2419 YY_BREAK 2420 case 45: 2421 YY_RULE_SETUP 2422 #line 216 "util/configlexer.lex" 2423 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } 2424 YY_BREAK 2425 case 46: 2426 YY_RULE_SETUP 2427 #line 217 "util/configlexer.lex" 2428 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } 2429 YY_BREAK 2430 case 47: 2431 YY_RULE_SETUP 2432 #line 218 "util/configlexer.lex" 2433 { YDVAR(1, VAR_JOSTLE_TIMEOUT) } 2434 YY_BREAK 2435 case 48: 2436 YY_RULE_SETUP 2437 #line 219 "util/configlexer.lex" 2438 { YDVAR(1, VAR_TARGET_FETCH_POLICY) } 2439 YY_BREAK 2440 case 49: 2441 YY_RULE_SETUP 2442 #line 220 "util/configlexer.lex" 2443 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } 2444 YY_BREAK 2445 case 50: 2446 YY_RULE_SETUP 2447 #line 221 "util/configlexer.lex" 2448 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } 2449 YY_BREAK 2450 case 51: 2451 YY_RULE_SETUP 2452 #line 222 "util/configlexer.lex" 2453 { YDVAR(1, VAR_HARDEN_GLUE) } 2454 YY_BREAK 2455 case 52: 2456 YY_RULE_SETUP 2457 #line 223 "util/configlexer.lex" 2458 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } 2459 YY_BREAK 2460 case 53: 2461 YY_RULE_SETUP 2462 #line 224 "util/configlexer.lex" 2463 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } 2464 YY_BREAK 2465 case 54: 2466 YY_RULE_SETUP 2467 #line 225 "util/configlexer.lex" 2468 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } 2469 YY_BREAK 2470 case 55: 2471 YY_RULE_SETUP 2472 #line 226 "util/configlexer.lex" 2473 { YDVAR(1, VAR_USE_CAPS_FOR_ID) } 2474 YY_BREAK 2475 case 56: 2476 YY_RULE_SETUP 2477 #line 227 "util/configlexer.lex" 2478 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } 2479 YY_BREAK 2480 case 57: 2481 YY_RULE_SETUP 2482 #line 228 "util/configlexer.lex" 2483 { YDVAR(1, VAR_PRIVATE_ADDRESS) } 2484 YY_BREAK 2485 case 58: 2486 YY_RULE_SETUP 2487 #line 229 "util/configlexer.lex" 2488 { YDVAR(1, VAR_PRIVATE_DOMAIN) } 2489 YY_BREAK 2490 case 59: 2491 YY_RULE_SETUP 2492 #line 230 "util/configlexer.lex" 2493 { YDVAR(1, VAR_PREFETCH_KEY) } 2494 YY_BREAK 2495 case 60: 2496 YY_RULE_SETUP 2497 #line 231 "util/configlexer.lex" 2498 { YDVAR(1, VAR_PREFETCH) } 2499 YY_BREAK 2500 case 61: 2501 YY_RULE_SETUP 2502 #line 232 "util/configlexer.lex" 2503 { YDVAR(0, VAR_STUB_ZONE) } 2504 YY_BREAK 2505 case 62: 2506 YY_RULE_SETUP 2507 #line 233 "util/configlexer.lex" 2508 { YDVAR(1, VAR_NAME) } 2509 YY_BREAK 2510 case 63: 2511 YY_RULE_SETUP 2512 #line 234 "util/configlexer.lex" 2513 { YDVAR(1, VAR_STUB_ADDR) } 2514 YY_BREAK 2515 case 64: 2516 YY_RULE_SETUP 2517 #line 235 "util/configlexer.lex" 2518 { YDVAR(1, VAR_STUB_HOST) } 2519 YY_BREAK 2520 case 65: 2521 YY_RULE_SETUP 2522 #line 236 "util/configlexer.lex" 2523 { YDVAR(1, VAR_STUB_PRIME) } 2524 YY_BREAK 2525 case 66: 2526 YY_RULE_SETUP 2527 #line 237 "util/configlexer.lex" 2528 { YDVAR(1, VAR_STUB_FIRST) } 2529 YY_BREAK 2530 case 67: 2531 YY_RULE_SETUP 2532 #line 238 "util/configlexer.lex" 2533 { YDVAR(0, VAR_FORWARD_ZONE) } 2534 YY_BREAK 2535 case 68: 2536 YY_RULE_SETUP 2537 #line 239 "util/configlexer.lex" 2538 { YDVAR(1, VAR_FORWARD_ADDR) } 2539 YY_BREAK 2540 case 69: 2541 YY_RULE_SETUP 2542 #line 240 "util/configlexer.lex" 2543 { YDVAR(1, VAR_FORWARD_HOST) } 2544 YY_BREAK 2545 case 70: 2546 YY_RULE_SETUP 2547 #line 241 "util/configlexer.lex" 2548 { YDVAR(1, VAR_FORWARD_FIRST) } 2549 YY_BREAK 2550 case 71: 2551 YY_RULE_SETUP 2552 #line 242 "util/configlexer.lex" 2553 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } 2554 YY_BREAK 2555 case 72: 2556 YY_RULE_SETUP 2557 #line 243 "util/configlexer.lex" 2558 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } 2559 YY_BREAK 2560 case 73: 2561 YY_RULE_SETUP 2562 #line 244 "util/configlexer.lex" 2563 { YDVAR(2, VAR_ACCESS_CONTROL) } 2564 YY_BREAK 2565 case 74: 2566 YY_RULE_SETUP 2567 #line 245 "util/configlexer.lex" 2568 { YDVAR(1, VAR_HIDE_IDENTITY) } 2569 YY_BREAK 2570 case 75: 2571 YY_RULE_SETUP 2572 #line 246 "util/configlexer.lex" 2573 { YDVAR(1, VAR_HIDE_VERSION) } 2574 YY_BREAK 2575 case 76: 2576 YY_RULE_SETUP 2577 #line 247 "util/configlexer.lex" 2578 { YDVAR(1, VAR_IDENTITY) } 2579 YY_BREAK 2580 case 77: 2581 YY_RULE_SETUP 2582 #line 248 "util/configlexer.lex" 2583 { YDVAR(1, VAR_VERSION) } 2584 YY_BREAK 2585 case 78: 2586 YY_RULE_SETUP 2587 #line 249 "util/configlexer.lex" 2588 { YDVAR(1, VAR_MODULE_CONF) } 2589 YY_BREAK 2590 case 79: 2591 YY_RULE_SETUP 2592 #line 250 "util/configlexer.lex" 2593 { YDVAR(1, VAR_DLV_ANCHOR) } 2594 YY_BREAK 2595 case 80: 2596 YY_RULE_SETUP 2597 #line 251 "util/configlexer.lex" 2598 { YDVAR(1, VAR_DLV_ANCHOR_FILE) } 2599 YY_BREAK 2600 case 81: 2601 YY_RULE_SETUP 2602 #line 252 "util/configlexer.lex" 2603 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) } 2604 YY_BREAK 2605 case 82: 2606 YY_RULE_SETUP 2607 #line 253 "util/configlexer.lex" 2608 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } 2609 YY_BREAK 2610 case 83: 2611 YY_RULE_SETUP 2612 #line 254 "util/configlexer.lex" 2613 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) } 2614 YY_BREAK 2615 case 84: 2616 YY_RULE_SETUP 2617 #line 255 "util/configlexer.lex" 2618 { YDVAR(1, VAR_TRUST_ANCHOR) } 2619 YY_BREAK 2620 case 85: 2621 YY_RULE_SETUP 2622 #line 256 "util/configlexer.lex" 2623 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) } 2624 YY_BREAK 2625 case 86: 2626 YY_RULE_SETUP 2627 #line 257 "util/configlexer.lex" 2628 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } 2629 YY_BREAK 2630 case 87: 2631 YY_RULE_SETUP 2632 #line 258 "util/configlexer.lex" 2633 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } 2634 YY_BREAK 2635 case 88: 2636 YY_RULE_SETUP 2637 #line 259 "util/configlexer.lex" 2638 { YDVAR(1, VAR_BOGUS_TTL) } 2639 YY_BREAK 2640 case 89: 2641 YY_RULE_SETUP 2642 #line 260 "util/configlexer.lex" 2643 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } 2644 YY_BREAK 2645 case 90: 2646 YY_RULE_SETUP 2647 #line 261 "util/configlexer.lex" 2648 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } 2649 YY_BREAK 2650 case 91: 2651 YY_RULE_SETUP 2652 #line 262 "util/configlexer.lex" 2653 { YDVAR(1, VAR_IGNORE_CD_FLAG) } 2654 YY_BREAK 2655 case 92: 2656 YY_RULE_SETUP 2657 #line 263 "util/configlexer.lex" 2658 { YDVAR(1, VAR_VAL_LOG_LEVEL) } 2659 YY_BREAK 2660 case 93: 2661 YY_RULE_SETUP 2662 #line 264 "util/configlexer.lex" 2663 { YDVAR(1, VAR_KEY_CACHE_SIZE) } 2664 YY_BREAK 2665 case 94: 2666 YY_RULE_SETUP 2667 #line 265 "util/configlexer.lex" 2668 { YDVAR(1, VAR_KEY_CACHE_SLABS) } 2669 YY_BREAK 2670 case 95: 2671 YY_RULE_SETUP 2672 #line 266 "util/configlexer.lex" 2673 { YDVAR(1, VAR_NEG_CACHE_SIZE) } 2674 YY_BREAK 2675 case 96: 2676 YY_RULE_SETUP 2677 #line 267 "util/configlexer.lex" 2678 { 2679 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } 2680 YY_BREAK 2681 case 97: 2682 YY_RULE_SETUP 2683 #line 269 "util/configlexer.lex" 2684 { YDVAR(1, VAR_ADD_HOLDDOWN) } 2685 YY_BREAK 2686 case 98: 2687 YY_RULE_SETUP 2688 #line 270 "util/configlexer.lex" 2689 { YDVAR(1, VAR_DEL_HOLDDOWN) } 2690 YY_BREAK 2691 case 99: 2692 YY_RULE_SETUP 2693 #line 271 "util/configlexer.lex" 2694 { YDVAR(1, VAR_KEEP_MISSING) } 2695 YY_BREAK 2696 case 100: 2697 YY_RULE_SETUP 2698 #line 272 "util/configlexer.lex" 2699 { YDVAR(1, VAR_USE_SYSLOG) } 2700 YY_BREAK 2701 case 101: 2702 YY_RULE_SETUP 2703 #line 273 "util/configlexer.lex" 2704 { YDVAR(1, VAR_LOG_TIME_ASCII) } 2705 YY_BREAK 2706 case 102: 2707 YY_RULE_SETUP 2708 #line 274 "util/configlexer.lex" 2709 { YDVAR(1, VAR_LOG_QUERIES) } 2710 YY_BREAK 2711 case 103: 2712 YY_RULE_SETUP 2713 #line 275 "util/configlexer.lex" 2714 { YDVAR(2, VAR_LOCAL_ZONE) } 2715 YY_BREAK 2716 case 104: 2717 YY_RULE_SETUP 2718 #line 276 "util/configlexer.lex" 2719 { YDVAR(1, VAR_LOCAL_DATA) } 2720 YY_BREAK 2721 case 105: 2722 YY_RULE_SETUP 2723 #line 277 "util/configlexer.lex" 2724 { YDVAR(1, VAR_LOCAL_DATA_PTR) } 2725 YY_BREAK 2726 case 106: 2727 YY_RULE_SETUP 2728 #line 278 "util/configlexer.lex" 2729 { YDVAR(1, VAR_STATISTICS_INTERVAL) } 2730 YY_BREAK 2731 case 107: 2732 YY_RULE_SETUP 2733 #line 279 "util/configlexer.lex" 2734 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) } 2735 YY_BREAK 2736 case 108: 2737 YY_RULE_SETUP 2738 #line 280 "util/configlexer.lex" 2739 { YDVAR(1, VAR_EXTENDED_STATISTICS) } 2740 YY_BREAK 2741 case 109: 2742 YY_RULE_SETUP 2743 #line 281 "util/configlexer.lex" 2744 { YDVAR(0, VAR_REMOTE_CONTROL) } 2745 YY_BREAK 2746 case 110: 2747 YY_RULE_SETUP 2748 #line 282 "util/configlexer.lex" 2749 { YDVAR(1, VAR_CONTROL_ENABLE) } 2750 YY_BREAK 2751 case 111: 2752 YY_RULE_SETUP 2753 #line 283 "util/configlexer.lex" 2754 { YDVAR(1, VAR_CONTROL_INTERFACE) } 2755 YY_BREAK 2756 case 112: 2757 YY_RULE_SETUP 2758 #line 284 "util/configlexer.lex" 2759 { YDVAR(1, VAR_CONTROL_PORT) } 2760 YY_BREAK 2761 case 113: 2762 YY_RULE_SETUP 2763 #line 285 "util/configlexer.lex" 2764 { YDVAR(1, VAR_SERVER_KEY_FILE) } 2765 YY_BREAK 2766 case 114: 2767 YY_RULE_SETUP 2768 #line 286 "util/configlexer.lex" 2769 { YDVAR(1, VAR_SERVER_CERT_FILE) } 2770 YY_BREAK 2771 case 115: 2772 YY_RULE_SETUP 2773 #line 287 "util/configlexer.lex" 2774 { YDVAR(1, VAR_CONTROL_KEY_FILE) } 2775 YY_BREAK 2776 case 116: 2777 YY_RULE_SETUP 2778 #line 288 "util/configlexer.lex" 2779 { YDVAR(1, VAR_CONTROL_CERT_FILE) } 2780 YY_BREAK 2781 case 117: 2782 YY_RULE_SETUP 2783 #line 289 "util/configlexer.lex" 2784 { YDVAR(1, VAR_PYTHON_SCRIPT) } 2785 YY_BREAK 2786 case 118: 2787 YY_RULE_SETUP 2788 #line 290 "util/configlexer.lex" 2789 { YDVAR(0, VAR_PYTHON) } 2790 YY_BREAK 2791 case 119: 2792 YY_RULE_SETUP 2793 #line 291 "util/configlexer.lex" 2794 { YDVAR(1, VAR_DOMAIN_INSECURE) } 2795 YY_BREAK 2796 case 120: 2797 YY_RULE_SETUP 2798 #line 292 "util/configlexer.lex" 2799 { YDVAR(1, VAR_MINIMAL_RESPONSES) } 2800 YY_BREAK 2801 case 121: 2802 YY_RULE_SETUP 2803 #line 293 "util/configlexer.lex" 2804 { YDVAR(1, VAR_RRSET_ROUNDROBIN) } 2805 YY_BREAK 2806 case 122: 2807 /* rule 122 can match eol */ 2808 YY_RULE_SETUP 2809 #line 294 "util/configlexer.lex" 2810 { LEXOUT(("NL\n")); cfg_parser->line++; } 2811 YY_BREAK 2812 /* Quoted strings. Strip leading and ending quotes */ 2813 case 123: 2814 YY_RULE_SETUP 2815 #line 297 "util/configlexer.lex" 2816 { BEGIN(quotedstring); LEXOUT(("QS ")); } 2817 YY_BREAK 2818 case YY_STATE_EOF(quotedstring): 2819 #line 298 "util/configlexer.lex" 2820 { 2821 yyerror("EOF inside quoted string"); 2822 if(--num_args == 0) { BEGIN(INITIAL); } 2823 else { BEGIN(val); } 2824 } 2825 YY_BREAK 2826 case 124: 2827 YY_RULE_SETUP 2828 #line 303 "util/configlexer.lex" 2829 { LEXOUT(("STR(%s) ", yytext)); yymore(); } 2830 YY_BREAK 2831 case 125: 2832 /* rule 125 can match eol */ 2833 YY_RULE_SETUP 2834 #line 304 "util/configlexer.lex" 2835 { yyerror("newline inside quoted string, no end \""); 2836 cfg_parser->line++; BEGIN(INITIAL); } 2837 YY_BREAK 2838 case 126: 2839 YY_RULE_SETUP 2840 #line 306 "util/configlexer.lex" 2841 { 2842 LEXOUT(("QE ")); 2843 if(--num_args == 0) { BEGIN(INITIAL); } 2844 else { BEGIN(val); } 2845 yytext[yyleng - 1] = '\0'; 2846 yylval.str = strdup(yytext); 2847 if(!yylval.str) 2848 yyerror("out of memory"); 2849 return STRING_ARG; 2850 } 2851 YY_BREAK 2852 /* Single Quoted strings. Strip leading and ending quotes */ 2853 case 127: 2854 YY_RULE_SETUP 2855 #line 318 "util/configlexer.lex" 2856 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } 2857 YY_BREAK 2858 case YY_STATE_EOF(singlequotedstr): 2859 #line 319 "util/configlexer.lex" 2860 { 2861 yyerror("EOF inside quoted string"); 2862 if(--num_args == 0) { BEGIN(INITIAL); } 2863 else { BEGIN(val); } 2864 } 2865 YY_BREAK 2866 case 128: 2867 YY_RULE_SETUP 2868 #line 324 "util/configlexer.lex" 2869 { LEXOUT(("STR(%s) ", yytext)); yymore(); } 2870 YY_BREAK 2871 case 129: 2872 /* rule 129 can match eol */ 2873 YY_RULE_SETUP 2874 #line 325 "util/configlexer.lex" 2875 { yyerror("newline inside quoted string, no end '"); 2876 cfg_parser->line++; BEGIN(INITIAL); } 2877 YY_BREAK 2878 case 130: 2879 YY_RULE_SETUP 2880 #line 327 "util/configlexer.lex" 2881 { 2882 LEXOUT(("SQE ")); 2883 if(--num_args == 0) { BEGIN(INITIAL); } 2884 else { BEGIN(val); } 2885 yytext[yyleng - 1] = '\0'; 2886 yylval.str = strdup(yytext); 2887 if(!yylval.str) 2888 yyerror("out of memory"); 2889 return STRING_ARG; 2890 } 2891 YY_BREAK 2892 /* include: directive */ 2893 case 131: 2894 YY_RULE_SETUP 2895 #line 339 "util/configlexer.lex" 2896 { 2897 LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } 2898 YY_BREAK 2899 case YY_STATE_EOF(include): 2900 #line 341 "util/configlexer.lex" 2901 { 2902 yyerror("EOF inside include directive"); 2903 BEGIN(inc_prev); 2904 } 2905 YY_BREAK 2906 case 132: 2907 YY_RULE_SETUP 2908 #line 345 "util/configlexer.lex" 2909 { LEXOUT(("ISP ")); /* ignore */ } 2910 YY_BREAK 2911 case 133: 2912 /* rule 133 can match eol */ 2913 YY_RULE_SETUP 2914 #line 346 "util/configlexer.lex" 2915 { LEXOUT(("NL\n")); cfg_parser->line++;} 2916 YY_BREAK 2917 case 134: 2918 YY_RULE_SETUP 2919 #line 347 "util/configlexer.lex" 2920 { LEXOUT(("IQS ")); BEGIN(include_quoted); } 2921 YY_BREAK 2922 case 135: 2923 YY_RULE_SETUP 2924 #line 348 "util/configlexer.lex" 2925 { 2926 LEXOUT(("Iunquotedstr(%s) ", yytext)); 2927 config_start_include_glob(yytext); 2928 BEGIN(inc_prev); 2929 } 2930 YY_BREAK 2931 case YY_STATE_EOF(include_quoted): 2932 #line 353 "util/configlexer.lex" 2933 { 2934 yyerror("EOF inside quoted string"); 2935 BEGIN(inc_prev); 2936 } 2937 YY_BREAK 2938 case 136: 2939 YY_RULE_SETUP 2940 #line 357 "util/configlexer.lex" 2941 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } 2942 YY_BREAK 2943 case 137: 2944 /* rule 137 can match eol */ 2945 YY_RULE_SETUP 2946 #line 358 "util/configlexer.lex" 2947 { yyerror("newline before \" in include name"); 2948 cfg_parser->line++; BEGIN(inc_prev); } 2949 YY_BREAK 2950 case 138: 2951 YY_RULE_SETUP 2952 #line 360 "util/configlexer.lex" 2953 { 2954 LEXOUT(("IQE ")); 2955 yytext[yyleng - 1] = '\0'; 2956 config_start_include_glob(yytext); 2957 BEGIN(inc_prev); 2958 } 2959 YY_BREAK 2960 case YY_STATE_EOF(INITIAL): 2961 case YY_STATE_EOF(val): 2962 #line 366 "util/configlexer.lex" 2963 { 2964 yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ 2965 if (config_include_stack_ptr == 0) { 2966 yyterminate(); 2967 } else { 2968 fclose(yyin); 2969 config_end_include(); 2970 } 2971 } 2972 YY_BREAK 2973 case 139: 2974 YY_RULE_SETUP 2975 #line 376 "util/configlexer.lex" 2976 { LEXOUT(("unquotedstr(%s) ", yytext)); 2977 if(--num_args == 0) { BEGIN(INITIAL); } 2978 yylval.str = strdup(yytext); return STRING_ARG; } 2979 YY_BREAK 2980 case 140: 2981 YY_RULE_SETUP 2982 #line 380 "util/configlexer.lex" 2983 { 2984 ub_c_error_msg("unknown keyword '%s'", yytext); 2985 } 2986 YY_BREAK 2987 case 141: 2988 YY_RULE_SETUP 2989 #line 384 "util/configlexer.lex" 2990 { 2991 ub_c_error_msg("stray '%s'", yytext); 2992 } 2993 YY_BREAK 2994 case 142: 2995 YY_RULE_SETUP 2996 #line 388 "util/configlexer.lex" 2997 ECHO; 2998 YY_BREAK 2999 #line 2998 "<stdout>" 3000 3001 case YY_END_OF_BUFFER: 3002 { 3003 /* Amount of text matched not including the EOB char. */ 3004 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 3005 3006 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 3007 *yy_cp = (yy_hold_char); 3008 YY_RESTORE_YY_MORE_OFFSET 3009 3010 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 3011 { 3012 /* We're scanning a new file or input source. It's 3013 * possible that this happened because the user 3014 * just pointed yyin at a new source and called 3015 * yylex(). If so, then we have to assure 3016 * consistency between YY_CURRENT_BUFFER and our 3017 * globals. Here is the right place to do so, because 3018 * this is the first action (other than possibly a 3019 * back-up) that will match for the new input source. 3020 */ 3021 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3022 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 3023 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 3024 } 3025 3026 /* Note that here we test for yy_c_buf_p "<=" to the position 3027 * of the first EOB in the buffer, since yy_c_buf_p will 3028 * already have been incremented past the NUL character 3029 * (since all states make transitions on EOB to the 3030 * end-of-buffer state). Contrast this with the test 3031 * in input(). 3032 */ 3033 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3034 { /* This was really a NUL. */ 3035 yy_state_type yy_next_state; 3036 3037 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 3038 3039 yy_current_state = yy_get_previous_state( ); 3040 3041 /* Okay, we're now positioned to make the NUL 3042 * transition. We couldn't have 3043 * yy_get_previous_state() go ahead and do it 3044 * for us because it doesn't know how to deal 3045 * with the possibility of jamming (and we don't 3046 * want to build jamming into it because then it 3047 * will run more slowly). 3048 */ 3049 3050 yy_next_state = yy_try_NUL_trans( yy_current_state ); 3051 3052 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3053 3054 if ( yy_next_state ) 3055 { 3056 /* Consume the NUL. */ 3057 yy_cp = ++(yy_c_buf_p); 3058 yy_current_state = yy_next_state; 3059 goto yy_match; 3060 } 3061 3062 else 3063 { 3064 yy_cp = (yy_c_buf_p); 3065 goto yy_find_action; 3066 } 3067 } 3068 3069 else switch ( yy_get_next_buffer( ) ) 3070 { 3071 case EOB_ACT_END_OF_FILE: 3072 { 3073 (yy_did_buffer_switch_on_eof) = 0; 3074 3075 if ( yywrap( ) ) 3076 { 3077 /* Note: because we've taken care in 3078 * yy_get_next_buffer() to have set up 3079 * yytext, we can now set up 3080 * yy_c_buf_p so that if some total 3081 * hoser (like flex itself) wants to 3082 * call the scanner after we return the 3083 * YY_NULL, it'll still work - another 3084 * YY_NULL will get returned. 3085 */ 3086 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 3087 3088 yy_act = YY_STATE_EOF(YY_START); 3089 goto do_action; 3090 } 3091 3092 else 3093 { 3094 if ( ! (yy_did_buffer_switch_on_eof) ) 3095 YY_NEW_FILE; 3096 } 3097 break; 3098 } 3099 3100 case EOB_ACT_CONTINUE_SCAN: 3101 (yy_c_buf_p) = 3102 (yytext_ptr) + yy_amount_of_matched_text; 3103 3104 yy_current_state = yy_get_previous_state( ); 3105 3106 yy_cp = (yy_c_buf_p); 3107 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3108 goto yy_match; 3109 3110 case EOB_ACT_LAST_MATCH: 3111 (yy_c_buf_p) = 3112 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 3113 3114 yy_current_state = yy_get_previous_state( ); 3115 3116 yy_cp = (yy_c_buf_p); 3117 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3118 goto yy_find_action; 3119 } 3120 break; 3121 } 3122 3123 default: 3124 YY_FATAL_ERROR( 3125 "fatal flex scanner internal error--no action found" ); 3126 } /* end of action switch */ 3127 } /* end of scanning one token */ 3128 } /* end of yylex */ 3129 3130 /* yy_get_next_buffer - try to read in a new buffer 3131 * 3132 * Returns a code representing an action: 3133 * EOB_ACT_LAST_MATCH - 3134 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 3135 * EOB_ACT_END_OF_FILE - end of file 3136 */ 3137 static int yy_get_next_buffer (void) 3138 { 3139 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 3140 register char *source = (yytext_ptr); 3141 register int number_to_move, i; 3142 int ret_val; 3143 3144 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 3145 YY_FATAL_ERROR( 3146 "fatal flex scanner internal error--end of buffer missed" ); 3147 3148 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 3149 { /* Don't try to fill the buffer, so this is an EOF. */ 3150 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 3151 { 3152 /* We matched a single character, the EOB, so 3153 * treat this as a final EOF. 3154 */ 3155 return EOB_ACT_END_OF_FILE; 3156 } 3157 3158 else 3159 { 3160 /* We matched some text prior to the EOB, first 3161 * process it. 3162 */ 3163 return EOB_ACT_LAST_MATCH; 3164 } 3165 } 3166 3167 /* Try to read more data. */ 3168 3169 /* First move last chars to start of buffer. */ 3170 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 3171 3172 for ( i = 0; i < number_to_move; ++i ) 3173 *(dest++) = *(source++); 3174 3175 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 3176 /* don't do the read, it's not guaranteed to return an EOF, 3177 * just force an EOF 3178 */ 3179 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 3180 3181 else 3182 { 3183 yy_size_t num_to_read = 3184 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 3185 3186 while ( num_to_read <= 0 ) 3187 { /* Not enough room in the buffer - grow it. */ 3188 3189 /* just a shorter name for the current buffer */ 3190 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; 3191 3192 int yy_c_buf_p_offset = 3193 (int) ((yy_c_buf_p) - b->yy_ch_buf); 3194 3195 if ( b->yy_is_our_buffer ) 3196 { 3197 yy_size_t new_size = b->yy_buf_size * 2; 3198 3199 if ( new_size <= 0 ) 3200 b->yy_buf_size += b->yy_buf_size / 8; 3201 else 3202 b->yy_buf_size *= 2; 3203 3204 b->yy_ch_buf = (char *) 3205 /* Include room in for 2 EOB chars. */ 3206 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 3207 } 3208 else 3209 /* Can't grow it, we don't own it. */ 3210 b->yy_ch_buf = 0; 3211 3212 if ( ! b->yy_ch_buf ) 3213 YY_FATAL_ERROR( 3214 "fatal error - scanner input buffer overflow" ); 3215 3216 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 3217 3218 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 3219 number_to_move - 1; 3220 3221 } 3222 3223 if ( num_to_read > YY_READ_BUF_SIZE ) 3224 num_to_read = YY_READ_BUF_SIZE; 3225 3226 /* Read in more data. */ 3227 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 3228 (yy_n_chars), num_to_read ); 3229 3230 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3231 } 3232 3233 if ( (yy_n_chars) == 0 ) 3234 { 3235 if ( number_to_move == YY_MORE_ADJ ) 3236 { 3237 ret_val = EOB_ACT_END_OF_FILE; 3238 yyrestart(yyin ); 3239 } 3240 3241 else 3242 { 3243 ret_val = EOB_ACT_LAST_MATCH; 3244 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 3245 YY_BUFFER_EOF_PENDING; 3246 } 3247 } 3248 3249 else 3250 ret_val = EOB_ACT_CONTINUE_SCAN; 3251 3252 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 3253 /* Extend the array by 50%, plus the number we really need. */ 3254 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 3255 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 3256 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 3257 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 3258 } 3259 3260 (yy_n_chars) += number_to_move; 3261 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 3262 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 3263 3264 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 3265 3266 return ret_val; 3267 } 3268 3269 /* yy_get_previous_state - get the state just before the EOB char was reached */ 3270 3271 static yy_state_type yy_get_previous_state (void) 3272 { 3273 register yy_state_type yy_current_state; 3274 register char *yy_cp; 3275 3276 yy_current_state = (yy_start); 3277 3278 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 3279 { 3280 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 3281 if ( yy_accept[yy_current_state] ) 3282 { 3283 (yy_last_accepting_state) = yy_current_state; 3284 (yy_last_accepting_cpos) = yy_cp; 3285 } 3286 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3287 { 3288 yy_current_state = (int) yy_def[yy_current_state]; 3289 if ( yy_current_state >= 1343 ) 3290 yy_c = yy_meta[(unsigned int) yy_c]; 3291 } 3292 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3293 } 3294 3295 return yy_current_state; 3296 } 3297 3298 /* yy_try_NUL_trans - try to make a transition on the NUL character 3299 * 3300 * synopsis 3301 * next_state = yy_try_NUL_trans( current_state ); 3302 */ 3303 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 3304 { 3305 register int yy_is_jam; 3306 register char *yy_cp = (yy_c_buf_p); 3307 3308 register YY_CHAR yy_c = 1; 3309 if ( yy_accept[yy_current_state] ) 3310 { 3311 (yy_last_accepting_state) = yy_current_state; 3312 (yy_last_accepting_cpos) = yy_cp; 3313 } 3314 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3315 { 3316 yy_current_state = (int) yy_def[yy_current_state]; 3317 if ( yy_current_state >= 1343 ) 3318 yy_c = yy_meta[(unsigned int) yy_c]; 3319 } 3320 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3321 yy_is_jam = (yy_current_state == 1342); 3322 3323 return yy_is_jam ? 0 : yy_current_state; 3324 } 3325 3326 #ifndef YY_NO_INPUT 3327 #ifdef __cplusplus 3328 static int yyinput (void) 3329 #else 3330 static int input (void) 3331 #endif 3332 3333 { 3334 int c; 3335 3336 *(yy_c_buf_p) = (yy_hold_char); 3337 3338 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 3339 { 3340 /* yy_c_buf_p now points to the character we want to return. 3341 * If this occurs *before* the EOB characters, then it's a 3342 * valid NUL; if not, then we've hit the end of the buffer. 3343 */ 3344 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3345 /* This was really a NUL. */ 3346 *(yy_c_buf_p) = '\0'; 3347 3348 else 3349 { /* need more input */ 3350 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); 3351 ++(yy_c_buf_p); 3352 3353 switch ( yy_get_next_buffer( ) ) 3354 { 3355 case EOB_ACT_LAST_MATCH: 3356 /* This happens because yy_g_n_b() 3357 * sees that we've accumulated a 3358 * token and flags that we need to 3359 * try matching the token before 3360 * proceeding. But for input(), 3361 * there's no matching to consider. 3362 * So convert the EOB_ACT_LAST_MATCH 3363 * to EOB_ACT_END_OF_FILE. 3364 */ 3365 3366 /* Reset buffer status. */ 3367 yyrestart(yyin ); 3368 3369 /*FALLTHROUGH*/ 3370 3371 case EOB_ACT_END_OF_FILE: 3372 { 3373 if ( yywrap( ) ) 3374 return EOF; 3375 3376 if ( ! (yy_did_buffer_switch_on_eof) ) 3377 YY_NEW_FILE; 3378 #ifdef __cplusplus 3379 return yyinput(); 3380 #else 3381 return input(); 3382 #endif 3383 } 3384 3385 case EOB_ACT_CONTINUE_SCAN: 3386 (yy_c_buf_p) = (yytext_ptr) + offset; 3387 break; 3388 } 3389 } 3390 } 3391 3392 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 3393 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 3394 (yy_hold_char) = *++(yy_c_buf_p); 3395 3396 return c; 3397 } 3398 #endif /* ifndef YY_NO_INPUT */ 3399 3400 /** Immediately switch to a different input stream. 3401 * @param input_file A readable stream. 3402 * 3403 * @note This function does not reset the start condition to @c INITIAL . 3404 */ 3405 void yyrestart (FILE * input_file ) 3406 { 3407 3408 if ( ! YY_CURRENT_BUFFER ){ 3409 yyensure_buffer_stack (); 3410 YY_CURRENT_BUFFER_LVALUE = 3411 yy_create_buffer(yyin,YY_BUF_SIZE ); 3412 } 3413 3414 yy_init_buffer(YY_CURRENT_BUFFER,input_file ); 3415 yy_load_buffer_state( ); 3416 } 3417 3418 /** Switch to a different input buffer. 3419 * @param new_buffer The new input buffer. 3420 * 3421 */ 3422 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 3423 { 3424 3425 /* TODO. We should be able to replace this entire function body 3426 * with 3427 * yypop_buffer_state(); 3428 * yypush_buffer_state(new_buffer); 3429 */ 3430 yyensure_buffer_stack (); 3431 if ( YY_CURRENT_BUFFER == new_buffer ) 3432 return; 3433 3434 if ( YY_CURRENT_BUFFER ) 3435 { 3436 /* Flush out information for old buffer. */ 3437 *(yy_c_buf_p) = (yy_hold_char); 3438 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 3439 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3440 } 3441 3442 YY_CURRENT_BUFFER_LVALUE = new_buffer; 3443 yy_load_buffer_state( ); 3444 3445 /* We don't actually know whether we did this switch during 3446 * EOF (yywrap()) processing, but the only time this flag 3447 * is looked at is after yywrap() is called, so it's safe 3448 * to go ahead and always set it. 3449 */ 3450 (yy_did_buffer_switch_on_eof) = 1; 3451 } 3452 3453 static void yy_load_buffer_state (void) 3454 { 3455 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3456 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 3457 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 3458 (yy_hold_char) = *(yy_c_buf_p); 3459 } 3460 3461 /** Allocate and initialize an input buffer state. 3462 * @param file A readable stream. 3463 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 3464 * 3465 * @return the allocated buffer state. 3466 */ 3467 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 3468 { 3469 YY_BUFFER_STATE b; 3470 3471 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 3472 if ( ! b ) 3473 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 3474 3475 b->yy_buf_size = size; 3476 3477 /* yy_ch_buf has to be 2 characters longer than the size given because 3478 * we need to put in 2 end-of-buffer characters. 3479 */ 3480 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 3481 if ( ! b->yy_ch_buf ) 3482 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 3483 3484 b->yy_is_our_buffer = 1; 3485 3486 yy_init_buffer(b,file ); 3487 3488 return b; 3489 } 3490 3491 /** Destroy the buffer. 3492 * @param b a buffer created with yy_create_buffer() 3493 * 3494 */ 3495 void yy_delete_buffer (YY_BUFFER_STATE b ) 3496 { 3497 3498 if ( ! b ) 3499 return; 3500 3501 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 3502 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 3503 3504 if ( b->yy_is_our_buffer ) 3505 yyfree((void *) b->yy_ch_buf ); 3506 3507 yyfree((void *) b ); 3508 } 3509 3510 /* Initializes or reinitializes a buffer. 3511 * This function is sometimes called more than once on the same buffer, 3512 * such as during a yyrestart() or at EOF. 3513 */ 3514 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 3515 3516 { 3517 int oerrno = errno; 3518 3519 yy_flush_buffer(b ); 3520 3521 b->yy_input_file = file; 3522 b->yy_fill_buffer = 1; 3523 3524 /* If b is the current buffer, then yy_init_buffer was _probably_ 3525 * called from yyrestart() or through yy_get_next_buffer. 3526 * In that case, we don't want to reset the lineno or column. 3527 */ 3528 if (b != YY_CURRENT_BUFFER){ 3529 b->yy_bs_lineno = 1; 3530 b->yy_bs_column = 0; 3531 } 3532 3533 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 3534 3535 errno = oerrno; 3536 } 3537 3538 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 3539 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 3540 * 3541 */ 3542 void yy_flush_buffer (YY_BUFFER_STATE b ) 3543 { 3544 if ( ! b ) 3545 return; 3546 3547 b->yy_n_chars = 0; 3548 3549 /* We always need two end-of-buffer characters. The first causes 3550 * a transition to the end-of-buffer state. The second causes 3551 * a jam in that state. 3552 */ 3553 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 3554 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 3555 3556 b->yy_buf_pos = &b->yy_ch_buf[0]; 3557 3558 b->yy_at_bol = 1; 3559 b->yy_buffer_status = YY_BUFFER_NEW; 3560 3561 if ( b == YY_CURRENT_BUFFER ) 3562 yy_load_buffer_state( ); 3563 } 3564 3565 /** Pushes the new state onto the stack. The new state becomes 3566 * the current state. This function will allocate the stack 3567 * if necessary. 3568 * @param new_buffer The new state. 3569 * 3570 */ 3571 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 3572 { 3573 if (new_buffer == NULL) 3574 return; 3575 3576 yyensure_buffer_stack(); 3577 3578 /* This block is copied from yy_switch_to_buffer. */ 3579 if ( YY_CURRENT_BUFFER ) 3580 { 3581 /* Flush out information for old buffer. */ 3582 *(yy_c_buf_p) = (yy_hold_char); 3583 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 3584 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3585 } 3586 3587 /* Only push if top exists. Otherwise, replace top. */ 3588 if (YY_CURRENT_BUFFER) 3589 (yy_buffer_stack_top)++; 3590 YY_CURRENT_BUFFER_LVALUE = new_buffer; 3591 3592 /* copied from yy_switch_to_buffer. */ 3593 yy_load_buffer_state( ); 3594 (yy_did_buffer_switch_on_eof) = 1; 3595 } 3596 3597 /** Removes and deletes the top of the stack, if present. 3598 * The next element becomes the new top. 3599 * 3600 */ 3601 void yypop_buffer_state (void) 3602 { 3603 if (!YY_CURRENT_BUFFER) 3604 return; 3605 3606 yy_delete_buffer(YY_CURRENT_BUFFER ); 3607 YY_CURRENT_BUFFER_LVALUE = NULL; 3608 if ((yy_buffer_stack_top) > 0) 3609 --(yy_buffer_stack_top); 3610 3611 if (YY_CURRENT_BUFFER) { 3612 yy_load_buffer_state( ); 3613 (yy_did_buffer_switch_on_eof) = 1; 3614 } 3615 } 3616 3617 /* Allocates the stack if it does not exist. 3618 * Guarantees space for at least one push. 3619 */ 3620 static void yyensure_buffer_stack (void) 3621 { 3622 yy_size_t num_to_alloc; 3623 3624 if (!(yy_buffer_stack)) { 3625 3626 /* First allocation is just for 2 elements, since we don't know if this 3627 * scanner will even need a stack. We use 2 instead of 1 to avoid an 3628 * immediate realloc on the next call. 3629 */ 3630 num_to_alloc = 1; 3631 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 3632 (num_to_alloc * sizeof(struct yy_buffer_state*) 3633 ); 3634 if ( ! (yy_buffer_stack) ) 3635 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 3636 3637 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 3638 3639 (yy_buffer_stack_max) = num_to_alloc; 3640 (yy_buffer_stack_top) = 0; 3641 return; 3642 } 3643 3644 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 3645 3646 /* Increase the buffer to prepare for a possible push. */ 3647 int grow_size = 8 /* arbitrary grow size */; 3648 3649 num_to_alloc = (yy_buffer_stack_max) + grow_size; 3650 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 3651 ((yy_buffer_stack), 3652 num_to_alloc * sizeof(struct yy_buffer_state*) 3653 ); 3654 if ( ! (yy_buffer_stack) ) 3655 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 3656 3657 /* zero only the new slots.*/ 3658 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 3659 (yy_buffer_stack_max) = num_to_alloc; 3660 } 3661 } 3662 3663 /** Setup the input buffer state to scan directly from a user-specified character buffer. 3664 * @param base the character buffer 3665 * @param size the size in bytes of the character buffer 3666 * 3667 * @return the newly allocated buffer state object. 3668 */ 3669 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 3670 { 3671 YY_BUFFER_STATE b; 3672 3673 if ( size < 2 || 3674 base[size-2] != YY_END_OF_BUFFER_CHAR || 3675 base[size-1] != YY_END_OF_BUFFER_CHAR ) 3676 /* They forgot to leave room for the EOB's. */ 3677 return 0; 3678 3679 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 3680 if ( ! b ) 3681 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 3682 3683 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 3684 b->yy_buf_pos = b->yy_ch_buf = base; 3685 b->yy_is_our_buffer = 0; 3686 b->yy_input_file = 0; 3687 b->yy_n_chars = b->yy_buf_size; 3688 b->yy_is_interactive = 0; 3689 b->yy_at_bol = 1; 3690 b->yy_fill_buffer = 0; 3691 b->yy_buffer_status = YY_BUFFER_NEW; 3692 3693 yy_switch_to_buffer(b ); 3694 3695 return b; 3696 } 3697 3698 /** Setup the input buffer state to scan a string. The next call to yylex() will 3699 * scan from a @e copy of @a str. 3700 * @param yystr a NUL-terminated string to scan 3701 * 3702 * @return the newly allocated buffer state object. 3703 * @note If you want to scan bytes that may contain NUL values, then use 3704 * yy_scan_bytes() instead. 3705 */ 3706 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) 3707 { 3708 3709 return yy_scan_bytes(yystr,strlen(yystr) ); 3710 } 3711 3712 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will 3713 * scan from a @e copy of @a bytes. 3714 * @param yybytes the byte buffer to scan 3715 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 3716 * 3717 * @return the newly allocated buffer state object. 3718 */ 3719 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) 3720 { 3721 YY_BUFFER_STATE b; 3722 char *buf; 3723 yy_size_t n; 3724 int i; 3725 3726 /* Get memory for full buffer, including space for trailing EOB's. */ 3727 n = _yybytes_len + 2; 3728 buf = (char *) yyalloc(n ); 3729 if ( ! buf ) 3730 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 3731 3732 for ( i = 0; i < _yybytes_len; ++i ) 3733 buf[i] = yybytes[i]; 3734 3735 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 3736 3737 b = yy_scan_buffer(buf,n ); 3738 if ( ! b ) 3739 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 3740 3741 /* It's okay to grow etc. this buffer, and we should throw it 3742 * away when we're done. 3743 */ 3744 b->yy_is_our_buffer = 1; 3745 3746 return b; 3747 } 3748 3749 #ifndef YY_EXIT_FAILURE 3750 #define YY_EXIT_FAILURE 2 3751 #endif 3752 3753 static void yy_fatal_error (yyconst char* msg ) 3754 { 3755 (void) fprintf( stderr, "%s\n", msg ); 3756 exit( YY_EXIT_FAILURE ); 3757 } 3758 3759 /* Redefine yyless() so it works in section 3 code. */ 3760 3761 #undef yyless 3762 #define yyless(n) \ 3763 do \ 3764 { \ 3765 /* Undo effects of setting up yytext. */ \ 3766 int yyless_macro_arg = (n); \ 3767 YY_LESS_LINENO(yyless_macro_arg);\ 3768 yytext[yyleng] = (yy_hold_char); \ 3769 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 3770 (yy_hold_char) = *(yy_c_buf_p); \ 3771 *(yy_c_buf_p) = '\0'; \ 3772 yyleng = yyless_macro_arg; \ 3773 } \ 3774 while ( 0 ) 3775 3776 /* Accessor methods (get/set functions) to struct members. */ 3777 3778 /** Get the current line number. 3779 * 3780 */ 3781 int yyget_lineno (void) 3782 { 3783 3784 return yylineno; 3785 } 3786 3787 /** Get the input stream. 3788 * 3789 */ 3790 FILE *yyget_in (void) 3791 { 3792 return yyin; 3793 } 3794 3795 /** Get the output stream. 3796 * 3797 */ 3798 FILE *yyget_out (void) 3799 { 3800 return yyout; 3801 } 3802 3803 /** Get the length of the current token. 3804 * 3805 */ 3806 yy_size_t yyget_leng (void) 3807 { 3808 return yyleng; 3809 } 3810 3811 /** Get the current token. 3812 * 3813 */ 3814 3815 char *yyget_text (void) 3816 { 3817 return yytext; 3818 } 3819 3820 /** Set the current line number. 3821 * @param line_number 3822 * 3823 */ 3824 void yyset_lineno (int line_number ) 3825 { 3826 3827 yylineno = line_number; 3828 } 3829 3830 /** Set the input stream. This does not discard the current 3831 * input buffer. 3832 * @param in_str A readable stream. 3833 * 3834 * @see yy_switch_to_buffer 3835 */ 3836 void yyset_in (FILE * in_str ) 3837 { 3838 yyin = in_str ; 3839 } 3840 3841 void yyset_out (FILE * out_str ) 3842 { 3843 yyout = out_str ; 3844 } 3845 3846 int yyget_debug (void) 3847 { 3848 return yy_flex_debug; 3849 } 3850 3851 void yyset_debug (int bdebug ) 3852 { 3853 yy_flex_debug = bdebug ; 3854 } 3855 3856 static int yy_init_globals (void) 3857 { 3858 /* Initialization is the same as for the non-reentrant scanner. 3859 * This function is called from yylex_destroy(), so don't allocate here. 3860 */ 3861 3862 (yy_buffer_stack) = 0; 3863 (yy_buffer_stack_top) = 0; 3864 (yy_buffer_stack_max) = 0; 3865 (yy_c_buf_p) = (char *) 0; 3866 (yy_init) = 0; 3867 (yy_start) = 0; 3868 3869 /* Defined in main.c */ 3870 #ifdef YY_STDINIT 3871 yyin = stdin; 3872 yyout = stdout; 3873 #else 3874 yyin = (FILE *) 0; 3875 yyout = (FILE *) 0; 3876 #endif 3877 3878 /* For future reference: Set errno on error, since we are called by 3879 * yylex_init() 3880 */ 3881 return 0; 3882 } 3883 3884 /* yylex_destroy is for both reentrant and non-reentrant scanners. */ 3885 int yylex_destroy (void) 3886 { 3887 3888 /* Pop the buffer stack, destroying each element. */ 3889 while(YY_CURRENT_BUFFER){ 3890 yy_delete_buffer(YY_CURRENT_BUFFER ); 3891 YY_CURRENT_BUFFER_LVALUE = NULL; 3892 yypop_buffer_state(); 3893 } 3894 3895 /* Destroy the stack itself. */ 3896 yyfree((yy_buffer_stack) ); 3897 (yy_buffer_stack) = NULL; 3898 3899 /* Reset the globals. This is important in a non-reentrant scanner so the next time 3900 * yylex() is called, initialization will occur. */ 3901 yy_init_globals( ); 3902 3903 return 0; 3904 } 3905 3906 /* 3907 * Internal utility routines. 3908 */ 3909 3910 #ifndef yytext_ptr 3911 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 3912 { 3913 register int i; 3914 for ( i = 0; i < n; ++i ) 3915 s1[i] = s2[i]; 3916 } 3917 #endif 3918 3919 #ifdef YY_NEED_STRLEN 3920 static int yy_flex_strlen (yyconst char * s ) 3921 { 3922 register int n; 3923 for ( n = 0; s[n]; ++n ) 3924 ; 3925 3926 return n; 3927 } 3928 #endif 3929 3930 void *yyalloc (yy_size_t size ) 3931 { 3932 return (void *) malloc( size ); 3933 } 3934 3935 void *yyrealloc (void * ptr, yy_size_t size ) 3936 { 3937 /* The cast to (char *) in the following accommodates both 3938 * implementations that use char* generic pointers, and those 3939 * that use void* generic pointers. It works with the latter 3940 * because both ANSI C and C++ allow castless assignment from 3941 * any pointer type to void*, and deal with argument conversions 3942 * as though doing an assignment. 3943 */ 3944 return (void *) realloc( (char *) ptr, size ); 3945 } 3946 3947 void yyfree (void * ptr ) 3948 { 3949 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 3950 } 3951 3952 #define YYTABLES_NAME "yytables" 3953 3954 #line 388 "util/configlexer.lex" 3955 3956 3957 3958