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