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