1 2 #define YY_INT_ALIGNED short int 3 4 /* A lexical scanner generated by flex */ 5 6 #define FLEX_SCANNER 7 #define YY_FLEX_MAJOR_VERSION 2 8 #define YY_FLEX_MINOR_VERSION 6 9 #define YY_FLEX_SUBMINOR_VERSION 3 10 #if YY_FLEX_SUBMINOR_VERSION > 0 11 #define FLEX_BETA 12 #endif 13 14 /* First, we deal with platform-specific or compiler-specific issues. */ 15 16 /* begin standard C headers. */ 17 #ifdef _LIBC 18 #include "namespace.h" 19 #endif 20 #include <stdio.h> 21 #include <string.h> 22 #include <errno.h> 23 #include <stdlib.h> 24 25 /* end standard C headers. */ 26 27 /* $NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $ */ 28 29 /* flex integer type definitions */ 30 31 #ifndef FLEXINT_H 32 #define FLEXINT_H 33 34 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 35 36 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 37 38 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 39 * if you want the limit (max/min) macros for int types. 40 */ 41 #ifndef __STDC_LIMIT_MACROS 42 #define __STDC_LIMIT_MACROS 1 43 #endif 44 45 #include <inttypes.h> 46 typedef int8_t flex_int8_t; 47 typedef uint8_t flex_uint8_t; 48 typedef int16_t flex_int16_t; 49 typedef uint16_t flex_uint16_t; 50 typedef int32_t flex_int32_t; 51 typedef uint32_t flex_uint32_t; 52 #else 53 typedef signed char flex_int8_t; 54 typedef short int flex_int16_t; 55 typedef int flex_int32_t; 56 typedef unsigned char flex_uint8_t; 57 typedef unsigned short int flex_uint16_t; 58 typedef unsigned int flex_uint32_t; 59 60 /* Limits of integral types. */ 61 #ifndef INT8_MIN 62 #define INT8_MIN (-128) 63 #endif 64 #ifndef INT16_MIN 65 #define INT16_MIN (-32767-1) 66 #endif 67 #ifndef INT32_MIN 68 #define INT32_MIN (-2147483647-1) 69 #endif 70 #ifndef INT8_MAX 71 #define INT8_MAX (127) 72 #endif 73 #ifndef INT16_MAX 74 #define INT16_MAX (32767) 75 #endif 76 #ifndef INT32_MAX 77 #define INT32_MAX (2147483647) 78 #endif 79 #ifndef UINT8_MAX 80 #define UINT8_MAX (255U) 81 #endif 82 #ifndef UINT16_MAX 83 #define UINT16_MAX (65535U) 84 #endif 85 #ifndef UINT32_MAX 86 #define UINT32_MAX (4294967295U) 87 #endif 88 89 #endif /* ! C99 */ 90 91 #endif /* ! FLEXINT_H */ 92 93 /* begin standard C++ headers. */ 94 95 /* TODO: this is always defined, so inline it */ 96 #define yyconst const 97 98 #if defined(__GNUC__) && __GNUC__ >= 3 99 #define yynoreturn __attribute__((__noreturn__)) 100 #else 101 #define yynoreturn 102 #endif 103 104 /* Returned upon end-of-file. */ 105 #define YY_NULL 0 106 107 /* Promotes a possibly negative, possibly signed char to an 108 * integer in range [0..255] for use as an array index. 109 */ 110 #define YY_SC_TO_UI(c) ((YY_CHAR) (c)) 111 112 /* Enter a start condition. This macro really ought to take a parameter, 113 * but we do it the disgusting crufty way forced on us by the ()-less 114 * definition of BEGIN. 115 */ 116 #define BEGIN (yy_start) = 1 + 2 * 117 /* Translate the current start state into a value that can be later handed 118 * to BEGIN to return to the state. The YYSTATE alias is for lex 119 * compatibility. 120 */ 121 #define YY_START (((yy_start) - 1) / 2) 122 #define YYSTATE YY_START 123 /* Action number for EOF rule of a given start state. */ 124 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 125 /* Special action meaning "start processing a new file". */ 126 #define YY_NEW_FILE yyrestart( yyin ) 127 #define YY_END_OF_BUFFER_CHAR 0 128 129 /* Size of default input buffer. */ 130 #ifndef YY_BUF_SIZE 131 #ifdef __ia64__ 132 /* On IA-64, the buffer size is 16k, not 8k. 133 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 134 * Ditto for the __ia64__ case accordingly. 135 */ 136 #define YY_BUF_SIZE 32768 137 #else 138 #define YY_BUF_SIZE 16384 139 #endif /* __ia64__ */ 140 #endif 141 142 /* The state buf must be large enough to hold one state per character in the main buffer. 143 */ 144 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 145 146 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 147 #define YY_TYPEDEF_YY_BUFFER_STATE 148 typedef struct yy_buffer_state *YY_BUFFER_STATE; 149 #endif 150 151 #ifndef YY_TYPEDEF_YY_SIZE_T 152 #define YY_TYPEDEF_YY_SIZE_T 153 typedef size_t yy_size_t; 154 #endif 155 156 extern yy_size_t yyleng; 157 158 extern FILE *yyin, *yyout; 159 160 #define EOB_ACT_CONTINUE_SCAN 0 161 #define EOB_ACT_END_OF_FILE 1 162 #define EOB_ACT_LAST_MATCH 2 163 164 #define YY_LESS_LINENO(n) 165 #define YY_LINENO_REWIND_TO(ptr) 166 167 /* Return all but the first "n" matched characters back to the input stream. */ 168 #define yyless(n) \ 169 do \ 170 { \ 171 /* Undo effects of setting up yytext. */ \ 172 int yyless_macro_arg = (n); \ 173 YY_LESS_LINENO(yyless_macro_arg);\ 174 *yy_cp = (yy_hold_char); \ 175 YY_RESTORE_YY_MORE_OFFSET \ 176 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 177 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 178 } \ 179 while ( 0 ) 180 #define unput(c) yyunput( c, (yytext_ptr) ) 181 182 #ifndef YY_STRUCT_YY_BUFFER_STATE 183 #define YY_STRUCT_YY_BUFFER_STATE 184 struct yy_buffer_state 185 { 186 FILE *yy_input_file; 187 188 char *yy_ch_buf; /* input buffer */ 189 char *yy_buf_pos; /* current position in input buffer */ 190 191 /* Size of input buffer in bytes, not including room for EOB 192 * characters. 193 */ 194 size_t yy_buf_size; 195 196 /* Number of characters read into yy_ch_buf, not including EOB 197 * characters. 198 */ 199 size_t yy_n_chars; 200 201 /* Whether we "own" the buffer - i.e., we know we created it, 202 * and can realloc() it to grow it, and should free() it to 203 * delete it. 204 */ 205 int yy_is_our_buffer; 206 207 /* Whether this is an "interactive" input source; if so, and 208 * if we're using stdio for input, then we want to use getc() 209 * instead of fread(), to make sure we stop fetching input after 210 * each newline. 211 */ 212 int yy_is_interactive; 213 214 /* Whether we're considered to be at the beginning of a line. 215 * If so, '^' rules will be active on the next match, otherwise 216 * not. 217 */ 218 int yy_at_bol; 219 220 int yy_bs_lineno; /**< The line count. */ 221 int yy_bs_column; /**< The column count. */ 222 223 /* Whether to try to fill the input buffer when we reach the 224 * end of it. 225 */ 226 int yy_fill_buffer; 227 228 int yy_buffer_status; 229 230 #define YY_BUFFER_NEW 0 231 #define YY_BUFFER_NORMAL 1 232 /* When an EOF's been seen but there's still some text to process 233 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 234 * shouldn't try reading from the input source any more. We might 235 * still have a bunch of tokens to match, though, because of 236 * possible backing-up. 237 * 238 * When we actually see the EOF, we change the status to "new" 239 * (via yyrestart()), so that the user can continue scanning by 240 * just pointing yyin at a new input file. 241 */ 242 #define YY_BUFFER_EOF_PENDING 2 243 244 }; 245 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 246 247 /* Stack of input buffers. */ 248 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 249 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 250 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ 251 252 /* We provide macros for accessing buffer states in case in the 253 * future we want to put the buffer states in a more general 254 * "scanner state". 255 * 256 * Returns the top of the stack, or NULL. 257 */ 258 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 259 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 260 : NULL) 261 /* Same as previous macro, but useful when we know that the buffer stack is not 262 * NULL or when we need an lvalue. For internal use only. 263 */ 264 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 265 266 /* yy_hold_char holds the character lost when yytext is formed. */ 267 static char yy_hold_char; 268 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ 269 yy_size_t yyleng; 270 271 /* Points to current character in buffer. */ 272 static char *yy_c_buf_p = NULL; 273 static int yy_init = 0; /* whether we need to initialize */ 274 static int yy_start = 0; /* start state number */ 275 276 /* Flag which is used to allow yywrap()'s to do buffer switches 277 * instead of setting up a fresh yyin. A bit of a hack ... 278 */ 279 static int yy_did_buffer_switch_on_eof; 280 281 void yyrestart ( FILE *input_file ); 282 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); 283 YY_BUFFER_STATE yy_create_buffer ( FILE *file, yy_size_t size ); 284 void yy_delete_buffer ( YY_BUFFER_STATE b ); 285 void yy_flush_buffer ( YY_BUFFER_STATE b ); 286 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); 287 void yypop_buffer_state ( void ); 288 289 static void yyensure_buffer_stack ( void ); 290 static void yy_load_buffer_state ( void ); 291 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); 292 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) 293 294 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); 295 YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); 296 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len ); 297 298 void *yyalloc ( yy_size_t ); 299 void *yyrealloc ( void *, yy_size_t ); 300 void yyfree ( void * ); 301 302 #define yy_new_buffer yy_create_buffer 303 #define yy_set_interactive(is_interactive) \ 304 { \ 305 if ( ! YY_CURRENT_BUFFER ){ \ 306 yyensure_buffer_stack (); \ 307 YY_CURRENT_BUFFER_LVALUE = \ 308 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 309 } \ 310 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 311 } 312 #define yy_set_bol(at_bol) \ 313 { \ 314 if ( ! YY_CURRENT_BUFFER ){\ 315 yyensure_buffer_stack (); \ 316 YY_CURRENT_BUFFER_LVALUE = \ 317 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 318 } \ 319 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 320 } 321 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 322 323 /* Begin user sect3 */ 324 typedef flex_uint8_t YY_CHAR; 325 326 FILE *yyin = NULL, *yyout = NULL; 327 328 typedef int yy_state_type; 329 330 extern int yylineno; 331 int yylineno = 1; 332 333 extern char *yytext; 334 #ifdef yytext_ptr 335 #undef yytext_ptr 336 #endif 337 #define yytext_ptr yytext 338 339 static yy_state_type yy_get_previous_state ( void ); 340 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); 341 static int yy_get_next_buffer ( void ); 342 static void yynoreturn yy_fatal_error ( const char* msg ); 343 344 /* Done after the current pattern has been matched and before the 345 * corresponding action - sets up yytext. 346 */ 347 #define YY_DO_BEFORE_ACTION \ 348 (yytext_ptr) = yy_bp; \ 349 yyleng = (yy_size_t)(yy_cp - yy_bp); \ 350 (yy_hold_char) = *yy_cp; \ 351 *yy_cp = '\0'; \ 352 (yy_c_buf_p) = yy_cp; 353 #define YY_NUM_RULES 253 354 #define YY_END_OF_BUFFER 254 355 /* This struct is not used in this scanner, 356 but its presence is necessary. */ 357 struct yy_trans_info 358 { 359 flex_int32_t yy_verify; 360 flex_int32_t yy_nxt; 361 }; 362 static const flex_int16_t yy_accept[1114] = 363 { 0, 364 0, 0, 0, 0, 0, 0, 246, 246, 40, 40, 365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 367 239, 239, 0, 0, 0, 0, 0, 0, 0, 0, 368 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 369 250, 250, 239, 239, 254, 252, 9, 20, 252, 18, 370 1, 19, 252, 252, 252, 252, 17, 163, 148, 149, 371 163, 141, 163, 160, 161, 162, 162, 163, 163, 163, 372 162, 147, 137, 163, 163, 139, 140, 135, 136, 135, 373 134, 133, 134, 246, 247, 247, 40, 42, 40, 41, 374 375 40, 40, 41, 41, 41, 50, 49, 51, 252, 169, 376 169, 164, 169, 165, 166, 168, 170, 218, 219, 218, 377 216, 215, 217, 171, 173, 171, 172, 171, 185, 185, 378 185, 185, 187, 189, 187, 187, 187, 187, 188, 228, 379 233, 228, 232, 231, 234, 229, 229, 229, 234, 234, 380 226, 227, 252, 130, 252, 21, 23, 21, 22, 22, 381 22, 235, 241, 235, 236, 242, 242, 242, 224, 224, 382 225, 224, 224, 224, 224, 224, 224, 224, 129, 53, 383 52, 129, 129, 129, 129, 54, 129, 129, 129, 129, 384 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 385 386 129, 129, 129, 129, 129, 129, 129, 36, 33, 36, 387 34, 48, 45, 252, 48, 48, 44, 43, 175, 174, 388 176, 177, 178, 179, 180, 181, 182, 31, 32, 31, 389 30, 28, 29, 28, 27, 22, 250, 251, 251, 237, 390 237, 238, 9, 20, 0, 18, 1, 19, 0, 0, 391 0, 16, 10, 0, 0, 0, 0, 4, 16, 5, 392 0, 2, 17, 148, 149, 0, 0, 0, 143, 0, 393 159, 157, 0, 153, 153, 0, 243, 243, 243, 0, 394 0, 142, 0, 147, 137, 0, 0, 0, 139, 140, 395 152, 138, 0, 136, 134, 133, 131, 132, 246, 244, 396 397 245, 40, 42, 40, 40, 37, 38, 0, 50, 49, 398 51, 0, 164, 0, 164, 167, 168, 219, 215, 173, 399 0, 183, 184, 189, 186, 228, 233, 0, 0, 221, 400 229, 229, 229, 0, 130, 0, 21, 23, 24, 235, 401 241, 240, 239, 240, 0, 0, 225, 220, 0, 0, 402 53, 52, 0, 128, 0, 0, 129, 129, 129, 129, 403 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 404 129, 129, 129, 129, 129, 129, 55, 129, 129, 129, 405 129, 129, 129, 129, 129, 129, 129, 129, 0, 35, 406 34, 48, 45, 46, 47, 31, 32, 29, 26, 25, 407 408 250, 248, 249, 237, 0, 16, 10, 0, 14, 0, 409 0, 0, 0, 0, 4, 16, 5, 0, 6, 0, 410 144, 0, 145, 0, 158, 0, 153, 153, 0, 153, 411 153, 153, 243, 243, 155, 154, 0, 156, 138, 146, 412 0, 152, 0, 131, 132, 40, 40, 0, 39, 0, 413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414 0, 0, 230, 229, 229, 0, 0, 220, 0, 0, 415 0, 0, 129, 129, 129, 129, 129, 129, 65, 129, 416 129, 129, 70, 129, 129, 129, 129, 129, 129, 129, 417 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 418 419 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 420 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 421 0, 0, 14, 0, 0, 0, 0, 0, 0, 4, 422 8, 5, 0, 153, 153, 153, 153, 153, 153, 153, 423 243, 156, 0, 0, 40, 40, 0, 0, 0, 0, 424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 425 0, 0, 0, 0, 0, 0, 0, 0, 229, 229, 426 0, 0, 56, 57, 129, 129, 129, 129, 129, 129, 427 129, 129, 129, 129, 71, 72, 129, 129, 129, 129, 428 77, 78, 129, 129, 129, 129, 129, 129, 129, 83, 429 430 129, 129, 129, 129, 129, 129, 129, 129, 129, 92, 431 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 432 0, 0, 0, 15, 0, 0, 0, 0, 0, 8, 433 8, 8, 0, 153, 153, 153, 153, 153, 153, 153, 434 0, 0, 40, 40, 214, 0, 0, 0, 0, 0, 435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436 0, 0, 0, 0, 0, 0, 0, 0, 229, 229, 437 0, 0, 58, 129, 60, 129, 62, 129, 129, 129, 438 129, 68, 129, 129, 129, 73, 129, 129, 129, 129, 439 129, 129, 129, 129, 129, 129, 129, 86, 129, 129, 440 441 129, 129, 90, 129, 129, 129, 129, 129, 129, 129, 442 129, 129, 129, 0, 0, 0, 0, 3, 0, 0, 443 0, 8, 7, 8, 0, 153, 153, 153, 0, 0, 444 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446 0, 0, 0, 0, 0, 0, 222, 223, 222, 223, 447 129, 61, 129, 129, 129, 129, 129, 129, 129, 125, 448 129, 129, 129, 129, 129, 129, 129, 129, 123, 129, 449 85, 129, 88, 129, 89, 129, 129, 129, 104, 0, 450 129, 94, 129, 0, 95, 0, 0, 0, 0, 0, 451 452 12, 0, 13, 0, 151, 0, 150, 0, 0, 0, 453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455 0, 129, 129, 129, 129, 129, 66, 129, 69, 129, 456 129, 129, 129, 129, 129, 122, 129, 82, 129, 129, 457 87, 129, 91, 102, 124, 0, 0, 0, 0, 0, 458 0, 129, 129, 0, 0, 0, 0, 0, 0, 0, 459 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 461 0, 0, 0, 0, 0, 0, 0, 0, 129, 129, 462 463 129, 129, 129, 67, 129, 129, 129, 129, 79, 129, 464 129, 129, 129, 129, 129, 0, 0, 113, 0, 0, 465 0, 0, 0, 0, 93, 129, 0, 0, 114, 0, 466 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 467 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 468 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 470 129, 129, 129, 129, 129, 129, 84, 129, 129, 0, 471 0, 0, 0, 0, 0, 115, 0, 103, 0, 0, 472 0, 0, 0, 116, 0, 0, 0, 0, 0, 201, 473 474 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 475 212, 0, 129, 129, 129, 129, 129, 121, 129, 129, 476 75, 129, 129, 129, 129, 129, 0, 0, 109, 0, 477 119, 117, 110, 0, 0, 0, 120, 118, 0, 0, 478 0, 0, 0, 0, 213, 129, 129, 129, 129, 129, 479 125, 74, 129, 81, 129, 126, 129, 105, 107, 0, 480 106, 108, 0, 0, 0, 0, 0, 0, 0, 129, 481 63, 129, 129, 129, 129, 76, 129, 111, 112, 97, 482 0, 0, 0, 0, 98, 129, 129, 129, 129, 129, 483 127, 96, 0, 100, 0, 129, 129, 129, 66, 129, 484 485 99, 101, 129, 64, 129, 129, 129, 67, 129, 129, 486 80, 59, 0 487 } ; 488 489 static const YY_CHAR yy_ec[256] = 490 { 0, 491 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 492 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 494 1, 2, 1, 6, 7, 8, 9, 1, 10, 11, 495 12, 13, 14, 15, 16, 17, 18, 19, 19, 19, 496 19, 19, 19, 19, 20, 21, 22, 23, 1, 24, 497 25, 26, 27, 1, 28, 29, 30, 31, 32, 33, 498 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 499 44, 45, 46, 47, 48, 49, 50, 51, 52, 44, 500 53, 54, 55, 56, 57, 1, 58, 59, 60, 61, 501 502 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 503 72, 73, 44, 74, 75, 76, 77, 78, 79, 80, 504 81, 44, 82, 83, 84, 1, 1, 1, 1, 1, 505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 512 513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 518 1, 1, 1, 1, 1 519 } ; 520 521 static const YY_CHAR yy_meta[85] = 522 { 0, 523 1, 1, 2, 1, 3, 4, 1, 1, 5, 6, 524 1, 7, 8, 9, 1, 10, 1, 11, 12, 12, 525 12, 12, 13, 1, 1, 1, 1, 14, 14, 14, 526 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 527 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 528 15, 15, 16, 17, 18, 1, 19, 14, 14, 14, 529 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 530 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 531 15, 20, 1, 21 532 } ; 533 534 static const flex_int16_t yy_base[1221] = 535 { 0, 536 0, 84, 167, 250, 171, 184, 135, 142, 220, 231, 537 196, 200, 334, 0, 3627, 3625, 211, 416, 203, 212, 538 189, 225, 266, 417, 500, 0, 207, 208, 234, 421, 539 424, 436, 583, 588, 669, 0, 294, 304, 584, 751, 540 579, 580, 417, 576, 287, 306, 241, 441, 595, 608, 541 169, 238, 440, 754, 3680, 4511, 325, 4511, 3676, 0, 542 446, 4511, 3673, 430, 827, 3661, 0, 4511, 758, 4511, 543 3650, 4511, 453, 3621, 4511, 4511, 3619, 3584, 129, 746, 544 445, 766, 4511, 3604, 198, 3582, 4511, 4511, 4511, 3600, 545 0, 3599, 214, 0, 3506, 3483, 0, 4511, 3532, 4511, 546 547 420, 119, 3481, 3478, 3446, 0, 3526, 4511, 3520, 4511, 548 482, 3520, 3518, 4511, 3455, 0, 4511, 4511, 4511, 3504, 549 4511, 598, 4511, 4511, 4511, 3499, 4511, 754, 4511, 3477, 550 759, 180, 4511, 4511, 3467, 0, 3442, 762, 4511, 0, 551 4511, 3459, 4511, 3406, 3434, 0, 562, 167, 3393, 3370, 552 4511, 4511, 326, 4511, 420, 0, 4511, 3418, 3402, 3366, 553 3342, 0, 4511, 3368, 4511, 3317, 444, 3314, 4511, 471, 554 4511, 3354, 3271, 3337, 572, 189, 3295, 3285, 4511, 3332, 555 4511, 3307, 3303, 585, 594, 4511, 746, 734, 744, 754, 556 763, 770, 0, 755, 748, 763, 818, 789, 240, 822, 557 558 762, 381, 802, 791, 813, 824, 577, 4511, 4511, 3302, 559 871, 0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511, 560 4511, 4511, 4511, 4511, 4511, 4511, 4511, 0, 4511, 3279, 561 4511, 4511, 4511, 3276, 3260, 3259, 0, 3221, 3214, 0, 562 3264, 4511, 835, 4511, 3262, 0, 903, 4511, 3257, 842, 563 817, 0, 0, 910, 914, 918, 922, 0, 814, 0, 564 457, 4511, 0, 943, 4511, 3241, 3141, 483, 4511, 3217, 565 3212, 4511, 826, 556, 903, 930, 4511, 757, 0, 3134, 566 3131, 4511, 3129, 964, 4511, 3190, 3110, 3174, 3161, 4511, 567 0, 4511, 896, 4511, 0, 3172, 0, 0, 0, 4511, 568 569 4511, 0, 4511, 910, 913, 4511, 4511, 602, 0, 3169, 570 4511, 957, 3164, 3161, 3127, 4511, 0, 4511, 976, 4511, 571 1020, 4511, 4511, 4511, 4511, 0, 4511, 3116, 0, 4511, 572 0, 926, 930, 644, 4511, 662, 0, 4511, 4511, 0, 573 4511, 4511, 3071, 3121, 794, 3037, 4511, 0, 934, 932, 574 3117, 4511, 3091, 4511, 938, 939, 0, 940, 738, 956, 575 802, 3059, 876, 978, 933, 933, 939, 948, 964, 1030, 576 938, 958, 976, 968, 0, 996, 4511, 999, 1057, 1068, 577 981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511, 578 1014, 0, 4511, 4511, 4511, 0, 4511, 4511, 4511, 4511, 579 580 0, 4511, 4511, 0, 1078, 0, 0, 1153, 4511, 3063, 581 1166, 1077, 1076, 1091, 0, 1089, 0, 1018, 4511, 1022, 582 4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242, 583 1177, 1308, 1105, 0, 4511, 4511, 2954, 1198, 4511, 4511, 584 1144, 0, 1137, 0, 0, 1161, 1156, 1123, 4511, 1202, 585 1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321, 586 1323, 1382, 4511, 1172, 1166, 2589, 2537, 0, 1178, 1169, 587 1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323, 0, 1341, 588 1332, 1348, 0, 1346, 1350, 1348, 1361, 1350, 1367, 2573, 589 1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400, 590 591 1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424, 592 1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450, 593 1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451, 0, 594 1143, 0, 1461, 1534, 1600, 1636, 204, 2525, 1606, 1681, 595 4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600, 596 1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654, 597 1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674, 598 1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692, 599 1731, 1711, 1702, 1718, 0, 0, 1719, 1706, 1716, 1735, 600 0, 0, 2553, 1722, 1732, 2540, 1725, 1722, 1733, 0, 601 602 1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746, 0, 603 1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769, 604 1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780, 0, 605 1507, 1234, 2364, 732, 2273, 1809, 1845, 1430, 1076, 1585, 606 1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821, 607 1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825, 608 1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891, 609 1882, 1899, 0, 1887, 0, 1892, 0, 2260, 1900, 1891, 610 1909, 0, 1904, 2253, 1902, 0, 1916, 1907, 1918, 2227, 611 1912, 1909, 1924, 2201, 1908, 1918, 1922, 0, 1934, 1925, 612 613 1931, 1947, 0, 1936, 1942, 1941, 1953, 2103, 1957, 1958, 614 1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961, 615 1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983, 616 0, 0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007, 617 2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029, 618 2037, 2035, 2045, 2051, 2054, 2061, 0, 0, 4511, 4511, 619 1922, 0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831, 620 2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085, 0, 2091, 621 0, 2074, 0, 1824, 0, 2091, 2094, 2082, 0, 2116, 622 2088, 0, 2092, 2133, 0, 1728, 2097, 2095, 1714, 1678, 623 624 4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601, 625 1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128, 626 2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167, 627 2164, 2157, 2151, 2159, 2158, 2173, 0, 2165, 0, 2166, 628 2182, 2173, 2179, 2178, 2186, 0, 2185, 0, 2187, 2193, 629 0, 2202, 0, 0, 0, 2204, 2187, 2201, 2224, 2200, 630 2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162, 631 1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057, 984, 632 976, 969, 923, 913, 910, 931, 895, 891, 887, 881, 633 874, 856, 848, 843, 840, 804, 788, 2259, 2248, 2258, 634 635 2265, 2264, 2241, 0, 2254, 2265, 2268, 2279, 0, 2262, 636 2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281, 637 2281, 2300, 2283, 2281, 0, 2303, 2307, 2292, 4511, 2302, 638 2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362, 639 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 640 4511, 746, 725, 597, 577, 441, 426, 420, 267, 253, 641 247, 230, 183, 181, 2317, 2338, 2342, 2330, 2336, 2343, 642 2339, 2331, 2334, 2350, 2341, 2345, 0, 2350, 2346, 2344, 643 2349, 2361, 2364, 2367, 2359, 4511, 2357, 0, 2358, 2362, 644 2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511, 645 646 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 647 4511, 122, 2399, 2398, 2382, 2391, 2391, 0, 2407, 2408, 648 0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414, 649 4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437, 650 2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452, 651 0, 0, 2461, 0, 2444, 0, 2459, 4511, 4511, 2452, 652 4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481, 653 0, 2468, 2465, 2465, 2485, 0, 2465, 4511, 4511, 4511, 654 2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490, 655 0, 4511, 2497, 4511, 2510, 2500, 2502, 2500, 0, 2514, 656 657 4511, 4511, 2516, 0, 2523, 2508, 2509, 0, 2528, 2531, 658 0, 0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719, 659 2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929, 660 2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108, 661 3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292, 662 3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463, 663 3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609, 664 3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789, 665 3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973, 666 3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167, 667 668 4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325, 669 4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489 670 } ; 671 672 static const flex_int16_t yy_def[1221] = 673 { 0, 674 1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118, 675 1119, 1119, 1113, 13, 1120, 1120, 1121, 1121, 1122, 1122, 676 1123, 1123, 1124, 1124, 1113, 25, 1125, 1125, 1126, 1126, 677 1127, 1127, 1128, 1128, 1113, 35, 1129, 1129, 1130, 1130, 678 1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126, 679 1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135, 680 1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113, 681 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139, 682 1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 683 1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113, 684 685 1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113, 686 1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113, 687 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113, 688 1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148, 689 1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113, 690 1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113, 691 1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113, 692 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 693 1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156, 694 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156, 695 696 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158, 697 1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 698 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160, 699 1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162, 700 1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113, 701 1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167, 702 1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113, 703 1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113, 704 1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 705 1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113, 706 707 1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113, 708 1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113, 709 1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113, 710 1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189, 711 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113, 712 1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192, 713 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 714 1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192, 715 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113, 716 1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113, 717 718 1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113, 719 1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203, 720 1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113, 721 1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113, 722 1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212, 723 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 724 1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113, 725 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 726 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 727 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 728 729 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 730 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 731 1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201, 732 1218, 1202, 1113, 1113, 1205, 432, 430, 430, 1205, 432, 733 1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 734 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 735 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 736 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 737 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 738 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 739 740 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 741 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 742 1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218, 743 1218, 1218, 1113, 534, 534, 1205, 432, 1205, 1205, 1205, 744 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213, 745 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 746 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 747 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 748 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 749 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 750 751 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 752 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113, 753 1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113, 754 1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 755 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 756 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113, 757 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 758 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 759 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 760 1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219, 761 762 1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 763 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 764 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 765 1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 766 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 767 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 768 1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 769 1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 770 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213, 771 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217, 772 773 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 774 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 775 1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113, 776 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220, 777 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 778 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 779 1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217, 780 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 781 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113, 782 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 783 784 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 785 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 786 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 787 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 788 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 789 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 790 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 791 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 792 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 793 1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 794 795 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 796 1217, 1217, 0, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 797 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 798 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 799 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 800 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 801 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 802 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 803 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 804 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 805 806 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 807 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113 808 } ; 809 810 static const flex_int16_t yy_nxt[4596] = 811 { 0, 812 56, 57, 58, 56, 59, 56, 56, 56, 56, 56, 813 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 814 56, 56, 56, 56, 56, 56, 56, 60, 60, 60, 815 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 816 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 817 60, 60, 56, 56, 56, 56, 60, 60, 60, 60, 818 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 819 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 820 60, 56, 56, 56, 56, 61, 62, 56, 63, 56, 821 64, 56, 65, 56, 56, 56, 56, 56, 56, 56, 822 823 56, 66, 56, 56, 56, 56, 56, 56, 56, 56, 824 56, 67, 67, 67, 67, 67, 67, 67, 67, 67, 825 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 826 67, 67, 67, 67, 67, 67, 56, 56, 56, 56, 827 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 828 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 829 67, 67, 67, 67, 67, 56, 56, 56, 69, 70, 830 305, 71, 72, 89, 73, 90, 1045, 74, 75, 76, 831 76, 275, 276, 76, 77, 92, 89, 95, 90, 96, 832 78, 56, 93, 76, 95, 323, 96, 107, 108, 305, 833 834 109, 107, 108, 1012, 109, 125, 291, 126, 127, 154, 835 154, 155, 155, 119, 125, 120, 126, 127, 333, 79, 836 80, 238, 98, 239, 99, 121, 638, 56, 100, 122, 837 122, 122, 122, 98, 323, 99, 157, 1011, 158, 105, 838 350, 130, 131, 233, 132, 234, 159, 333, 81, 76, 839 76, 82, 83, 235, 84, 72, 128, 73, 85, 427, 840 74, 75, 76, 76, 101, 128, 76, 77, 134, 350, 841 135, 102, 103, 86, 104, 101, 76, 130, 131, 292, 842 132, 136, 102, 103, 1010, 104, 160, 378, 161, 229, 843 238, 230, 239, 101, 123, 297, 209, 298, 231, 210, 844 845 102, 1009, 79, 80, 101, 87, 209, 1008, 229, 210, 846 230, 102, 211, 211, 211, 211, 378, 231, 137, 138, 847 139, 1007, 211, 211, 211, 211, 243, 244, 335, 245, 848 336, 81, 76, 76, 110, 111, 112, 110, 113, 110, 849 110, 110, 110, 110, 110, 110, 114, 110, 114, 110, 850 110, 110, 110, 110, 110, 110, 110, 110, 110, 115, 851 110, 116, 116, 116, 116, 116, 116, 116, 116, 116, 852 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 853 116, 116, 116, 116, 116, 116, 110, 110, 110, 110, 854 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 855 856 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 857 116, 116, 116, 116, 116, 110, 110, 110, 119, 134, 858 120, 135, 335, 157, 336, 158, 163, 383, 164, 165, 859 121, 250, 136, 159, 122, 122, 122, 122, 163, 224, 860 164, 165, 163, 233, 241, 234, 343, 247, 248, 242, 861 249, 304, 225, 235, 269, 269, 383, 270, 280, 419, 862 281, 420, 226, 282, 282, 282, 282, 227, 251, 137, 863 138, 139, 345, 160, 1006, 161, 166, 167, 168, 346, 864 1005, 304, 225, 312, 313, 423, 314, 424, 166, 167, 865 168, 226, 166, 167, 168, 1004, 227, 344, 251, 123, 866 867 140, 140, 141, 140, 142, 143, 140, 140, 140, 144, 868 140, 140, 140, 140, 140, 140, 140, 145, 140, 140, 869 140, 140, 140, 140, 140, 140, 140, 146, 146, 146, 870 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 871 146, 146, 146, 146, 147, 146, 146, 146, 146, 146, 872 146, 148, 149, 140, 150, 140, 146, 146, 146, 146, 873 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 874 146, 146, 146, 147, 146, 146, 146, 146, 146, 146, 875 148, 151, 140, 152, 170, 171, 213, 172, 214, 170, 876 171, 173, 172, 332, 219, 219, 173, 157, 224, 158, 877 878 174, 220, 220, 349, 449, 174, 450, 236, 428, 429, 879 157, 225, 158, 355, 221, 221, 319, 319, 319, 319, 880 236, 226, 356, 332, 222, 222, 227, 175, 388, 223, 881 223, 1003, 175, 349, 176, 177, 215, 178, 216, 176, 882 177, 225, 178, 355, 221, 221, 335, 160, 336, 161, 883 226, 1002, 356, 222, 222, 227, 175, 388, 223, 223, 884 160, 175, 161, 176, 335, 217, 336, 218, 176, 179, 885 180, 181, 179, 182, 183, 179, 179, 179, 179, 179, 886 179, 179, 179, 179, 179, 179, 179, 179, 184, 185, 887 179, 179, 179, 186, 179, 179, 187, 188, 189, 190, 888 889 191, 192, 193, 194, 195, 193, 193, 196, 197, 198, 890 199, 200, 193, 201, 202, 203, 204, 205, 206, 193, 891 207, 179, 179, 179, 179, 179, 187, 188, 189, 190, 892 191, 192, 193, 194, 195, 193, 193, 196, 197, 198, 893 199, 200, 201, 202, 203, 204, 205, 206, 193, 207, 894 179, 179, 179, 213, 726, 214, 163, 362, 241, 264, 895 265, 360, 266, 242, 278, 278, 267, 284, 285, 361, 896 286, 363, 278, 278, 287, 433, 433, 278, 278, 1001, 897 278, 278, 475, 288, 358, 364, 369, 427, 370, 289, 898 359, 360, 365, 382, 371, 345, 279, 367, 372, 361, 899 900 1000, 363, 346, 215, 279, 216, 166, 167, 168, 279, 901 963, 475, 279, 366, 358, 364, 369, 368, 370, 359, 902 376, 290, 365, 382, 371, 279, 962, 367, 372, 384, 903 377, 385, 217, 279, 218, 253, 243, 244, 279, 245, 904 268, 279, 366, 250, 386, 373, 368, 478, 268, 374, 905 376, 387, 405, 379, 254, 416, 255, 426, 255, 384, 906 377, 385, 961, 380, 255, 960, 381, 255, 256, 257, 907 959, 255, 258, 259, 386, 373, 478, 260, 958, 374, 908 251, 387, 405, 379, 254, 416, 255, 426, 255, 391, 909 391, 391, 391, 380, 255, 381, 957, 255, 256, 257, 910 911 255, 258, 259, 956, 247, 248, 260, 249, 261, 955, 912 251, 408, 409, 954, 410, 408, 409, 953, 410, 408, 913 409, 480, 410, 408, 409, 430, 410, 443, 411, 411, 914 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 915 411, 411, 411, 411, 264, 265, 446, 266, 431, 431, 916 480, 267, 447, 952, 412, 428, 429, 443, 312, 313, 917 413, 314, 464, 414, 951, 284, 285, 950, 286, 465, 918 469, 470, 287, 471, 472, 473, 446, 949, 483, 484, 919 432, 288, 447, 412, 485, 476, 486, 289, 490, 474, 920 413, 487, 464, 414, 319, 319, 319, 319, 491, 465, 921 922 469, 470, 477, 471, 472, 473, 481, 483, 484, 432, 923 482, 492, 499, 485, 493, 476, 486, 490, 474, 290, 924 419, 487, 420, 948, 419, 268, 420, 423, 491, 424, 925 947, 477, 391, 391, 391, 391, 481, 423, 946, 424, 926 482, 492, 499, 493, 494, 495, 268, 451, 452, 453, 927 454, 455, 455, 456, 455, 455, 455, 455, 457, 455, 928 455, 455, 458, 455, 455, 459, 455, 460, 455, 455, 929 461, 455, 488, 494, 495, 462, 489, 451, 452, 453, 930 454, 455, 455, 456, 455, 455, 455, 455, 457, 455, 931 455, 455, 458, 455, 459, 455, 460, 455, 455, 461, 932 933 455, 496, 488, 497, 503, 489, 500, 504, 505, 506, 934 501, 945, 508, 498, 509, 502, 507, 944, 520, 428, 935 429, 527, 528, 277, 277, 449, 529, 450, 428, 429, 936 496, 531, 533, 497, 503, 943, 500, 504, 505, 506, 937 501, 508, 498, 509, 631, 502, 507, 510, 520, 511, 938 527, 528, 512, 513, 522, 523, 529, 524, 514, 515, 939 534, 531, 533, 942, 516, 517, 941, 526, 409, 518, 940 410, 525, 525, 525, 525, 543, 519, 510, 544, 511, 941 535, 535, 512, 513, 411, 411, 411, 411, 514, 515, 942 428, 429, 545, 516, 517, 539, 539, 546, 518, 542, 943 944 542, 542, 542, 569, 449, 543, 450, 570, 544, 571, 945 572, 624, 536, 625, 936, 573, 427, 523, 935, 625, 946 526, 409, 545, 410, 632, 885, 624, 546, 625, 428, 947 429, 626, 523, 569, 524, 722, 723, 570, 724, 571, 948 572, 536, 427, 427, 573, 427, 427, 427, 427, 427, 949 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 950 427, 427, 427, 427, 427, 427, 427, 427, 427, 537, 951 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 952 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 953 537, 537, 537, 537, 428, 429, 884, 538, 427, 537, 954 955 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 956 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 957 537, 537, 537, 427, 427, 427, 540, 540, 540, 540, 958 547, 547, 547, 547, 547, 540, 540, 540, 540, 540, 959 540, 547, 547, 547, 574, 547, 548, 549, 575, 547, 960 550, 576, 553, 558, 551, 883, 552, 577, 578, 579, 961 428, 429, 556, 557, 580, 540, 540, 540, 540, 540, 962 540, 554, 581, 574, 555, 583, 548, 549, 575, 582, 963 550, 576, 553, 558, 551, 552, 586, 577, 578, 579, 964 584, 587, 556, 557, 580, 882, 585, 588, 589, 881, 965 966 554, 591, 581, 555, 1113, 583, 592, 593, 582, 559, 967 560, 561, 562, 594, 595, 563, 586, 596, 597, 584, 968 564, 587, 598, 599, 565, 585, 588, 566, 589, 567, 969 600, 591, 568, 601, 602, 603, 592, 593, 606, 559, 970 560, 561, 562, 594, 595, 563, 607, 596, 597, 604, 971 564, 608, 598, 599, 565, 605, 566, 609, 567, 610, 972 600, 568, 611, 601, 602, 603, 612, 614, 606, 613, 973 615, 616, 617, 618, 620, 607, 619, 621, 622, 604, 974 608, 623, 428, 429, 274, 605, 644, 609, 627, 610, 975 628, 629, 611, 633, 641, 642, 612, 614, 613, 880, 976 977 615, 616, 617, 618, 620, 619, 621, 622, 631, 522, 978 523, 623, 524, 626, 523, 644, 524, 801, 627, 802, 979 628, 629, 879, 633, 641, 642, 525, 525, 525, 525, 980 525, 525, 525, 525, 427, 427, 878, 427, 427, 427, 981 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 982 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 983 427, 634, 634, 634, 634, 634, 634, 634, 634, 634, 984 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 985 634, 634, 634, 634, 634, 634, 428, 429, 632, 635, 986 427, 634, 634, 634, 634, 634, 634, 634, 634, 634, 987 988 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 989 634, 634, 634, 634, 634, 427, 427, 427, 636, 636, 990 643, 547, 547, 877, 639, 639, 547, 547, 547, 547, 991 547, 648, 651, 547, 876, 547, 547, 428, 429, 646, 992 650, 647, 547, 653, 428, 429, 649, 655, 656, 657, 993 643, 658, 428, 429, 637, 637, 637, 637, 428, 429, 994 652, 648, 651, 637, 637, 637, 637, 637, 637, 646, 995 650, 647, 547, 653, 547, 649, 547, 655, 656, 657, 996 801, 658, 802, 547, 669, 547, 547, 661, 547, 652, 997 654, 671, 659, 637, 637, 637, 637, 637, 637, 640, 998 999 640, 640, 640, 660, 547, 662, 666, 663, 640, 640, 1000 640, 640, 640, 640, 669, 547, 547, 661, 670, 672, 1001 654, 671, 659, 673, 668, 875, 664, 674, 675, 665, 1002 676, 677, 678, 660, 662, 667, 666, 663, 640, 640, 1003 640, 640, 640, 640, 682, 684, 679, 670, 672, 683, 1004 685, 874, 686, 673, 668, 664, 674, 675, 665, 676, 1005 687, 677, 678, 680, 688, 667, 690, 691, 695, 681, 1006 872, 693, 694, 696, 682, 684, 697, 698, 683, 699, 1007 685, 686, 700, 701, 869, 702, 703, 704, 705, 687, 1008 706, 707, 709, 680, 688, 690, 708, 691, 695, 681, 1009 1010 693, 694, 696, 710, 711, 713, 697, 698, 712, 699, 1011 714, 700, 716, 701, 702, 703, 715, 704, 705, 717, 1012 706, 707, 709, 719, 720, 708, 721, 727, 727, 729, 1013 547, 731, 710, 547, 711, 713, 547, 712, 732, 852, 1014 714, 757, 716, 547, 547, 715, 841, 547, 734, 717, 1015 738, 547, 719, 739, 720, 721, 737, 547, 733, 729, 1016 731, 428, 429, 728, 728, 728, 728, 547, 732, 735, 1017 757, 748, 728, 728, 728, 728, 728, 728, 734, 736, 1018 738, 547, 547, 739, 547, 740, 737, 733, 741, 742, 1019 547, 547, 547, 743, 428, 429, 547, 747, 547, 735, 1020 1021 748, 744, 728, 728, 728, 728, 728, 728, 736, 745, 1022 547, 746, 547, 547, 753, 740, 547, 750, 741, 742, 1023 547, 749, 758, 743, 547, 751, 752, 747, 759, 754, 1024 760, 744, 761, 756, 762, 764, 755, 832, 766, 745, 1025 767, 746, 768, 771, 753, 765, 770, 750, 772, 773, 1026 775, 749, 758, 776, 751, 777, 752, 759, 779, 754, 1027 760, 761, 780, 756, 762, 764, 755, 766, 781, 782, 1028 767, 783, 768, 771, 765, 770, 784, 785, 772, 773, 1029 775, 786, 776, 787, 789, 777, 788, 779, 791, 792, 1030 793, 780, 795, 796, 547, 797, 798, 781, 799, 782, 1031 1032 783, 803, 804, 722, 723, 784, 724, 785, 807, 547, 1033 786, 808, 547, 787, 789, 788, 547, 809, 791, 792, 1034 793, 547, 795, 796, 797, 811, 798, 547, 799, 547, 1035 547, 803, 804, 428, 429, 427, 810, 547, 547, 547, 1036 812, 808, 813, 547, 547, 547, 547, 809, 547, 814, 1037 806, 547, 547, 815, 817, 811, 819, 547, 821, 547, 1038 818, 816, 822, 805, 820, 824, 810, 547, 826, 812, 1039 823, 825, 813, 547, 828, 827, 547, 833, 814, 835, 1040 829, 836, 815, 547, 817, 830, 819, 834, 821, 818, 1041 816, 837, 822, 820, 831, 824, 838, 839, 826, 823, 1042 1043 840, 825, 842, 843, 828, 827, 844, 833, 845, 835, 1044 829, 836, 846, 847, 849, 830, 848, 834, 850, 723, 1045 851, 837, 853, 854, 831, 838, 839, 855, 862, 840, 1046 863, 870, 842, 843, 718, 871, 844, 801, 845, 802, 1047 873, 794, 846, 847, 849, 848, 856, 857, 850, 851, 1048 547, 858, 853, 854, 859, 547, 855, 860, 862, 790, 1049 863, 870, 861, 864, 865, 871, 547, 887, 866, 873, 1050 547, 867, 547, 547, 868, 888, 856, 857, 547, 886, 1051 547, 858, 890, 547, 859, 547, 547, 860, 889, 547, 1052 892, 861, 899, 864, 865, 900, 891, 887, 866, 898, 1053 1054 901, 867, 893, 902, 868, 888, 547, 894, 886, 895, 1055 904, 897, 890, 903, 906, 896, 778, 905, 889, 907, 1056 892, 908, 899, 909, 900, 891, 910, 911, 912, 898, 1057 901, 893, 902, 913, 914, 916, 894, 917, 895, 904, 1058 897, 918, 774, 903, 906, 896, 905, 923, 907, 928, 1059 915, 908, 909, 924, 925, 919, 910, 911, 912, 920, 1060 926, 927, 921, 913, 914, 916, 917, 929, 769, 933, 1061 934, 918, 922, 937, 930, 763, 923, 931, 928, 915, 1062 939, 547, 940, 924, 925, 919, 969, 932, 965, 920, 1063 926, 927, 921, 966, 967, 968, 970, 929, 933, 934, 1064 1065 971, 922, 937, 972, 930, 964, 973, 931, 974, 975, 1066 976, 730, 977, 978, 979, 969, 932, 980, 965, 981, 1067 982, 983, 984, 966, 967, 968, 970, 985, 427, 986, 1068 971, 987, 988, 972, 964, 989, 973, 974, 990, 975, 1069 976, 977, 991, 978, 979, 992, 993, 980, 981, 994, 1070 982, 983, 984, 995, 996, 999, 997, 985, 986, 939, 1071 987, 940, 988, 1013, 939, 989, 940, 990, 1014, 1015, 1072 1016, 1017, 991, 998, 1018, 992, 993, 1019, 994, 1020, 1073 1021, 1022, 995, 996, 999, 1023, 997, 1024, 1025, 725, 1074 1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015, 1075 1076 1016, 1017, 998, 1033, 1018, 1034, 1035, 1019, 1020, 1021, 1077 1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026, 1078 1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041, 1079 1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052, 1080 1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057, 1081 1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063, 1082 1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052, 1083 1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057, 1084 1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063, 1085 1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082, 1086 1087 1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087, 1088 1072, 1088, 1073, 1089, 1090, 718, 1091, 1074, 1075, 1076, 1089 1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082, 1090 1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087, 1091 1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106, 1092 1092, 1107, 1093, 1094, 1108, 692, 1109, 1110, 1095, 1111, 1093 1096, 1097, 1112, 1098, 1099, 1100, 375, 375, 689, 434, 1094 1101, 434, 541, 1102, 541, 1103, 1104, 1105, 645, 1106, 1095 427, 1107, 415, 415, 1108, 1109, 1110, 415, 590, 1111, 1096 344, 343, 1112, 68, 68, 68, 68, 68, 68, 68, 1097 1098 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 1099 68, 68, 68, 68, 88, 88, 88, 88, 88, 88, 1100 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 1101 88, 88, 88, 88, 88, 91, 91, 91, 91, 91, 1102 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 1103 91, 91, 91, 91, 91, 91, 94, 94, 94, 94, 1104 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 1105 94, 94, 94, 94, 94, 94, 94, 97, 97, 97, 1106 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1107 97, 97, 97, 97, 97, 97, 97, 97, 106, 106, 1108 1109 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1110 106, 106, 106, 106, 106, 106, 106, 106, 106, 56, 1111 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 1112 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 1113 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 1114 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 1115 118, 124, 124, 124, 124, 124, 124, 124, 124, 124, 1116 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 1117 124, 124, 129, 129, 129, 129, 129, 129, 129, 129, 1118 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 1119 1120 129, 129, 129, 133, 133, 133, 133, 133, 133, 133, 1121 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 1122 133, 133, 133, 133, 153, 153, 153, 153, 153, 153, 1123 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 1124 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, 1125 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 1126 156, 156, 156, 156, 156, 156, 162, 162, 162, 162, 1127 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 1128 162, 162, 162, 162, 162, 162, 162, 169, 169, 169, 1129 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 1130 1131 169, 169, 169, 169, 169, 169, 169, 169, 208, 208, 1132 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1133 208, 208, 208, 208, 208, 208, 208, 208, 208, 212, 1134 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 1135 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 1136 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 1137 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 1138 228, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1139 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1140 232, 232, 237, 237, 237, 237, 237, 237, 237, 237, 1141 1142 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 1143 237, 237, 237, 240, 240, 240, 240, 240, 240, 240, 1144 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 1145 240, 240, 240, 240, 246, 547, 246, 438, 246, 246, 1146 455, 455, 455, 246, 252, 252, 252, 252, 252, 252, 1147 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 1148 252, 252, 252, 252, 263, 409, 263, 390, 263, 263, 1149 417, 417, 479, 263, 274, 417, 274, 274, 274, 274, 1150 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 1151 274, 274, 274, 274, 274, 277, 354, 277, 277, 277, 1152 1153 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 1154 277, 277, 277, 277, 277, 277, 283, 283, 351, 283, 1155 348, 283, 283, 467, 466, 463, 283, 295, 315, 295, 1156 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 1157 295, 295, 295, 295, 295, 295, 295, 295, 299, 299, 1158 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 1159 299, 299, 299, 313, 299, 315, 299, 299, 299, 302, 1160 310, 302, 302, 296, 302, 302, 302, 302, 302, 302, 1161 302, 302, 302, 302, 441, 302, 440, 302, 302, 302, 1162 309, 439, 285, 309, 309, 309, 309, 309, 309, 309, 1163 1164 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 1165 309, 317, 438, 317, 436, 317, 317, 435, 425, 269, 1166 317, 322, 421, 322, 322, 322, 322, 322, 322, 322, 1167 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 1168 322, 322, 325, 265, 325, 325, 325, 325, 325, 325, 1169 325, 325, 325, 325, 325, 325, 325, 325, 325, 248, 1170 325, 325, 325, 326, 244, 326, 341, 326, 403, 326, 1171 326, 326, 326, 402, 326, 326, 400, 399, 398, 326, 1172 328, 397, 328, 328, 328, 395, 328, 328, 328, 328, 1173 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 1174 1175 328, 331, 394, 331, 393, 331, 331, 390, 354, 352, 1176 331, 334, 334, 334, 334, 334, 334, 334, 334, 334, 1177 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 1178 334, 334, 337, 351, 337, 337, 337, 337, 337, 307, 1179 337, 337, 337, 337, 337, 337, 337, 306, 337, 330, 1180 337, 337, 337, 340, 348, 340, 347, 340, 340, 340, 1181 340, 340, 340, 340, 340, 340, 340, 340, 307, 306, 1182 341, 340, 340, 340, 342, 342, 342, 342, 342, 342, 1183 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 1184 342, 342, 342, 342, 342, 353, 307, 353, 353, 353, 1185 1186 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 1187 353, 353, 353, 353, 353, 353, 357, 357, 306, 339, 1188 338, 357, 357, 389, 307, 389, 389, 389, 389, 389, 1189 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 1190 389, 389, 389, 389, 392, 306, 330, 392, 392, 392, 1191 392, 392, 392, 392, 392, 392, 392, 392, 392, 329, 1192 392, 327, 392, 396, 321, 396, 396, 396, 396, 324, 1193 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 1194 396, 396, 396, 396, 401, 401, 401, 401, 401, 401, 1195 401, 401, 401, 401, 401, 401, 401, 401, 401, 321, 1196 1197 401, 320, 401, 401, 401, 404, 318, 404, 404, 404, 1198 316, 404, 404, 404, 404, 404, 404, 404, 404, 404, 1199 313, 315, 311, 404, 404, 404, 246, 310, 246, 308, 1200 246, 246, 307, 306, 303, 246, 406, 301, 406, 406, 1201 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 1202 406, 406, 406, 406, 406, 406, 406, 407, 300, 407, 1203 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 1204 407, 407, 407, 407, 407, 407, 407, 407, 418, 418, 1205 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 1206 418, 418, 418, 418, 418, 418, 418, 418, 418, 263, 1207 1208 296, 263, 294, 263, 263, 293, 285, 273, 263, 422, 1209 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 1210 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 1211 427, 272, 427, 427, 427, 427, 427, 427, 427, 427, 1212 427, 427, 427, 427, 427, 427, 427, 271, 427, 427, 1213 427, 274, 265, 274, 274, 274, 274, 274, 274, 274, 1214 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 1215 274, 274, 437, 262, 437, 248, 437, 437, 244, 1113, 1216 117, 437, 117, 437, 442, 1113, 442, 442, 442, 442, 1217 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 1218 1219 442, 442, 442, 442, 442, 295, 1113, 295, 295, 295, 1220 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 1221 295, 295, 295, 295, 295, 295, 444, 1113, 444, 444, 1222 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 1223 444, 444, 444, 444, 444, 444, 444, 445, 1113, 445, 1224 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 1225 445, 445, 445, 445, 445, 445, 445, 445, 299, 299, 1226 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 1227 299, 299, 299, 1113, 299, 1113, 299, 299, 299, 302, 1228 1113, 302, 302, 1113, 302, 302, 302, 302, 302, 302, 1229 1230 302, 302, 302, 302, 1113, 302, 1113, 302, 302, 302, 1231 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 1232 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 1233 448, 309, 1113, 1113, 309, 309, 309, 309, 309, 309, 1234 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 1235 309, 309, 317, 1113, 317, 1113, 317, 317, 1113, 1113, 1236 1113, 317, 326, 1113, 326, 1113, 326, 1113, 326, 326, 1237 326, 326, 1113, 326, 326, 1113, 1113, 1113, 326, 328, 1238 1113, 328, 328, 328, 328, 328, 328, 328, 328, 328, 1239 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 1240 1241 331, 1113, 331, 1113, 331, 331, 1113, 1113, 1113, 331, 1242 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 1243 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 1244 334, 337, 1113, 337, 337, 337, 337, 337, 1113, 337, 1245 337, 337, 337, 337, 337, 337, 1113, 337, 1113, 337, 1246 337, 337, 340, 1113, 340, 1113, 340, 340, 340, 340, 1247 340, 340, 340, 340, 340, 340, 340, 1113, 1113, 1113, 1248 340, 340, 340, 468, 1113, 468, 468, 468, 468, 468, 1249 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1250 468, 468, 468, 468, 353, 1113, 353, 353, 353, 353, 1251 1252 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 1253 353, 353, 353, 353, 353, 357, 357, 1113, 1113, 1113, 1254 357, 357, 389, 1113, 389, 389, 389, 389, 389, 389, 1255 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 1256 389, 389, 389, 392, 1113, 1113, 392, 392, 392, 392, 1257 392, 392, 392, 392, 392, 392, 392, 392, 1113, 392, 1258 1113, 392, 396, 1113, 396, 396, 396, 396, 1113, 396, 1259 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 1260 396, 396, 396, 401, 401, 401, 401, 401, 401, 401, 1261 401, 401, 401, 401, 401, 401, 401, 401, 1113, 401, 1262 1263 1113, 401, 401, 401, 404, 1113, 404, 404, 404, 1113, 1264 404, 404, 404, 404, 404, 404, 404, 404, 404, 1113, 1265 1113, 1113, 404, 404, 404, 406, 1113, 406, 406, 406, 1266 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 1267 406, 406, 406, 406, 406, 406, 407, 1113, 407, 407, 1268 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 1269 407, 407, 407, 407, 407, 407, 407, 521, 521, 521, 1270 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1271 521, 521, 521, 521, 521, 521, 521, 521, 530, 1113, 1272 530, 1113, 530, 530, 1113, 1113, 1113, 530, 532, 1113, 1273 1274 532, 1113, 532, 532, 1113, 1113, 1113, 532, 418, 418, 1275 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 1276 418, 418, 418, 418, 418, 418, 418, 418, 418, 422, 1277 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 1278 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 1279 427, 1113, 427, 427, 427, 427, 427, 427, 427, 427, 1280 427, 427, 427, 427, 427, 427, 427, 1113, 427, 427, 1281 427, 437, 1113, 437, 1113, 437, 437, 1113, 1113, 1113, 1282 437, 1113, 437, 442, 1113, 442, 442, 442, 442, 442, 1283 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 1284 1285 442, 442, 442, 442, 444, 1113, 444, 444, 444, 444, 1286 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 1287 444, 444, 444, 444, 444, 445, 1113, 445, 445, 445, 1288 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 1289 445, 445, 445, 445, 445, 445, 302, 1113, 302, 302, 1290 1113, 302, 302, 302, 302, 302, 302, 302, 302, 302, 1291 302, 1113, 302, 1113, 302, 302, 302, 448, 448, 448, 1292 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 1293 448, 448, 448, 448, 448, 448, 448, 448, 331, 1113, 1294 331, 1113, 331, 331, 1113, 1113, 1113, 331, 342, 1113, 1295 1296 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 1297 342, 342, 342, 342, 342, 342, 342, 342, 342, 468, 1298 1113, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1299 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1300 357, 357, 1113, 1113, 1113, 357, 357, 630, 1113, 630, 1301 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 1302 630, 630, 630, 630, 630, 630, 630, 630, 800, 800, 1303 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 1304 800, 800, 800, 800, 800, 800, 800, 800, 800, 938, 1305 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 1306 1307 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 1308 55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1309 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1310 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1311 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1312 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1313 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1314 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1315 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1316 1113, 1113, 1113, 1113, 1113 1317 1318 } ; 1319 1320 static const flex_int16_t yy_chk[4596] = 1321 { 0, 1322 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1323 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1329 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1330 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1332 1333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1339 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 1340 102, 3, 3, 5, 3, 5, 1012, 3, 3, 3, 1341 3, 79, 79, 3, 3, 6, 6, 7, 6, 7, 1342 3, 21, 6, 3, 8, 132, 8, 11, 11, 102, 1343 1344 11, 12, 12, 964, 12, 19, 85, 19, 19, 27, 1345 28, 27, 28, 17, 20, 17, 20, 20, 148, 3, 1346 3, 51, 9, 51, 9, 17, 537, 22, 9, 17, 1347 17, 17, 17, 10, 132, 10, 29, 963, 29, 10, 1348 176, 21, 21, 47, 21, 47, 29, 148, 3, 3, 1349 3, 4, 4, 47, 4, 4, 19, 4, 4, 537, 1350 4, 4, 4, 4, 9, 20, 4, 4, 23, 176, 1351 23, 9, 9, 4, 9, 10, 4, 22, 22, 85, 1352 22, 23, 10, 10, 962, 10, 29, 199, 29, 45, 1353 52, 45, 52, 9, 17, 93, 37, 93, 45, 37, 1354 1355 9, 961, 4, 4, 10, 4, 38, 960, 46, 38, 1356 46, 10, 37, 37, 37, 37, 199, 46, 23, 23, 1357 23, 959, 38, 38, 38, 38, 57, 57, 153, 57, 1358 153, 4, 4, 4, 13, 13, 13, 13, 13, 13, 1359 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1360 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1361 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1362 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1363 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1364 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1365 1366 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1367 13, 13, 13, 13, 13, 13, 13, 13, 18, 24, 1368 18, 24, 155, 30, 155, 30, 31, 202, 31, 31, 1369 18, 64, 24, 30, 18, 18, 18, 18, 32, 43, 1370 32, 32, 53, 48, 53, 48, 167, 61, 61, 53, 1371 61, 101, 43, 48, 73, 73, 202, 73, 81, 261, 1372 81, 261, 43, 81, 81, 81, 81, 43, 64, 24, 1373 24, 24, 170, 30, 958, 30, 31, 31, 31, 170, 1374 957, 101, 43, 111, 111, 268, 111, 268, 32, 32, 1375 32, 43, 53, 53, 53, 956, 43, 167, 64, 18, 1376 1377 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1378 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1379 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1380 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1381 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1382 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1383 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1384 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 1385 25, 25, 25, 25, 33, 33, 39, 33, 39, 34, 1386 34, 33, 34, 147, 41, 42, 34, 49, 44, 49, 1387 1388 33, 41, 42, 175, 308, 34, 308, 49, 274, 274, 1389 50, 44, 50, 184, 41, 42, 122, 122, 122, 122, 1390 50, 44, 185, 147, 41, 42, 44, 33, 207, 41, 1391 42, 955, 34, 175, 33, 33, 39, 33, 39, 34, 1392 34, 44, 34, 184, 41, 42, 334, 49, 334, 49, 1393 44, 954, 185, 41, 42, 44, 33, 207, 41, 42, 1394 50, 34, 50, 33, 336, 39, 336, 39, 34, 35, 1395 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1396 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1397 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1398 1399 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1400 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1401 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1402 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1403 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 1404 35, 35, 35, 40, 634, 40, 54, 189, 54, 69, 1405 69, 188, 69, 54, 80, 80, 69, 82, 82, 188, 1406 82, 189, 128, 128, 82, 278, 278, 131, 131, 953, 1407 138, 138, 359, 82, 187, 190, 194, 634, 195, 82, 1408 187, 188, 191, 201, 196, 345, 80, 192, 196, 188, 1409 1410 952, 189, 345, 40, 128, 40, 54, 54, 54, 131, 1411 897, 359, 138, 191, 187, 190, 194, 192, 195, 187, 1412 198, 82, 191, 201, 196, 80, 896, 192, 196, 203, 1413 198, 204, 40, 128, 40, 65, 243, 243, 131, 243, 1414 69, 138, 191, 250, 205, 197, 192, 361, 82, 197, 1415 198, 206, 251, 200, 65, 259, 65, 273, 65, 203, 1416 198, 204, 895, 200, 65, 894, 200, 65, 65, 65, 1417 893, 65, 65, 65, 205, 197, 361, 65, 892, 197, 1418 250, 206, 251, 200, 65, 259, 65, 273, 65, 211, 1419 211, 211, 211, 200, 65, 200, 891, 65, 65, 65, 1420 1421 65, 65, 65, 890, 247, 247, 65, 247, 65, 889, 1422 250, 254, 254, 888, 254, 255, 255, 887, 255, 256, 1423 256, 363, 256, 257, 257, 275, 257, 293, 254, 254, 1424 254, 254, 255, 255, 255, 255, 256, 256, 256, 256, 1425 257, 257, 257, 257, 264, 264, 304, 264, 276, 276, 1426 363, 264, 305, 886, 254, 275, 275, 293, 312, 312, 1427 256, 312, 332, 257, 885, 284, 284, 884, 284, 333, 1428 349, 350, 284, 355, 356, 358, 304, 883, 365, 366, 1429 276, 284, 305, 254, 367, 360, 368, 284, 371, 358, 1430 256, 369, 332, 257, 319, 319, 319, 319, 372, 333, 1431 1432 349, 350, 360, 355, 356, 358, 364, 365, 366, 276, 1433 364, 373, 381, 367, 374, 360, 368, 371, 358, 284, 1434 418, 369, 418, 882, 420, 264, 420, 422, 372, 422, 1435 881, 360, 391, 391, 391, 391, 364, 424, 880, 424, 1436 364, 373, 381, 374, 376, 378, 284, 321, 321, 321, 1437 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 1438 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 1439 321, 321, 370, 376, 378, 321, 370, 321, 321, 321, 1440 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 1441 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 1442 1443 321, 379, 370, 380, 383, 370, 382, 383, 384, 385, 1444 382, 879, 386, 380, 387, 382, 385, 878, 405, 427, 1445 427, 412, 413, 433, 433, 448, 414, 448, 639, 639, 1446 379, 416, 426, 380, 383, 877, 382, 383, 384, 385, 1447 382, 386, 380, 387, 531, 382, 385, 388, 405, 388, 1448 412, 413, 388, 388, 408, 408, 414, 408, 388, 388, 1449 428, 416, 426, 876, 388, 388, 875, 411, 411, 388, 1450 411, 408, 408, 408, 408, 441, 388, 388, 443, 388, 1451 429, 429, 388, 388, 411, 411, 411, 411, 388, 388, 1452 428, 428, 446, 388, 388, 431, 431, 447, 388, 438, 1453 1454 438, 438, 438, 464, 450, 441, 450, 465, 443, 469, 1455 470, 521, 429, 521, 871, 471, 429, 524, 870, 524, 1456 526, 526, 446, 526, 531, 818, 625, 447, 625, 431, 1457 431, 626, 626, 464, 626, 632, 632, 465, 632, 469, 1458 470, 429, 430, 430, 471, 430, 430, 430, 430, 430, 1459 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 1460 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 1461 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 1462 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 1463 430, 430, 430, 430, 430, 430, 817, 430, 430, 430, 1464 1465 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 1466 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 1467 430, 430, 430, 430, 430, 430, 432, 432, 432, 432, 1468 451, 452, 453, 457, 456, 432, 432, 432, 432, 432, 1469 432, 454, 459, 460, 472, 461, 451, 452, 473, 458, 1470 453, 474, 457, 461, 454, 816, 456, 475, 476, 477, 1471 432, 432, 459, 460, 478, 432, 432, 432, 432, 432, 1472 432, 458, 480, 472, 458, 482, 451, 452, 473, 481, 1473 453, 474, 457, 461, 454, 456, 486, 475, 476, 477, 1474 484, 487, 459, 460, 478, 815, 485, 488, 489, 814, 1475 1476 458, 491, 480, 458, 462, 482, 492, 493, 481, 462, 1477 462, 462, 462, 494, 495, 462, 486, 496, 497, 484, 1478 462, 487, 498, 499, 462, 485, 488, 462, 489, 462, 1479 500, 491, 462, 501, 502, 503, 492, 493, 505, 462, 1480 462, 462, 462, 494, 495, 462, 506, 496, 497, 504, 1481 462, 507, 498, 499, 462, 504, 462, 508, 462, 509, 1482 500, 462, 510, 501, 502, 503, 511, 513, 505, 512, 1483 514, 515, 516, 517, 519, 506, 518, 519, 519, 504, 1484 507, 520, 638, 638, 638, 504, 546, 508, 527, 509, 1485 528, 529, 510, 533, 543, 544, 511, 513, 512, 813, 1486 1487 514, 515, 516, 517, 519, 518, 519, 519, 631, 522, 1488 522, 520, 522, 525, 525, 546, 525, 719, 527, 719, 1489 528, 529, 812, 533, 543, 544, 522, 522, 522, 522, 1490 525, 525, 525, 525, 534, 534, 811, 534, 534, 534, 1491 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1492 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1493 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1494 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1495 534, 534, 534, 534, 534, 534, 534, 534, 631, 534, 1496 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1497 1498 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1499 534, 534, 534, 534, 534, 534, 534, 534, 535, 535, 1500 545, 548, 550, 810, 539, 539, 549, 552, 557, 551, 1501 554, 549, 552, 553, 809, 559, 558, 640, 640, 548, 1502 551, 548, 556, 554, 727, 727, 550, 556, 557, 558, 1503 545, 559, 535, 535, 536, 536, 536, 536, 539, 539, 1504 553, 549, 552, 536, 536, 536, 536, 536, 536, 548, 1505 551, 548, 555, 554, 562, 550, 560, 556, 557, 558, 1506 800, 559, 800, 563, 569, 561, 566, 562, 564, 553, 1507 555, 571, 560, 536, 536, 536, 536, 536, 536, 540, 1508 1509 540, 540, 540, 561, 565, 563, 566, 564, 540, 540, 1510 540, 540, 540, 540, 569, 567, 568, 562, 570, 572, 1511 555, 571, 560, 575, 568, 808, 565, 576, 577, 565, 1512 578, 579, 580, 561, 563, 567, 566, 564, 540, 540, 1513 540, 540, 540, 540, 582, 584, 581, 570, 572, 583, 1514 587, 806, 588, 575, 568, 565, 576, 577, 565, 578, 1515 589, 579, 580, 581, 590, 567, 594, 595, 599, 581, 1516 799, 597, 598, 601, 582, 584, 602, 603, 583, 604, 1517 587, 588, 605, 606, 796, 607, 608, 609, 611, 589, 1518 612, 613, 615, 581, 590, 594, 614, 595, 599, 581, 1519 1520 597, 598, 601, 616, 617, 619, 602, 603, 618, 604, 1521 620, 605, 621, 606, 607, 608, 620, 609, 611, 622, 1522 612, 613, 615, 627, 628, 614, 629, 636, 636, 641, 1523 651, 643, 616, 646, 617, 619, 647, 618, 644, 784, 1524 620, 669, 621, 650, 652, 620, 770, 660, 647, 622, 1525 651, 648, 627, 652, 628, 629, 650, 649, 646, 641, 1526 643, 636, 636, 637, 637, 637, 637, 653, 644, 648, 1527 669, 660, 637, 637, 637, 637, 637, 637, 647, 649, 1528 651, 654, 655, 652, 656, 653, 650, 646, 654, 655, 1529 657, 658, 659, 656, 728, 728, 665, 659, 663, 648, 1530 1531 660, 657, 637, 637, 637, 637, 637, 637, 649, 658, 1532 661, 658, 662, 664, 665, 653, 667, 662, 654, 655, 1533 668, 661, 670, 656, 666, 663, 664, 659, 671, 666, 1534 672, 657, 674, 668, 676, 679, 667, 761, 680, 658, 1535 681, 658, 683, 687, 665, 679, 685, 662, 688, 689, 1536 691, 661, 670, 692, 663, 693, 664, 671, 695, 666, 1537 672, 674, 696, 668, 676, 679, 667, 680, 697, 699, 1538 681, 700, 683, 687, 679, 685, 701, 702, 688, 689, 1539 691, 704, 692, 705, 707, 693, 706, 695, 709, 710, 1540 711, 696, 713, 714, 733, 715, 716, 697, 717, 699, 1541 1542 700, 720, 721, 722, 722, 701, 722, 702, 730, 736, 1543 704, 733, 734, 705, 707, 706, 737, 734, 709, 710, 1544 711, 735, 713, 714, 715, 736, 716, 739, 717, 740, 1545 738, 720, 721, 726, 726, 726, 735, 741, 743, 745, 1546 737, 733, 738, 744, 747, 742, 746, 734, 748, 739, 1547 729, 750, 749, 740, 742, 736, 744, 752, 746, 751, 1548 743, 741, 747, 725, 745, 749, 735, 753, 751, 737, 1549 748, 750, 738, 754, 753, 752, 755, 763, 739, 764, 1550 754, 765, 740, 756, 742, 755, 744, 763, 746, 743, 1551 741, 766, 747, 745, 756, 749, 767, 768, 751, 748, 1552 1553 769, 750, 771, 772, 753, 752, 773, 763, 774, 764, 1554 754, 765, 775, 776, 778, 755, 777, 763, 780, 724, 1555 782, 766, 786, 787, 756, 767, 768, 788, 791, 769, 1556 793, 797, 771, 772, 718, 798, 773, 802, 774, 802, 1557 804, 712, 775, 776, 778, 777, 790, 790, 780, 782, 1558 820, 790, 786, 787, 790, 819, 788, 790, 791, 708, 1559 793, 797, 790, 794, 794, 798, 823, 820, 794, 804, 1560 821, 794, 824, 822, 794, 821, 790, 790, 825, 819, 1561 826, 790, 823, 827, 790, 828, 831, 790, 822, 830, 1562 825, 790, 832, 794, 794, 833, 824, 820, 794, 831, 1563 1564 834, 794, 826, 835, 794, 821, 829, 827, 819, 828, 1565 838, 830, 823, 836, 841, 829, 694, 840, 822, 842, 1566 825, 843, 832, 844, 833, 824, 845, 847, 849, 831, 1567 834, 826, 835, 850, 852, 856, 827, 857, 828, 838, 1568 830, 858, 690, 836, 841, 829, 840, 860, 842, 865, 1569 852, 843, 844, 861, 862, 859, 845, 847, 849, 859, 1570 863, 864, 859, 850, 852, 856, 857, 866, 684, 868, 1571 869, 858, 859, 872, 867, 678, 860, 867, 865, 852, 1572 873, 898, 873, 861, 862, 859, 903, 867, 899, 859, 1573 863, 864, 859, 900, 901, 902, 905, 866, 868, 869, 1574 1575 906, 859, 872, 907, 867, 898, 908, 867, 910, 911, 1576 912, 642, 913, 914, 915, 903, 867, 916, 899, 917, 1577 919, 920, 921, 900, 901, 902, 905, 922, 635, 923, 1578 906, 924, 926, 907, 898, 927, 908, 910, 928, 911, 1579 912, 913, 930, 914, 915, 931, 932, 916, 917, 933, 1580 919, 920, 921, 934, 935, 937, 936, 922, 923, 938, 1581 924, 938, 926, 965, 940, 927, 940, 928, 966, 967, 1582 968, 969, 930, 936, 970, 931, 932, 971, 933, 972, 1583 973, 974, 934, 935, 937, 975, 936, 976, 978, 633, 1584 979, 980, 965, 981, 982, 983, 984, 985, 966, 967, 1585 1586 968, 969, 936, 987, 970, 989, 990, 971, 972, 973, 1587 991, 974, 992, 993, 975, 995, 999, 976, 978, 979, 1588 980, 996, 981, 998, 982, 983, 984, 985, 1015, 997, 1589 1013, 1014, 987, 997, 989, 990, 1016, 1017, 1019, 1020, 1590 991, 1022, 992, 993, 1023, 995, 999, 1024, 1025, 1026, 1591 996, 1027, 998, 1028, 1030, 1034, 1035, 1015, 997, 1036, 1592 1013, 1014, 997, 1039, 1040, 1016, 1017, 1041, 1019, 1020, 1593 1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026, 1594 1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036, 1595 1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066, 1596 1597 1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072, 1598 1048, 1073, 1049, 1074, 1075, 623, 1077, 1050, 1053, 1055, 1599 1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066, 1600 1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072, 1601 1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100, 1602 1081, 1103, 1082, 1083, 1105, 596, 1106, 1107, 1084, 1109, 1603 1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157, 593, 1173, 1604 1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098, 547, 1100, 1605 538, 1103, 1166, 1166, 1105, 1106, 1107, 1166, 490, 1109, 1606 467, 466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1607 1608 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1609 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1610 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1611 1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116, 1612 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1613 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117, 1614 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1615 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118, 1616 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1617 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119, 1618 1619 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1620 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1621 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1622 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1623 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1624 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1625 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1626 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1627 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1628 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1629 1630 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1631 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1632 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125, 1633 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1634 1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126, 1635 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1636 1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127, 1637 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1638 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128, 1639 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1640 1641 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129, 1642 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1643 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130, 1644 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1645 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1646 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1647 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1648 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1649 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1650 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1651 1652 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1653 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1654 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1655 1134, 1134, 1134, 1134, 1135, 455, 1135, 437, 1135, 1135, 1656 1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1657 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1658 1136, 1136, 1136, 1136, 1137, 410, 1137, 389, 1137, 1137, 1659 1167, 1167, 362, 1137, 1138, 1167, 1138, 1138, 1138, 1138, 1660 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1661 1138, 1138, 1138, 1138, 1138, 1139, 353, 1139, 1139, 1139, 1662 1663 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1664 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140, 351, 1140, 1665 346, 1140, 1140, 344, 343, 328, 1140, 1141, 315, 1141, 1666 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1667 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142, 1668 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1669 1142, 1142, 1142, 314, 1142, 313, 1142, 1142, 1142, 1143, 1670 310, 1143, 1143, 296, 1143, 1143, 1143, 1143, 1143, 1143, 1671 1143, 1143, 1143, 1143, 289, 1143, 288, 1143, 1143, 1143, 1672 1144, 287, 286, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1673 1674 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1675 1144, 1145, 283, 1145, 281, 1145, 1145, 280, 271, 270, 1676 1145, 1146, 267, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1677 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1678 1146, 1146, 1147, 266, 1147, 1147, 1147, 1147, 1147, 1147, 1679 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 249, 1680 1147, 1147, 1147, 1148, 245, 1148, 241, 1148, 239, 1148, 1681 1148, 1148, 1148, 238, 1148, 1148, 236, 235, 234, 1148, 1682 1149, 230, 1149, 1149, 1149, 216, 1149, 1149, 1149, 1149, 1683 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1684 1685 1149, 1150, 215, 1150, 214, 1150, 1150, 210, 183, 182, 1686 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1687 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1688 1151, 1151, 1152, 180, 1152, 1152, 1152, 1152, 1152, 178, 1689 1152, 1152, 1152, 1152, 1152, 1152, 1152, 177, 1152, 174, 1690 1152, 1152, 1152, 1153, 173, 1153, 172, 1153, 1153, 1153, 1691 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 168, 166, 1692 164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154, 1693 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1694 1154, 1154, 1154, 1154, 1154, 1155, 161, 1155, 1155, 1155, 1695 1696 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1697 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 160, 159, 1698 158, 1156, 1156, 1158, 150, 1158, 1158, 1158, 1158, 1158, 1699 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1700 1158, 1158, 1158, 1158, 1159, 149, 145, 1159, 1159, 1159, 1701 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 144, 1702 1159, 142, 1159, 1160, 137, 1160, 1160, 1160, 1160, 135, 1703 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1704 1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161, 1705 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 130, 1706 1707 1161, 126, 1161, 1161, 1161, 1162, 120, 1162, 1162, 1162, 1708 115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1709 113, 112, 109, 1162, 1162, 1162, 1163, 107, 1163, 105, 1710 1163, 1163, 104, 103, 99, 1163, 1164, 96, 1164, 1164, 1711 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1712 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 95, 1165, 1713 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1714 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168, 1715 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1716 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169, 1717 1718 92, 1169, 90, 1169, 1169, 86, 84, 78, 1169, 1170, 1719 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1720 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1721 1171, 77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1722 1171, 1171, 1171, 1171, 1171, 1171, 1171, 74, 1171, 1171, 1723 1171, 1172, 71, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1724 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1725 1172, 1172, 1174, 66, 1174, 63, 1174, 1174, 59, 55, 1726 16, 1174, 15, 1174, 1175, 0, 1175, 1175, 1175, 1175, 1727 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1728 1729 1175, 1175, 1175, 1175, 1175, 1176, 0, 1176, 1176, 1176, 1730 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1731 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177, 1177, 1732 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1733 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 0, 1178, 1734 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1735 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179, 1736 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1737 1179, 1179, 1179, 0, 1179, 0, 1179, 1179, 1179, 1180, 1738 0, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180, 1739 1740 1180, 1180, 1180, 1180, 0, 1180, 0, 1180, 1180, 1180, 1741 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1742 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1743 1181, 1182, 0, 0, 1182, 1182, 1182, 1182, 1182, 1182, 1744 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1745 1182, 1182, 1183, 0, 1183, 0, 1183, 1183, 0, 0, 1746 0, 1183, 1184, 0, 1184, 0, 1184, 0, 1184, 1184, 1747 1184, 1184, 0, 1184, 1184, 0, 0, 0, 1184, 1185, 1748 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1749 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1750 1751 1186, 0, 1186, 0, 1186, 1186, 0, 0, 0, 1186, 1752 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1753 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1754 1187, 1188, 0, 1188, 1188, 1188, 1188, 1188, 0, 1188, 1755 1188, 1188, 1188, 1188, 1188, 1188, 0, 1188, 0, 1188, 1756 1188, 1188, 1189, 0, 1189, 0, 1189, 1189, 1189, 1189, 1757 1189, 1189, 1189, 1189, 1189, 1189, 1189, 0, 0, 0, 1758 1189, 1189, 1189, 1190, 0, 1190, 1190, 1190, 1190, 1190, 1759 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1760 1190, 1190, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191, 1761 1762 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1763 1191, 1191, 1191, 1191, 1191, 1192, 1192, 0, 0, 0, 1764 1192, 1192, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, 1765 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1766 1193, 1193, 1193, 1194, 0, 0, 1194, 1194, 1194, 1194, 1767 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 0, 1194, 1768 0, 1194, 1195, 0, 1195, 1195, 1195, 1195, 0, 1195, 1769 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1770 1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1771 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 0, 1196, 1772 1773 0, 1196, 1196, 1196, 1197, 0, 1197, 1197, 1197, 0, 1774 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 0, 1775 0, 0, 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198, 1776 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1777 1198, 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199, 1778 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1779 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200, 1780 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1781 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0, 1782 1201, 0, 1201, 1201, 0, 0, 0, 1201, 1202, 0, 1783 1784 1202, 0, 1202, 1202, 0, 0, 0, 1202, 1203, 1203, 1785 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1786 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204, 1787 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1788 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1789 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1790 1205, 1205, 1205, 1205, 1205, 1205, 1205, 0, 1205, 1205, 1791 1205, 1207, 0, 1207, 0, 1207, 1207, 0, 0, 0, 1792 1207, 0, 1207, 1208, 0, 1208, 1208, 1208, 1208, 1208, 1793 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1794 1795 1208, 1208, 1208, 1208, 1209, 0, 1209, 1209, 1209, 1209, 1796 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1797 1209, 1209, 1209, 1209, 1209, 1210, 0, 1210, 1210, 1210, 1798 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1799 1210, 1210, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211, 1800 0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1801 1211, 0, 1211, 0, 1211, 1211, 1211, 1212, 1212, 1212, 1802 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1803 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214, 0, 1804 1214, 0, 1214, 1214, 0, 0, 0, 1214, 1215, 0, 1805 1806 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1807 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216, 1808 0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1809 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1810 1217, 1217, 0, 0, 0, 1217, 1217, 1218, 0, 1218, 1811 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1812 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219, 1813 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1814 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220, 1815 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1816 1817 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1818 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1819 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1820 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1821 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1822 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1823 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1824 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1825 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1826 1113, 1113, 1113, 1113, 1113 1827 1828 } ; 1829 1830 static yy_state_type yy_last_accepting_state; 1831 static char *yy_last_accepting_cpos; 1832 1833 extern int yy_flex_debug; 1834 int yy_flex_debug = 0; 1835 1836 /* The intent behind this definition is that it'll catch 1837 * any uses of REJECT which flex missed. 1838 */ 1839 #define REJECT reject_used_but_not_detected 1840 #define yymore() yymore_used_but_not_detected 1841 #define YY_MORE_ADJ 0 1842 #define YY_RESTORE_YY_MORE_OFFSET 1843 char *yytext; 1844 /* $NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $ */ 1845 /* scan.l - scanner for flex input -*-C-*- */ 1846 /* Copyright (c) 1990 The Regents of the University of California. */ 1847 /* All rights reserved. */ 1848 1849 /* This code is derived from software contributed to Berkeley by */ 1850 /* Vern Paxson. */ 1851 1852 /* The United States Government has rights in this work pursuant */ 1853 /* to contract no. DE-AC03-76SF00098 between the United States */ 1854 /* Department of Energy and the University of California. */ 1855 1856 /* This file is part of flex. */ 1857 1858 /* Redistribution and use in source and binary forms, with or without */ 1859 /* modification, are permitted provided that the following conditions */ 1860 /* are met: */ 1861 1862 /* 1. Redistributions of source code must retain the above copyright */ 1863 /* notice, this list of conditions and the following disclaimer. */ 1864 /* 2. Redistributions in binary form must reproduce the above copyright */ 1865 /* notice, this list of conditions and the following disclaimer in the */ 1866 /* documentation and/or other materials provided with the distribution. */ 1867 1868 /* Neither the name of the University nor the names of its contributors */ 1869 /* may be used to endorse or promote products derived from this software */ 1870 /* without specific prior written permission. */ 1871 1872 /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ 1873 /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ 1874 /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ 1875 /* PURPOSE. */ 1876 #include "flexdef.h" 1877 __RCSID("$NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $"); 1878 1879 #include "parse.h" 1880 extern bool tablesverify, tablesext; 1881 extern int trlcontxt; /* Set in parse.y for each rule. */ 1882 extern const char *escaped_qstart, *escaped_qend; 1883 extern int yylval; /* XXX: for bootstrap */ 1884 1885 #define M4QSTART "[""[" 1886 #define M4QEND "]""]" 1887 1888 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART 1889 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART 1890 1891 #define ACTION_ECHO add_action( yytext ) 1892 #define ACTION_IFDEF(def, should_define) \ 1893 { \ 1894 if ( should_define ) \ 1895 action_define( def, 1 ); \ 1896 } 1897 1898 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART) 1899 #define ACTION_ECHO_QEND add_action (ESCAPED_QEND) 1900 1901 #define ACTION_M4_IFDEF(def, should_define) \ 1902 do{ \ 1903 if ( should_define ) \ 1904 buf_m4_define( &m4defs_buf, def, NULL);\ 1905 else \ 1906 buf_m4_undefine( &m4defs_buf, def);\ 1907 } while(0) 1908 1909 #define MARK_END_OF_PROLOG mark_prolog(); 1910 1911 #define YY_DECL \ 1912 int flexscan(void) 1913 1914 #define RETURNCHAR \ 1915 yylval = (unsigned char) yytext[0]; \ 1916 return CHAR; 1917 1918 #define RETURNNAME \ 1919 if(yyleng < MAXLINE) \ 1920 { \ 1921 strlcpy( nmstr, yytext, sizeof(nmstr) ); \ 1922 return NAME; \ 1923 } \ 1924 else \ 1925 do { \ 1926 synerr(_("Input line too long\n")); \ 1927 FLEX_EXIT(EXIT_FAILURE); \ 1928 } while (0) 1929 1930 #define PUT_BACK_STRING(str, start) \ 1931 { size_t i = strlen( str ); \ 1932 while ( i > start ) \ 1933 unput((str)[--i]); \ 1934 } 1935 1936 #define CHECK_REJECT(str) \ 1937 if ( all_upper( str ) ) \ 1938 reject = true; 1939 1940 #define CHECK_YYMORE(str) \ 1941 if ( all_lower( str ) ) \ 1942 yymore_used = true; 1943 1944 #define YY_USER_INIT \ 1945 if ( getenv("POSIXLY_CORRECT") ) \ 1946 posix_compat = true; 1947 1948 #define START_CODEBLOCK(x) do { \ 1949 /* Emit the needed line directive... */\ 1950 if (indented_code == false) { \ 1951 linenum++; \ 1952 line_directive_out(NULL, 1); \ 1953 } \ 1954 add_action(M4QSTART); \ 1955 yy_push_state(CODEBLOCK); \ 1956 if ((indented_code = x)) ACTION_ECHO; \ 1957 } while(0) 1958 1959 #define END_CODEBLOCK do { \ 1960 yy_pop_state();\ 1961 add_action(M4QEND); \ 1962 if (!indented_code) line_directive_out(NULL, 0);\ 1963 } while (0) 1964 1965 #define INITIAL 0 1966 #define SECT2 1 1967 #define SECT2PROLOG 2 1968 #define SECT3 3 1969 #define CODEBLOCK 4 1970 #define PICKUPDEF 5 1971 #define SC 6 1972 #define CARETISBOL 7 1973 #define NUM 8 1974 #define QUOTE 9 1975 #define FIRSTCCL 10 1976 #define CCL 11 1977 #define ACTION 12 1978 #define RECOVER 13 1979 #define COMMENT 14 1980 #define ACTION_STRING 15 1981 #define PERCENT_BRACE_ACTION 16 1982 #define OPTION 17 1983 #define LINEDIR 18 1984 #define CODEBLOCK_MATCH_BRACE 19 1985 #define GROUP_WITH_PARAMS 20 1986 #define GROUP_MINUS_PARAMS 21 1987 #define EXTENDED_COMMENT 22 1988 #define COMMENT_DISCARD 23 1989 #define CODE_COMMENT 24 1990 #define SECT3_NOESCAPE 25 1991 #define CHARACTER_CONSTANT 26 1992 1993 #ifndef YY_NO_UNISTD_H 1994 /* Special case for "unistd.h", since it is non-ANSI. We include it way 1995 * down here because we want the user's section 1 to have been scanned first. 1996 * The user has a chance to override it with an option. 1997 */ 1998 #include <unistd.h> 1999 #endif 2000 2001 #ifndef YY_EXTRA_TYPE 2002 #define YY_EXTRA_TYPE void * 2003 #endif 2004 2005 static int yy_init_globals ( void ); 2006 2007 /* Accessor methods to globals. 2008 These are made visible to non-reentrant scanners for convenience. */ 2009 2010 int yylex_destroy ( void ); 2011 2012 int yyget_debug ( void ); 2013 2014 void yyset_debug ( int debug_flag ); 2015 2016 YY_EXTRA_TYPE yyget_extra ( void ); 2017 2018 void yyset_extra ( YY_EXTRA_TYPE user_defined ); 2019 2020 FILE *yyget_in ( void ); 2021 2022 void yyset_in ( FILE * _in_str ); 2023 2024 FILE *yyget_out ( void ); 2025 2026 void yyset_out ( FILE * _out_str ); 2027 2028 yy_size_t yyget_leng ( void ); 2029 2030 char *yyget_text ( void ); 2031 2032 int yyget_lineno ( void ); 2033 2034 void yyset_lineno ( int _line_number ); 2035 2036 /* Macros after this point can all be overridden by user definitions in 2037 * section 1. 2038 */ 2039 2040 #ifndef YY_SKIP_YYWRAP 2041 #ifdef __cplusplus 2042 extern "C" int yywrap ( void ); 2043 #else 2044 extern int yywrap ( void ); 2045 #endif 2046 #endif 2047 2048 #ifndef YY_NO_UNPUT 2049 2050 static void yyunput ( int c, char *buf_ptr ); 2051 2052 #endif 2053 2054 #ifndef yytext_ptr 2055 static void yy_flex_strncpy ( char *, const char *, int ); 2056 #endif 2057 2058 #ifdef YY_NEED_STRLEN 2059 static int yy_flex_strlen ( const char * ); 2060 #endif 2061 2062 #ifndef YY_NO_INPUT 2063 #ifdef __cplusplus 2064 static int yyinput ( void ); 2065 #else 2066 static int input ( void ); 2067 #endif 2068 2069 #endif 2070 2071 static int yy_start_stack_ptr = 0; 2072 static int yy_start_stack_depth = 0; 2073 static int *yy_start_stack = NULL; 2074 2075 static void yy_push_state ( int _new_state ); 2076 2077 static void yy_pop_state ( void ); 2078 2079 /* Amount of stuff to slurp up with each read. */ 2080 #ifndef YY_READ_BUF_SIZE 2081 #ifdef __ia64__ 2082 /* On IA-64, the buffer size is 16k, not 8k */ 2083 #define YY_READ_BUF_SIZE 16384 2084 #else 2085 #define YY_READ_BUF_SIZE 8192 2086 #endif /* __ia64__ */ 2087 #endif 2088 2089 /* Copy whatever the last rule matched to the standard output. */ 2090 #ifndef ECHO 2091 /* This used to be an fputs(), but since the string might contain NUL's, 2092 * we now use fwrite(). 2093 */ 2094 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) 2095 #endif 2096 2097 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 2098 * is returned in "result". 2099 */ 2100 #ifndef YY_INPUT 2101 #define YY_INPUT(buf,result,max_size) \ 2102 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 2103 { \ 2104 int c = '*'; \ 2105 yy_size_t n; \ 2106 for ( n = 0; n < max_size && \ 2107 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 2108 buf[n] = (char) c; \ 2109 if ( c == '\n' ) \ 2110 buf[n++] = (char) c; \ 2111 if ( c == EOF && ferror( yyin ) ) \ 2112 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2113 result = n; \ 2114 } \ 2115 else \ 2116 { \ 2117 errno=0; \ 2118 while ( (result = fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ 2119 { \ 2120 if( errno != EINTR) \ 2121 { \ 2122 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2123 break; \ 2124 } \ 2125 errno=0; \ 2126 clearerr(yyin); \ 2127 } \ 2128 }\ 2129 \ 2130 2131 #endif 2132 2133 /* No semi-colon after return; correct usage is to write "yyterminate();" - 2134 * we don't want an extra ';' after the "return" because that will cause 2135 * some compilers to complain about unreachable statements. 2136 */ 2137 #ifndef yyterminate 2138 #define yyterminate() return YY_NULL 2139 #endif 2140 2141 /* Number of entries by which start-condition stack grows. */ 2142 #ifndef YY_START_STACK_INCR 2143 #define YY_START_STACK_INCR 25 2144 #endif 2145 2146 /* Report a fatal error. */ 2147 #ifndef YY_FATAL_ERROR 2148 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 2149 #endif 2150 2151 /* end tables serialization structures and prototypes */ 2152 2153 /* Default declaration of generated scanner - a define so the user can 2154 * easily add parameters. 2155 */ 2156 #ifndef YY_DECL 2157 #define YY_DECL_IS_OURS 1 2158 2159 extern int yylex (void); 2160 2161 #define YY_DECL int yylex (void) 2162 #endif /* !YY_DECL */ 2163 2164 /* Code executed at the beginning of each rule, after yytext and yyleng 2165 * have been set up. 2166 */ 2167 #ifndef YY_USER_ACTION 2168 #define YY_USER_ACTION 2169 #endif 2170 2171 /* Code executed at the end of each rule. */ 2172 #ifndef YY_BREAK 2173 #define YY_BREAK /*LINTED*/break; 2174 #endif 2175 2176 #define YY_RULE_SETUP \ 2177 if ( yyleng > 0 ) \ 2178 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 2179 (yytext[yyleng - 1] == '\n'); \ 2180 YY_USER_ACTION 2181 2182 /** The main scanner function which does all the work. 2183 */ 2184 YY_DECL 2185 { 2186 yy_state_type yy_current_state; 2187 char *yy_cp, *yy_bp; 2188 int yy_act; 2189 2190 if ( !(yy_init) ) 2191 { 2192 (yy_init) = 1; 2193 2194 #ifdef YY_USER_INIT 2195 YY_USER_INIT; 2196 #endif 2197 2198 if ( ! (yy_start) ) 2199 (yy_start) = 1; /* first start state */ 2200 2201 if ( ! yyin ) 2202 yyin = stdin; 2203 2204 if ( ! yyout ) 2205 yyout = stdout; 2206 2207 if ( ! YY_CURRENT_BUFFER ) { 2208 yyensure_buffer_stack (); 2209 YY_CURRENT_BUFFER_LVALUE = 2210 yy_create_buffer( yyin, YY_BUF_SIZE ); 2211 } 2212 2213 yy_load_buffer_state( ); 2214 } 2215 2216 { 2217 2218 static int bracelevel, didadef, indented_code; 2219 static int doing_rule_action = false; 2220 static int option_sense; 2221 2222 int doing_codeblock = false; 2223 int brace_depth=0, brace_start_line=0; 2224 char nmdef[MAXLINE]; 2225 2226 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ 2227 { 2228 yy_cp = (yy_c_buf_p); 2229 2230 /* Support of yytext. */ 2231 *yy_cp = (yy_hold_char); 2232 2233 /* yy_bp points to the position in yy_ch_buf of the start of 2234 * the current run. 2235 */ 2236 yy_bp = yy_cp; 2237 2238 yy_current_state = (yy_start); 2239 yy_current_state += YY_AT_BOL(); 2240 yy_match: 2241 do 2242 { 2243 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; 2244 if ( yy_accept[yy_current_state] ) 2245 { 2246 (yy_last_accepting_state) = yy_current_state; 2247 (yy_last_accepting_cpos) = yy_cp; 2248 } 2249 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 2250 { 2251 yy_current_state = (int) yy_def[yy_current_state]; 2252 if ( yy_current_state >= 1114 ) 2253 yy_c = yy_meta[yy_c]; 2254 } 2255 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 2256 ++yy_cp; 2257 } 2258 while ( yy_base[yy_current_state] != 4511 ); 2259 2260 yy_find_action: 2261 yy_act = yy_accept[yy_current_state]; 2262 if ( yy_act == 0 ) 2263 { /* have to back up */ 2264 yy_cp = (yy_last_accepting_cpos); 2265 yy_current_state = (yy_last_accepting_state); 2266 yy_act = yy_accept[yy_current_state]; 2267 } 2268 2269 YY_DO_BEFORE_ACTION; 2270 2271 do_action: /* This label is used only to access EOF actions. */ 2272 2273 switch ( yy_act ) 2274 { /* beginning of action switch */ 2275 case 0: /* must back up */ 2276 /* undo the effects of YY_DO_BEFORE_ACTION */ 2277 *yy_cp = (yy_hold_char); 2278 yy_cp = (yy_last_accepting_cpos); 2279 yy_current_state = (yy_last_accepting_state); 2280 goto yy_find_action; 2281 2282 case 1: 2283 YY_RULE_SETUP 2284 START_CODEBLOCK(true); 2285 YY_BREAK 2286 case 2: 2287 YY_RULE_SETUP 2288 add_action("/*[""["); yy_push_state( COMMENT ); 2289 YY_BREAK 2290 case 3: 2291 YY_RULE_SETUP 2292 yy_push_state( LINEDIR ); 2293 YY_BREAK 2294 case 4: 2295 YY_RULE_SETUP 2296 return SCDECL; 2297 YY_BREAK 2298 case 5: 2299 YY_RULE_SETUP 2300 return XSCDECL; 2301 YY_BREAK 2302 case 6: 2303 /* rule 6 can match eol */ 2304 YY_RULE_SETUP 2305 START_CODEBLOCK(false); 2306 YY_BREAK 2307 case 7: 2308 /* rule 7 can match eol */ 2309 YY_RULE_SETUP 2310 { 2311 brace_start_line = linenum; 2312 ++linenum; 2313 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum); 2314 brace_depth = 1; 2315 yy_push_state(CODEBLOCK_MATCH_BRACE); 2316 } 2317 YY_BREAK 2318 case 8: 2319 YY_RULE_SETUP 2320 synerr( _("malformed '%top' directive") ); 2321 YY_BREAK 2322 case 9: 2323 YY_RULE_SETUP 2324 /* discard */ 2325 YY_BREAK 2326 case 10: 2327 YY_RULE_SETUP 2328 { 2329 sectnum = 2; 2330 bracelevel = 0; 2331 mark_defs1(); 2332 line_directive_out(NULL, 1); 2333 BEGIN(SECT2PROLOG); 2334 return SECTEND; 2335 } 2336 YY_BREAK 2337 case 11: 2338 /* rule 11 can match eol */ 2339 YY_RULE_SETUP 2340 yytext_is_array = false; ++linenum; 2341 YY_BREAK 2342 case 12: 2343 /* rule 12 can match eol */ 2344 YY_RULE_SETUP 2345 yytext_is_array = true; ++linenum; 2346 YY_BREAK 2347 case 13: 2348 YY_RULE_SETUP 2349 BEGIN(OPTION); return TOK_OPTION; 2350 YY_BREAK 2351 case 14: 2352 /* rule 14 can match eol */ 2353 YY_RULE_SETUP 2354 ++linenum; /* ignore */ 2355 YY_BREAK 2356 case 15: 2357 /* rule 15 can match eol */ 2358 YY_RULE_SETUP 2359 ++linenum; /* ignore */ 2360 YY_BREAK 2361 /* xgettext: no-c-format */ 2362 case 16: 2363 /* rule 16 can match eol */ 2364 YY_RULE_SETUP 2365 synerr( _( "unrecognized '%' directive" ) ); 2366 YY_BREAK 2367 case 17: 2368 YY_RULE_SETUP 2369 { 2370 if(yyleng < MAXLINE) 2371 { 2372 strlcpy( nmstr, yytext, sizeof(nmstr) ); 2373 } 2374 else 2375 { 2376 synerr( _("Definition name too long\n")); 2377 FLEX_EXIT(EXIT_FAILURE); 2378 } 2379 2380 didadef = false; 2381 BEGIN(PICKUPDEF); 2382 } 2383 YY_BREAK 2384 case 18: 2385 YY_RULE_SETUP 2386 RETURNNAME; 2387 YY_BREAK 2388 case 19: 2389 /* rule 19 can match eol */ 2390 YY_RULE_SETUP 2391 ++linenum; /* allows blank lines in section 1 */ 2392 YY_BREAK 2393 case 20: 2394 /* rule 20 can match eol */ 2395 YY_RULE_SETUP 2396 ACTION_ECHO; ++linenum; /* maybe end of comment line */ 2397 YY_BREAK 2398 2399 /* */ 2400 case 21: 2401 YY_RULE_SETUP 2402 ACTION_ECHO; 2403 YY_BREAK 2404 case 22: 2405 YY_RULE_SETUP 2406 ACTION_ECHO; 2407 YY_BREAK 2408 case 23: 2409 /* rule 23 can match eol */ 2410 YY_RULE_SETUP 2411 ++linenum; ACTION_ECHO; 2412 YY_BREAK 2413 2414 case 24: 2415 YY_RULE_SETUP 2416 add_action("*/]""]"); yy_pop_state(); 2417 YY_BREAK 2418 2419 case 25: 2420 YY_RULE_SETUP 2421 ACTION_ECHO; yy_pop_state(); 2422 YY_BREAK 2423 2424 /* This is the same as COMMENT, but is discarded rather than output. */ 2425 case 26: 2426 YY_RULE_SETUP 2427 yy_pop_state(); 2428 YY_BREAK 2429 case 27: 2430 YY_RULE_SETUP 2431 ; 2432 YY_BREAK 2433 case 28: 2434 YY_RULE_SETUP 2435 ; 2436 YY_BREAK 2437 case 29: 2438 /* rule 29 can match eol */ 2439 YY_RULE_SETUP 2440 ++linenum; 2441 YY_BREAK 2442 2443 case 30: 2444 YY_RULE_SETUP 2445 yy_pop_state(); 2446 YY_BREAK 2447 case 31: 2448 YY_RULE_SETUP 2449 ; 2450 YY_BREAK 2451 case 32: 2452 /* rule 32 can match eol */ 2453 YY_RULE_SETUP 2454 ++linenum; 2455 YY_BREAK 2456 2457 case 33: 2458 /* rule 33 can match eol */ 2459 YY_RULE_SETUP 2460 yy_pop_state(); 2461 YY_BREAK 2462 case 34: 2463 YY_RULE_SETUP 2464 linenum = myctoi( yytext ); 2465 YY_BREAK 2466 case 35: 2467 YY_RULE_SETUP 2468 { 2469 free(infilename); 2470 infilename = xstrdup(yytext + 1); 2471 infilename[strlen( infilename ) - 1] = '\0'; 2472 } 2473 YY_BREAK 2474 case 36: 2475 YY_RULE_SETUP 2476 /* ignore spurious characters */ 2477 YY_BREAK 2478 2479 case 37: 2480 YY_RULE_SETUP 2481 ACTION_ECHO_QSTART; 2482 YY_BREAK 2483 case 38: 2484 YY_RULE_SETUP 2485 ACTION_ECHO_QEND; 2486 YY_BREAK 2487 2488 case 39: 2489 /* rule 39 can match eol */ 2490 YY_RULE_SETUP 2491 ++linenum; END_CODEBLOCK; 2492 YY_BREAK 2493 case 40: 2494 YY_RULE_SETUP 2495 ACTION_ECHO; 2496 YY_BREAK 2497 case 41: 2498 YY_RULE_SETUP 2499 ACTION_ECHO; 2500 YY_BREAK 2501 case 42: 2502 /* rule 42 can match eol */ 2503 YY_RULE_SETUP 2504 { 2505 ++linenum; 2506 ACTION_ECHO; 2507 if ( indented_code ) END_CODEBLOCK; 2508 } 2509 YY_BREAK 2510 2511 case 43: 2512 YY_RULE_SETUP 2513 { 2514 if( --brace_depth == 0){ 2515 /* TODO: Matched. */ 2516 yy_pop_state(); 2517 }else 2518 buf_strnappend(&top_buf, yytext, yyleng); 2519 } 2520 YY_BREAK 2521 case 44: 2522 YY_RULE_SETUP 2523 { 2524 brace_depth++; 2525 buf_strnappend(&top_buf, yytext, yyleng); 2526 } 2527 YY_BREAK 2528 case 45: 2529 /* rule 45 can match eol */ 2530 YY_RULE_SETUP 2531 { 2532 ++linenum; 2533 buf_strnappend(&top_buf, yytext, yyleng); 2534 } 2535 YY_BREAK 2536 case 46: 2537 YY_RULE_SETUP 2538 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart)); 2539 YY_BREAK 2540 case 47: 2541 YY_RULE_SETUP 2542 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend)); 2543 YY_BREAK 2544 case 48: 2545 YY_RULE_SETUP 2546 { 2547 buf_strnappend(&top_buf, yytext, yyleng); 2548 } 2549 YY_BREAK 2550 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE): 2551 { 2552 linenum = brace_start_line; 2553 synerr(_("Unmatched '{'")); 2554 yyterminate(); 2555 } 2556 YY_BREAK 2557 2558 case 49: 2559 YY_RULE_SETUP 2560 /* separates name and definition */ 2561 YY_BREAK 2562 case 50: 2563 YY_RULE_SETUP 2564 { 2565 if(yyleng < MAXLINE) 2566 { 2567 strlcpy( nmdef, yytext, sizeof(nmdef) ); 2568 } 2569 else 2570 { 2571 format_synerr( _("Definition value for {%s} too long\n"), nmstr); 2572 FLEX_EXIT(EXIT_FAILURE); 2573 } 2574 /* Skip trailing whitespace. */ 2575 { 2576 size_t i = strlen( nmdef ); 2577 while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t')) 2578 --i; 2579 nmdef[i] = '\0'; 2580 } 2581 2582 ndinstal( nmstr, nmdef ); 2583 didadef = true; 2584 } 2585 YY_BREAK 2586 case 51: 2587 /* rule 51 can match eol */ 2588 YY_RULE_SETUP 2589 { 2590 if ( ! didadef ) 2591 synerr( _( "incomplete name definition" ) ); 2592 BEGIN(INITIAL); 2593 ++linenum; 2594 } 2595 YY_BREAK 2596 2597 case 52: 2598 /* rule 52 can match eol */ 2599 YY_RULE_SETUP 2600 ++linenum; BEGIN(INITIAL); 2601 YY_BREAK 2602 case 53: 2603 YY_RULE_SETUP 2604 option_sense = true; 2605 YY_BREAK 2606 case 54: 2607 YY_RULE_SETUP 2608 return '='; 2609 YY_BREAK 2610 case 55: 2611 YY_RULE_SETUP 2612 option_sense = ! option_sense; 2613 YY_BREAK 2614 case 56: 2615 YY_RULE_SETUP 2616 csize = option_sense ? 128 : 256; 2617 YY_BREAK 2618 case 57: 2619 YY_RULE_SETUP 2620 csize = option_sense ? 256 : 128; 2621 YY_BREAK 2622 case 58: 2623 YY_RULE_SETUP 2624 long_align = option_sense; 2625 YY_BREAK 2626 case 59: 2627 YY_RULE_SETUP 2628 { 2629 ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense ); 2630 interactive = option_sense; 2631 } 2632 YY_BREAK 2633 case 60: 2634 YY_RULE_SETUP 2635 yytext_is_array = option_sense; 2636 YY_BREAK 2637 case 61: 2638 YY_RULE_SETUP 2639 backing_up_report = option_sense; 2640 YY_BREAK 2641 case 62: 2642 YY_RULE_SETUP 2643 interactive = ! option_sense; 2644 YY_BREAK 2645 case 63: 2646 YY_RULE_SETUP 2647 bison_bridge_lval = option_sense; 2648 YY_BREAK 2649 case 64: 2650 YY_RULE_SETUP 2651 { if((bison_bridge_lloc = option_sense)) 2652 bison_bridge_lval = true; 2653 } 2654 YY_BREAK 2655 case 65: 2656 YY_RULE_SETUP 2657 C_plus_plus = option_sense; 2658 YY_BREAK 2659 case 66: 2660 YY_RULE_SETUP 2661 sf_set_case_ins(!option_sense); 2662 YY_BREAK 2663 case 67: 2664 YY_RULE_SETUP 2665 sf_set_case_ins(option_sense); 2666 YY_BREAK 2667 case 68: 2668 YY_RULE_SETUP 2669 ddebug = option_sense; 2670 YY_BREAK 2671 case 69: 2672 YY_RULE_SETUP 2673 spprdflt = ! option_sense; 2674 YY_BREAK 2675 case 70: 2676 YY_RULE_SETUP 2677 useecs = option_sense; 2678 YY_BREAK 2679 case 71: 2680 YY_RULE_SETUP 2681 { 2682 useecs = usemecs = false; 2683 use_read = fullspd = true; 2684 } 2685 YY_BREAK 2686 case 72: 2687 YY_RULE_SETUP 2688 { 2689 useecs = usemecs = false; 2690 use_read = fulltbl = true; 2691 } 2692 YY_BREAK 2693 case 73: 2694 YY_RULE_SETUP 2695 ACTION_IFDEF("YY_NO_INPUT", ! option_sense); 2696 YY_BREAK 2697 case 74: 2698 YY_RULE_SETUP 2699 interactive = option_sense; 2700 YY_BREAK 2701 case 75: 2702 YY_RULE_SETUP 2703 lex_compat = option_sense; 2704 YY_BREAK 2705 case 76: 2706 YY_RULE_SETUP 2707 posix_compat = option_sense; 2708 YY_BREAK 2709 case 77: 2710 YY_RULE_SETUP 2711 gen_line_dirs = option_sense; 2712 YY_BREAK 2713 case 78: 2714 YY_RULE_SETUP 2715 { 2716 ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense); 2717 /* Override yywrap */ 2718 if( option_sense == true ) 2719 do_yywrap = false; 2720 } 2721 YY_BREAK 2722 case 79: 2723 YY_RULE_SETUP 2724 usemecs = option_sense; 2725 YY_BREAK 2726 case 80: 2727 YY_RULE_SETUP 2728 { 2729 ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense ); 2730 interactive = !option_sense; 2731 } 2732 YY_BREAK 2733 case 81: 2734 YY_RULE_SETUP 2735 performance_report += option_sense ? 1 : -1; 2736 YY_BREAK 2737 case 82: 2738 YY_RULE_SETUP 2739 yytext_is_array = ! option_sense; 2740 YY_BREAK 2741 case 83: 2742 YY_RULE_SETUP 2743 use_read = option_sense; 2744 YY_BREAK 2745 case 84: 2746 YY_RULE_SETUP 2747 reentrant = option_sense; 2748 YY_BREAK 2749 case 85: 2750 YY_RULE_SETUP 2751 reject_really_used = option_sense; 2752 YY_BREAK 2753 case 86: 2754 YY_RULE_SETUP 2755 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense ); 2756 YY_BREAK 2757 case 87: 2758 YY_RULE_SETUP 2759 do_stdinit = option_sense; 2760 YY_BREAK 2761 case 88: 2762 YY_RULE_SETUP 2763 use_stdout = option_sense; 2764 YY_BREAK 2765 case 89: 2766 YY_RULE_SETUP 2767 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense); 2768 YY_BREAK 2769 case 90: 2770 YY_RULE_SETUP 2771 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense); 2772 YY_BREAK 2773 case 91: 2774 YY_RULE_SETUP 2775 printstats = option_sense; 2776 YY_BREAK 2777 case 92: 2778 YY_RULE_SETUP 2779 nowarn = ! option_sense; 2780 YY_BREAK 2781 case 93: 2782 YY_RULE_SETUP 2783 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense); 2784 YY_BREAK 2785 case 94: 2786 YY_RULE_SETUP 2787 yymore_really_used = option_sense; 2788 YY_BREAK 2789 case 95: 2790 YY_RULE_SETUP 2791 do_yywrap = option_sense; 2792 YY_BREAK 2793 case 96: 2794 YY_RULE_SETUP 2795 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense); 2796 YY_BREAK 2797 case 97: 2798 YY_RULE_SETUP 2799 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense); 2800 YY_BREAK 2801 case 98: 2802 YY_RULE_SETUP 2803 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense); 2804 YY_BREAK 2805 case 99: 2806 YY_RULE_SETUP 2807 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense); 2808 YY_BREAK 2809 case 100: 2810 YY_RULE_SETUP 2811 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense); 2812 YY_BREAK 2813 case 101: 2814 YY_RULE_SETUP 2815 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense); 2816 YY_BREAK 2817 case 102: 2818 YY_RULE_SETUP 2819 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense); 2820 YY_BREAK 2821 case 103: 2822 YY_RULE_SETUP 2823 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense); 2824 YY_BREAK 2825 case 104: 2826 YY_RULE_SETUP 2827 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense); 2828 YY_BREAK 2829 case 105: 2830 YY_RULE_SETUP 2831 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense); 2832 YY_BREAK 2833 case 106: 2834 YY_RULE_SETUP 2835 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense); 2836 YY_BREAK 2837 case 107: 2838 YY_RULE_SETUP 2839 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense); 2840 YY_BREAK 2841 case 108: 2842 YY_RULE_SETUP 2843 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense); 2844 YY_BREAK 2845 case 109: 2846 YY_RULE_SETUP 2847 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense); 2848 YY_BREAK 2849 case 110: 2850 YY_RULE_SETUP 2851 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense); 2852 YY_BREAK 2853 case 111: 2854 YY_RULE_SETUP 2855 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense); 2856 YY_BREAK 2857 case 112: 2858 YY_RULE_SETUP 2859 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense); 2860 YY_BREAK 2861 case 113: 2862 YY_RULE_SETUP 2863 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense); 2864 YY_BREAK 2865 case 114: 2866 YY_RULE_SETUP 2867 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense); 2868 YY_BREAK 2869 case 115: 2870 YY_RULE_SETUP 2871 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense); 2872 YY_BREAK 2873 case 116: 2874 YY_RULE_SETUP 2875 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense); 2876 YY_BREAK 2877 case 117: 2878 YY_RULE_SETUP 2879 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense); 2880 YY_BREAK 2881 case 118: 2882 YY_RULE_SETUP 2883 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense); 2884 YY_BREAK 2885 case 119: 2886 YY_RULE_SETUP 2887 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense); 2888 YY_BREAK 2889 case 120: 2890 YY_RULE_SETUP 2891 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense); 2892 YY_BREAK 2893 case 121: 2894 YY_RULE_SETUP 2895 return TOK_EXTRA_TYPE; 2896 YY_BREAK 2897 case 122: 2898 YY_RULE_SETUP 2899 return TOK_OUTFILE; 2900 YY_BREAK 2901 case 123: 2902 YY_RULE_SETUP 2903 return TOK_PREFIX; 2904 YY_BREAK 2905 case 124: 2906 YY_RULE_SETUP 2907 return TOK_YYCLASS; 2908 YY_BREAK 2909 case 125: 2910 YY_RULE_SETUP 2911 return TOK_HEADER_FILE; 2912 YY_BREAK 2913 case 126: 2914 YY_RULE_SETUP 2915 return TOK_TABLES_FILE; 2916 YY_BREAK 2917 case 127: 2918 YY_RULE_SETUP 2919 { 2920 tablesverify = option_sense; 2921 if(!tablesext && option_sense) 2922 tablesext = true; 2923 } 2924 YY_BREAK 2925 case 128: 2926 YY_RULE_SETUP 2927 { 2928 if(yyleng-1 < MAXLINE) 2929 { 2930 strlcpy( nmstr, yytext + 1, sizeof(nmstr) ); 2931 } 2932 else 2933 { 2934 synerr( _("Option line too long\n")); 2935 FLEX_EXIT(EXIT_FAILURE); 2936 } 2937 nmstr[strlen( nmstr ) - 1] = '\0'; 2938 return NAME; 2939 } 2940 YY_BREAK 2941 case 129: 2942 YY_RULE_SETUP 2943 { 2944 format_synerr( _( "unrecognized %%option: %s" ), 2945 yytext ); 2946 BEGIN(RECOVER); 2947 } 2948 YY_BREAK 2949 2950 case 130: 2951 /* rule 130 can match eol */ 2952 YY_RULE_SETUP 2953 ++linenum; BEGIN(INITIAL); 2954 YY_BREAK 2955 2956 case 131: 2957 YY_RULE_SETUP 2958 ++bracelevel; yyless( 2 ); /* eat only %{ */ 2959 YY_BREAK 2960 case 132: 2961 YY_RULE_SETUP 2962 --bracelevel; yyless( 2 ); /* eat only %} */ 2963 YY_BREAK 2964 case 133: 2965 YY_RULE_SETUP 2966 START_CODEBLOCK(true); /* indented code in prolog */ 2967 YY_BREAK 2968 case 134: 2969 YY_RULE_SETUP 2970 { 2971 /* non-indented code */ 2972 if ( bracelevel <= 0 ) { 2973 /* not in %{ ... %} */ 2974 yyless( 0 ); /* put it all back */ 2975 yy_set_bol( 1 ); 2976 mark_prolog(); 2977 BEGIN(SECT2); 2978 } else { 2979 START_CODEBLOCK(true); 2980 } 2981 } 2982 YY_BREAK 2983 case 135: 2984 YY_RULE_SETUP 2985 ACTION_ECHO; 2986 YY_BREAK 2987 case 136: 2988 /* rule 136 can match eol */ 2989 YY_RULE_SETUP 2990 ++linenum; ACTION_ECHO; 2991 YY_BREAK 2992 case YY_STATE_EOF(SECT2PROLOG): 2993 { 2994 mark_prolog(); 2995 sectnum = 0; 2996 yyterminate(); /* to stop the parser */ 2997 } 2998 YY_BREAK 2999 3000 case 137: 3001 /* rule 137 can match eol */ 3002 YY_RULE_SETUP 3003 ++linenum; /* allow blank lines in section 2 */ 3004 YY_BREAK 3005 case 138: 3006 YY_RULE_SETUP 3007 { 3008 indented_code = false; 3009 doing_codeblock = true; 3010 bracelevel = 1; 3011 BEGIN(PERCENT_BRACE_ACTION); 3012 } 3013 YY_BREAK 3014 case 139: 3015 YY_RULE_SETUP 3016 { 3017 /* Allow "<" to appear in (?x) patterns. */ 3018 if (!sf_skip_ws()) 3019 BEGIN(SC); 3020 return '<'; 3021 } 3022 YY_BREAK 3023 case 140: 3024 YY_RULE_SETUP 3025 return '^'; 3026 YY_BREAK 3027 case 141: 3028 YY_RULE_SETUP 3029 BEGIN(QUOTE); return '"'; 3030 YY_BREAK 3031 case 142: 3032 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 3033 (yy_c_buf_p) = yy_cp = yy_bp + 1; 3034 YY_DO_BEFORE_ACTION; /* set up yytext again */ 3035 YY_RULE_SETUP 3036 { 3037 BEGIN(NUM); 3038 if ( lex_compat || posix_compat ) 3039 return BEGIN_REPEAT_POSIX; 3040 else 3041 return BEGIN_REPEAT_FLEX; 3042 } 3043 YY_BREAK 3044 case 143: 3045 /* rule 143 can match eol */ 3046 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 3047 YY_LINENO_REWIND_TO(yy_bp + 1); 3048 (yy_c_buf_p) = yy_cp = yy_bp + 1; 3049 YY_DO_BEFORE_ACTION; /* set up yytext again */ 3050 YY_RULE_SETUP 3051 return '$'; 3052 YY_BREAK 3053 case 144: 3054 YY_RULE_SETUP 3055 { 3056 bracelevel = 1; 3057 BEGIN(PERCENT_BRACE_ACTION); 3058 3059 if ( in_rule ) 3060 { 3061 doing_rule_action = true; 3062 in_rule = false; 3063 return '\n'; 3064 } 3065 } 3066 YY_BREAK 3067 case 145: 3068 /* rule 145 can match eol */ 3069 YY_RULE_SETUP 3070 { 3071 if (sf_skip_ws()){ 3072 /* We're in the middle of a (?x: ) pattern. */ 3073 /* Push back everything starting at the "|" */ 3074 int amt = (int) (strchr (yytext, '|') - yytext); 3075 yyless(amt); 3076 } 3077 else { 3078 add_action("]""]"); 3079 continued_action = true; 3080 ++linenum; 3081 return '\n'; 3082 } 3083 } 3084 YY_BREAK 3085 case 146: 3086 YY_RULE_SETUP 3087 { 3088 3089 if (sf_skip_ws()){ 3090 /* We're in the middle of a (?x: ) pattern. */ 3091 yy_push_state(COMMENT_DISCARD); 3092 } 3093 else{ 3094 yyless( yyleng - 2 ); /* put back '/', '*' */ 3095 bracelevel = 0; 3096 continued_action = false; 3097 BEGIN(ACTION); 3098 } 3099 } 3100 YY_BREAK 3101 case 147: 3102 YY_RULE_SETUP 3103 /* allow indented rules */ ; 3104 YY_BREAK 3105 case 148: 3106 YY_RULE_SETUP 3107 { 3108 if (sf_skip_ws()){ 3109 /* We're in the middle of a (?x: ) pattern. */ 3110 } 3111 else{ 3112 /* This rule is separate from the one below because 3113 * otherwise we get variable trailing context, so 3114 * we can't build the scanner using -{f,F}. 3115 */ 3116 bracelevel = 0; 3117 continued_action = false; 3118 BEGIN(ACTION); 3119 3120 if ( in_rule ) 3121 { 3122 doing_rule_action = true; 3123 in_rule = false; 3124 return '\n'; 3125 } 3126 } 3127 } 3128 YY_BREAK 3129 case 149: 3130 /* rule 149 can match eol */ 3131 YY_RULE_SETUP 3132 { 3133 if (sf_skip_ws()){ 3134 /* We're in the middle of a (?x: ) pattern. */ 3135 ++linenum; 3136 } 3137 else{ 3138 bracelevel = 0; 3139 continued_action = false; 3140 BEGIN(ACTION); 3141 unput( '\n' ); /* so <ACTION> sees it */ 3142 3143 if ( in_rule ) 3144 { 3145 doing_rule_action = true; 3146 in_rule = false; 3147 return '\n'; 3148 } 3149 } 3150 } 3151 YY_BREAK 3152 case 150: 3153 case 151: 3154 YY_RULE_SETUP 3155 return EOF_OP; 3156 YY_BREAK 3157 case 152: 3158 YY_RULE_SETUP 3159 { 3160 sectnum = 3; 3161 BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3); 3162 outn("/* Begin user sect3 */"); 3163 yyterminate(); /* to stop the parser */ 3164 3165 } 3166 YY_BREAK 3167 case 153: 3168 YY_RULE_SETUP 3169 { 3170 int cclval; 3171 3172 if(yyleng < MAXLINE) 3173 { 3174 strlcpy( nmstr, yytext, sizeof(nmstr) ); 3175 } 3176 else 3177 { 3178 synerr( _("Input line too long\n")); 3179 FLEX_EXIT(EXIT_FAILURE); 3180 } 3181 3182 /* Check to see if we've already encountered this 3183 * ccl. 3184 */ 3185 if (0 /* <--- This "0" effectively disables the reuse of a 3186 * character class (purely based on its source text). 3187 * The reason it was disabled is so yacc/bison can parse 3188 * ccl operations, such as ccl difference and union. 3189 */ 3190 && (cclval = ccllookup( nmstr )) != 0 ) 3191 { 3192 if ( input() != ']' ) 3193 synerr( _( "bad character class" ) ); 3194 3195 yylval = cclval; 3196 ++cclreuse; 3197 return PREVCCL; 3198 } 3199 else 3200 { 3201 /* We fudge a bit. We know that this ccl will 3202 * soon be numbered as lastccl + 1 by cclinit. 3203 */ 3204 cclinstal( nmstr, lastccl + 1 ); 3205 3206 /* Push back everything but the leading bracket 3207 * so the ccl can be rescanned. 3208 */ 3209 yyless( 1 ); 3210 3211 BEGIN(FIRSTCCL); 3212 return '['; 3213 } 3214 } 3215 YY_BREAK 3216 case 154: 3217 YY_RULE_SETUP 3218 return CCL_OP_DIFF; 3219 YY_BREAK 3220 case 155: 3221 YY_RULE_SETUP 3222 return CCL_OP_UNION; 3223 YY_BREAK 3224 /* Check for :space: at the end of the rule so we don't 3225 * wrap the expanded regex in '(' ')' -- breaking trailing 3226 * context. 3227 */ 3228 case 156: 3229 /* rule 156 can match eol */ 3230 YY_RULE_SETUP 3231 { 3232 char *nmdefptr; 3233 int end_is_ws, end_ch; 3234 3235 end_ch = yytext[yyleng-1]; 3236 end_is_ws = end_ch != '}' ? 1 : 0; 3237 3238 if(yyleng-1 < MAXLINE) 3239 { 3240 strlcpy( nmstr, yytext + 1, sizeof(nmstr) ); 3241 } 3242 else 3243 { 3244 synerr( _("Input line too long\n")); 3245 FLEX_EXIT(EXIT_FAILURE); 3246 } 3247 nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ 3248 3249 if ( (nmdefptr = ndlookup( nmstr )) == 0 ) 3250 format_synerr( 3251 _( "undefined definition {%s}" ), 3252 nmstr ); 3253 3254 else 3255 { /* push back name surrounded by ()'s */ 3256 size_t len = strlen( nmdefptr ); 3257 if (end_is_ws) 3258 unput(end_ch); 3259 3260 if ( lex_compat || nmdefptr[0] == '^' || 3261 (len > 0 && nmdefptr[len - 1] == '$') 3262 || (end_is_ws && trlcontxt && !sf_skip_ws())) 3263 { /* don't use ()'s after all */ 3264 PUT_BACK_STRING(nmdefptr, 0); 3265 3266 if ( nmdefptr[0] == '^' ) 3267 BEGIN(CARETISBOL); 3268 } 3269 3270 else 3271 { 3272 unput(')'); 3273 PUT_BACK_STRING(nmdefptr, 0); 3274 unput('('); 3275 } 3276 } 3277 } 3278 YY_BREAK 3279 case 157: 3280 YY_RULE_SETUP 3281 { 3282 if (sf_skip_ws()) 3283 yy_push_state(COMMENT_DISCARD); 3284 else{ 3285 /* Push back the "*" and return "/" as usual. */ 3286 yyless(1); 3287 return '/'; 3288 } 3289 } 3290 YY_BREAK 3291 case 158: 3292 YY_RULE_SETUP 3293 { 3294 if (lex_compat || posix_compat){ 3295 /* Push back the "?#" and treat it like a normal parens. */ 3296 yyless(1); 3297 sf_push(); 3298 return '('; 3299 } 3300 else 3301 yy_push_state(EXTENDED_COMMENT); 3302 } 3303 YY_BREAK 3304 case 159: 3305 YY_RULE_SETUP 3306 { 3307 sf_push(); 3308 if (lex_compat || posix_compat) 3309 /* Push back the "?" and treat it like a normal parens. */ 3310 yyless(1); 3311 else 3312 BEGIN(GROUP_WITH_PARAMS); 3313 return '('; 3314 } 3315 YY_BREAK 3316 case 160: 3317 YY_RULE_SETUP 3318 sf_push(); return '('; 3319 YY_BREAK 3320 case 161: 3321 YY_RULE_SETUP 3322 { 3323 if (_sf_top_ix > 0) { 3324 sf_pop(); 3325 return ')'; 3326 } else 3327 synerr(_("unbalanced parenthesis")); 3328 } 3329 YY_BREAK 3330 case 162: 3331 YY_RULE_SETUP 3332 return (unsigned char) yytext[0]; 3333 YY_BREAK 3334 case 163: 3335 YY_RULE_SETUP 3336 RETURNCHAR; 3337 YY_BREAK 3338 3339 case 164: 3340 /* rule 164 can match eol */ 3341 YY_RULE_SETUP 3342 ++linenum; /* Allow blank lines & continuations */ 3343 YY_BREAK 3344 case 165: 3345 YY_RULE_SETUP 3346 return (unsigned char) yytext[0]; 3347 YY_BREAK 3348 case 166: 3349 YY_RULE_SETUP 3350 BEGIN(SECT2); return '>'; 3351 YY_BREAK 3352 case 167: 3353 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 3354 (yy_c_buf_p) = yy_cp = yy_bp + 1; 3355 YY_DO_BEFORE_ACTION; /* set up yytext again */ 3356 YY_RULE_SETUP 3357 BEGIN(CARETISBOL); return '>'; 3358 YY_BREAK 3359 case 168: 3360 YY_RULE_SETUP 3361 RETURNNAME; 3362 YY_BREAK 3363 case 169: 3364 YY_RULE_SETUP 3365 { 3366 format_synerr( _( "bad <start condition>: %s" ), 3367 yytext ); 3368 } 3369 YY_BREAK 3370 3371 case 170: 3372 YY_RULE_SETUP 3373 BEGIN(SECT2); return '^'; 3374 YY_BREAK 3375 3376 case 171: 3377 YY_RULE_SETUP 3378 RETURNCHAR; 3379 YY_BREAK 3380 case 172: 3381 YY_RULE_SETUP 3382 BEGIN(SECT2); return '"'; 3383 YY_BREAK 3384 case 173: 3385 /* rule 173 can match eol */ 3386 YY_RULE_SETUP 3387 { 3388 synerr( _( "missing quote" ) ); 3389 BEGIN(SECT2); 3390 ++linenum; 3391 return '"'; 3392 } 3393 YY_BREAK 3394 3395 case 174: 3396 YY_RULE_SETUP 3397 BEGIN(SECT2); 3398 YY_BREAK 3399 case 175: 3400 YY_RULE_SETUP 3401 BEGIN(GROUP_MINUS_PARAMS); 3402 YY_BREAK 3403 case 176: 3404 YY_RULE_SETUP 3405 sf_set_case_ins(1); 3406 YY_BREAK 3407 case 177: 3408 YY_RULE_SETUP 3409 sf_set_dot_all(1); 3410 YY_BREAK 3411 case 178: 3412 YY_RULE_SETUP 3413 sf_set_skip_ws(1); 3414 YY_BREAK 3415 3416 case 179: 3417 YY_RULE_SETUP 3418 BEGIN(SECT2); 3419 YY_BREAK 3420 case 180: 3421 YY_RULE_SETUP 3422 sf_set_case_ins(0); 3423 YY_BREAK 3424 case 181: 3425 YY_RULE_SETUP 3426 sf_set_dot_all(0); 3427 YY_BREAK 3428 case 182: 3429 YY_RULE_SETUP 3430 sf_set_skip_ws(0); 3431 YY_BREAK 3432 3433 case 183: 3434 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 3435 (yy_c_buf_p) = yy_cp = yy_bp + 1; 3436 YY_DO_BEFORE_ACTION; /* set up yytext again */ 3437 YY_RULE_SETUP 3438 BEGIN(CCL); return '^'; 3439 YY_BREAK 3440 case 184: 3441 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 3442 (yy_c_buf_p) = yy_cp = yy_bp + 1; 3443 YY_DO_BEFORE_ACTION; /* set up yytext again */ 3444 YY_RULE_SETUP 3445 return '^'; 3446 YY_BREAK 3447 case 185: 3448 YY_RULE_SETUP 3449 BEGIN(CCL); RETURNCHAR; 3450 YY_BREAK 3451 3452 case 186: 3453 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 3454 (yy_c_buf_p) = yy_cp = yy_bp + 1; 3455 YY_DO_BEFORE_ACTION; /* set up yytext again */ 3456 YY_RULE_SETUP 3457 return '-'; 3458 YY_BREAK 3459 case 187: 3460 YY_RULE_SETUP 3461 RETURNCHAR; 3462 YY_BREAK 3463 case 188: 3464 YY_RULE_SETUP 3465 BEGIN(SECT2); return ']'; 3466 YY_BREAK 3467 case 189: 3468 /* rule 189 can match eol */ 3469 YY_RULE_SETUP 3470 { 3471 synerr( _( "bad character class" ) ); 3472 BEGIN(SECT2); 3473 return ']'; 3474 } 3475 YY_BREAK 3476 3477 case 190: 3478 YY_RULE_SETUP 3479 BEGIN(CCL); return CCE_ALNUM; 3480 YY_BREAK 3481 case 191: 3482 YY_RULE_SETUP 3483 BEGIN(CCL); return CCE_ALPHA; 3484 YY_BREAK 3485 case 192: 3486 YY_RULE_SETUP 3487 BEGIN(CCL); return CCE_BLANK; 3488 YY_BREAK 3489 case 193: 3490 YY_RULE_SETUP 3491 BEGIN(CCL); return CCE_CNTRL; 3492 YY_BREAK 3493 case 194: 3494 YY_RULE_SETUP 3495 BEGIN(CCL); return CCE_DIGIT; 3496 YY_BREAK 3497 case 195: 3498 YY_RULE_SETUP 3499 BEGIN(CCL); return CCE_GRAPH; 3500 YY_BREAK 3501 case 196: 3502 YY_RULE_SETUP 3503 BEGIN(CCL); return CCE_LOWER; 3504 YY_BREAK 3505 case 197: 3506 YY_RULE_SETUP 3507 BEGIN(CCL); return CCE_PRINT; 3508 YY_BREAK 3509 case 198: 3510 YY_RULE_SETUP 3511 BEGIN(CCL); return CCE_PUNCT; 3512 YY_BREAK 3513 case 199: 3514 YY_RULE_SETUP 3515 BEGIN(CCL); return CCE_SPACE; 3516 YY_BREAK 3517 case 200: 3518 YY_RULE_SETUP 3519 BEGIN(CCL); return CCE_UPPER; 3520 YY_BREAK 3521 case 201: 3522 YY_RULE_SETUP 3523 BEGIN(CCL); return CCE_XDIGIT; 3524 YY_BREAK 3525 case 202: 3526 YY_RULE_SETUP 3527 BEGIN(CCL); return CCE_NEG_ALNUM; 3528 YY_BREAK 3529 case 203: 3530 YY_RULE_SETUP 3531 BEGIN(CCL); return CCE_NEG_ALPHA; 3532 YY_BREAK 3533 case 204: 3534 YY_RULE_SETUP 3535 BEGIN(CCL); return CCE_NEG_BLANK; 3536 YY_BREAK 3537 case 205: 3538 YY_RULE_SETUP 3539 BEGIN(CCL); return CCE_NEG_CNTRL; 3540 YY_BREAK 3541 case 206: 3542 YY_RULE_SETUP 3543 BEGIN(CCL); return CCE_NEG_DIGIT; 3544 YY_BREAK 3545 case 207: 3546 YY_RULE_SETUP 3547 BEGIN(CCL); return CCE_NEG_GRAPH; 3548 YY_BREAK 3549 case 208: 3550 YY_RULE_SETUP 3551 BEGIN(CCL); return CCE_NEG_LOWER; 3552 YY_BREAK 3553 case 209: 3554 YY_RULE_SETUP 3555 BEGIN(CCL); return CCE_NEG_PRINT; 3556 YY_BREAK 3557 case 210: 3558 YY_RULE_SETUP 3559 BEGIN(CCL); return CCE_NEG_PUNCT; 3560 YY_BREAK 3561 case 211: 3562 YY_RULE_SETUP 3563 BEGIN(CCL); return CCE_NEG_SPACE; 3564 YY_BREAK 3565 case 212: 3566 YY_RULE_SETUP 3567 BEGIN(CCL); return CCE_NEG_UPPER; 3568 YY_BREAK 3569 case 213: 3570 YY_RULE_SETUP 3571 BEGIN(CCL); return CCE_NEG_XDIGIT; 3572 YY_BREAK 3573 case 214: 3574 YY_RULE_SETUP 3575 { 3576 format_synerr( 3577 _( "bad character class expression: %s" ), 3578 yytext ); 3579 BEGIN(CCL); return CCE_ALNUM; 3580 } 3581 YY_BREAK 3582 3583 case 215: 3584 YY_RULE_SETUP 3585 { 3586 yylval = myctoi( yytext ); 3587 return NUMBER; 3588 } 3589 YY_BREAK 3590 case 216: 3591 YY_RULE_SETUP 3592 return ','; 3593 YY_BREAK 3594 case 217: 3595 YY_RULE_SETUP 3596 { 3597 BEGIN(SECT2); 3598 if ( lex_compat || posix_compat ) 3599 return END_REPEAT_POSIX; 3600 else 3601 return END_REPEAT_FLEX; 3602 } 3603 YY_BREAK 3604 case 218: 3605 YY_RULE_SETUP 3606 { 3607 synerr( _( "bad character inside {}'s" ) ); 3608 BEGIN(SECT2); 3609 return '}'; 3610 } 3611 YY_BREAK 3612 case 219: 3613 /* rule 219 can match eol */ 3614 YY_RULE_SETUP 3615 { 3616 synerr( _( "missing }" ) ); 3617 BEGIN(SECT2); 3618 ++linenum; 3619 return '}'; 3620 } 3621 YY_BREAK 3622 3623 case 220: 3624 YY_RULE_SETUP 3625 bracelevel = 0; 3626 YY_BREAK 3627 case 221: 3628 YY_RULE_SETUP 3629 ACTION_ECHO; yy_push_state( CODE_COMMENT ); 3630 YY_BREAK 3631 3632 case 222: 3633 YY_RULE_SETUP 3634 { 3635 ACTION_ECHO; 3636 CHECK_REJECT(yytext); 3637 } 3638 YY_BREAK 3639 case 223: 3640 YY_RULE_SETUP 3641 { 3642 ACTION_ECHO; 3643 CHECK_YYMORE(yytext); 3644 } 3645 YY_BREAK 3646 3647 case 224: 3648 YY_RULE_SETUP 3649 ACTION_ECHO; 3650 YY_BREAK 3651 case 225: 3652 /* rule 225 can match eol */ 3653 YY_RULE_SETUP 3654 { 3655 ++linenum; 3656 ACTION_ECHO; 3657 if (bracelevel == 0 || (doing_codeblock && indented_code)) { 3658 if ( doing_rule_action ) 3659 add_action( "\tYY_BREAK]""]\n" ); 3660 3661 doing_rule_action = doing_codeblock = false; 3662 BEGIN(SECT2); 3663 } 3664 } 3665 YY_BREAK 3666 3667 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */ 3668 3669 case 226: 3670 YY_RULE_SETUP 3671 ACTION_ECHO; ++bracelevel; 3672 YY_BREAK 3673 case 227: 3674 YY_RULE_SETUP 3675 ACTION_ECHO; --bracelevel; 3676 YY_BREAK 3677 case 228: 3678 YY_RULE_SETUP 3679 ACTION_ECHO; 3680 YY_BREAK 3681 case 229: 3682 YY_RULE_SETUP 3683 ACTION_ECHO; 3684 YY_BREAK 3685 case 230: 3686 YY_RULE_SETUP 3687 ACTION_ECHO; /* character constant */ 3688 YY_BREAK 3689 case 231: 3690 YY_RULE_SETUP 3691 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT); 3692 YY_BREAK 3693 case 232: 3694 YY_RULE_SETUP 3695 ACTION_ECHO; BEGIN(ACTION_STRING); 3696 YY_BREAK 3697 case 233: 3698 /* rule 233 can match eol */ 3699 YY_RULE_SETUP 3700 { 3701 ++linenum; 3702 ACTION_ECHO; 3703 if (bracelevel == 0) { 3704 if ( doing_rule_action ) 3705 add_action( "\tYY_BREAK]""]\n" ); 3706 3707 doing_rule_action = false; 3708 BEGIN(SECT2); 3709 } 3710 } 3711 YY_BREAK 3712 case 234: 3713 YY_RULE_SETUP 3714 ACTION_ECHO; 3715 YY_BREAK 3716 3717 case 235: 3718 YY_RULE_SETUP 3719 ACTION_ECHO; 3720 YY_BREAK 3721 case 236: 3722 YY_RULE_SETUP 3723 ACTION_ECHO; BEGIN(ACTION); 3724 YY_BREAK 3725 3726 case 237: 3727 YY_RULE_SETUP 3728 ACTION_ECHO; 3729 YY_BREAK 3730 case 238: 3731 YY_RULE_SETUP 3732 ACTION_ECHO; BEGIN(ACTION); 3733 YY_BREAK 3734 3735 case 239: 3736 /* rule 239 can match eol */ 3737 YY_RULE_SETUP 3738 ACTION_ECHO; 3739 YY_BREAK 3740 case 240: 3741 /* rule 240 can match eol */ 3742 YY_RULE_SETUP 3743 ACTION_ECHO; 3744 YY_BREAK 3745 case 241: 3746 /* rule 241 can match eol */ 3747 YY_RULE_SETUP 3748 ++linenum; ACTION_ECHO; BEGIN(ACTION); 3749 YY_BREAK 3750 case 242: 3751 YY_RULE_SETUP 3752 ACTION_ECHO; 3753 YY_BREAK 3754 3755 case YY_STATE_EOF(COMMENT): 3756 case YY_STATE_EOF(CODE_COMMENT): 3757 case YY_STATE_EOF(COMMENT_DISCARD): 3758 case YY_STATE_EOF(ACTION): 3759 case YY_STATE_EOF(ACTION_STRING): 3760 case YY_STATE_EOF(CHARACTER_CONSTANT): 3761 { 3762 synerr( _( "EOF encountered inside an action" ) ); 3763 yyterminate(); 3764 } 3765 YY_BREAK 3766 case YY_STATE_EOF(EXTENDED_COMMENT): 3767 case YY_STATE_EOF(GROUP_WITH_PARAMS): 3768 case YY_STATE_EOF(GROUP_MINUS_PARAMS): 3769 { 3770 synerr( _( "EOF encountered inside pattern" ) ); 3771 yyterminate(); 3772 } 3773 YY_BREAK 3774 case 243: 3775 YY_RULE_SETUP 3776 { 3777 yylval = myesc( (unsigned char *) yytext ); 3778 3779 if ( YY_START == FIRSTCCL ) 3780 BEGIN(CCL); 3781 3782 return CHAR; 3783 } 3784 YY_BREAK 3785 3786 case 244: 3787 YY_RULE_SETUP 3788 fputs(escaped_qstart, yyout); 3789 YY_BREAK 3790 case 245: 3791 YY_RULE_SETUP 3792 fputs(escaped_qend, yyout); 3793 YY_BREAK 3794 case 246: 3795 /* rule 246 can match eol */ 3796 YY_RULE_SETUP 3797 ECHO; 3798 YY_BREAK 3799 case 247: 3800 YY_RULE_SETUP 3801 ECHO; 3802 YY_BREAK 3803 case YY_STATE_EOF(SECT3): 3804 { 3805 sectnum = 0; 3806 yyterminate(); 3807 } 3808 YY_BREAK 3809 3810 case 248: 3811 YY_RULE_SETUP 3812 fprintf(yyout, "[""[%s]""]", escaped_qstart); 3813 YY_BREAK 3814 case 249: 3815 YY_RULE_SETUP 3816 fprintf(yyout, "[""[%s]""]", escaped_qend); 3817 YY_BREAK 3818 case 250: 3819 /* rule 250 can match eol */ 3820 YY_RULE_SETUP 3821 ECHO; 3822 YY_BREAK 3823 case 251: 3824 YY_RULE_SETUP 3825 ECHO; 3826 YY_BREAK 3827 case YY_STATE_EOF(SECT3_NOESCAPE): 3828 { 3829 sectnum = 0; 3830 yyterminate(); 3831 } 3832 YY_BREAK 3833 3834 case 252: 3835 /* rule 252 can match eol */ 3836 YY_RULE_SETUP 3837 format_synerr( _( "bad character: %s" ), yytext ); 3838 YY_BREAK 3839 case 253: 3840 YY_RULE_SETUP 3841 YY_FATAL_ERROR( "flex scanner jammed" ); 3842 YY_BREAK 3843 case YY_STATE_EOF(INITIAL): 3844 case YY_STATE_EOF(SECT2): 3845 case YY_STATE_EOF(CODEBLOCK): 3846 case YY_STATE_EOF(PICKUPDEF): 3847 case YY_STATE_EOF(SC): 3848 case YY_STATE_EOF(CARETISBOL): 3849 case YY_STATE_EOF(NUM): 3850 case YY_STATE_EOF(QUOTE): 3851 case YY_STATE_EOF(FIRSTCCL): 3852 case YY_STATE_EOF(CCL): 3853 case YY_STATE_EOF(RECOVER): 3854 case YY_STATE_EOF(PERCENT_BRACE_ACTION): 3855 case YY_STATE_EOF(OPTION): 3856 case YY_STATE_EOF(LINEDIR): 3857 yyterminate(); 3858 3859 case YY_END_OF_BUFFER: 3860 { 3861 /* Amount of text matched not including the EOB char. */ 3862 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 3863 3864 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 3865 *yy_cp = (yy_hold_char); 3866 YY_RESTORE_YY_MORE_OFFSET 3867 3868 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 3869 { 3870 /* We're scanning a new file or input source. It's 3871 * possible that this happened because the user 3872 * just pointed yyin at a new source and called 3873 * yylex(). If so, then we have to assure 3874 * consistency between YY_CURRENT_BUFFER and our 3875 * globals. Here is the right place to do so, because 3876 * this is the first action (other than possibly a 3877 * back-up) that will match for the new input source. 3878 */ 3879 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3880 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 3881 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 3882 } 3883 3884 /* Note that here we test for yy_c_buf_p "<=" to the position 3885 * of the first EOB in the buffer, since yy_c_buf_p will 3886 * already have been incremented past the NUL character 3887 * (since all states make transitions on EOB to the 3888 * end-of-buffer state). Contrast this with the test 3889 * in input(). 3890 */ 3891 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3892 { /* This was really a NUL. */ 3893 yy_state_type yy_next_state; 3894 3895 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 3896 3897 yy_current_state = yy_get_previous_state( ); 3898 3899 /* Okay, we're now positioned to make the NUL 3900 * transition. We couldn't have 3901 * yy_get_previous_state() go ahead and do it 3902 * for us because it doesn't know how to deal 3903 * with the possibility of jamming (and we don't 3904 * want to build jamming into it because then it 3905 * will run more slowly). 3906 */ 3907 3908 yy_next_state = yy_try_NUL_trans( yy_current_state ); 3909 3910 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3911 3912 if ( yy_next_state ) 3913 { 3914 /* Consume the NUL. */ 3915 yy_cp = ++(yy_c_buf_p); 3916 yy_current_state = yy_next_state; 3917 goto yy_match; 3918 } 3919 3920 else 3921 { 3922 yy_cp = (yy_c_buf_p); 3923 goto yy_find_action; 3924 } 3925 } 3926 3927 else switch ( yy_get_next_buffer( ) ) 3928 { 3929 case EOB_ACT_END_OF_FILE: 3930 { 3931 (yy_did_buffer_switch_on_eof) = 0; 3932 3933 if ( yywrap( ) ) 3934 { 3935 /* Note: because we've taken care in 3936 * yy_get_next_buffer() to have set up 3937 * yytext, we can now set up 3938 * yy_c_buf_p so that if some total 3939 * hoser (like flex itself) wants to 3940 * call the scanner after we return the 3941 * YY_NULL, it'll still work - another 3942 * YY_NULL will get returned. 3943 */ 3944 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 3945 3946 yy_act = YY_STATE_EOF(YY_START); 3947 goto do_action; 3948 } 3949 3950 else 3951 { 3952 if ( ! (yy_did_buffer_switch_on_eof) ) 3953 YY_NEW_FILE; 3954 } 3955 break; 3956 } 3957 3958 case EOB_ACT_CONTINUE_SCAN: 3959 (yy_c_buf_p) = 3960 (yytext_ptr) + yy_amount_of_matched_text; 3961 3962 yy_current_state = yy_get_previous_state( ); 3963 3964 yy_cp = (yy_c_buf_p); 3965 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3966 goto yy_match; 3967 3968 case EOB_ACT_LAST_MATCH: 3969 (yy_c_buf_p) = 3970 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 3971 3972 yy_current_state = yy_get_previous_state( ); 3973 3974 yy_cp = (yy_c_buf_p); 3975 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3976 goto yy_find_action; 3977 } 3978 break; 3979 } 3980 3981 default: 3982 YY_FATAL_ERROR( 3983 "fatal flex scanner internal error--no action found" ); 3984 } /* end of action switch */ 3985 } /* end of scanning one token */ 3986 } /* end of user's declarations */ 3987 } /* end of yylex */ 3988 3989 /* yy_get_next_buffer - try to read in a new buffer 3990 * 3991 * Returns a code representing an action: 3992 * EOB_ACT_LAST_MATCH - 3993 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 3994 * EOB_ACT_END_OF_FILE - end of file 3995 */ 3996 static int yy_get_next_buffer (void) 3997 { 3998 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 3999 char *source = (yytext_ptr); 4000 yy_size_t number_to_move, i; 4001 int ret_val; 4002 4003 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 4004 YY_FATAL_ERROR( 4005 "fatal flex scanner internal error--end of buffer missed" ); 4006 4007 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 4008 { /* Don't try to fill the buffer, so this is an EOF. */ 4009 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 4010 { 4011 /* We matched a single character, the EOB, so 4012 * treat this as a final EOF. 4013 */ 4014 return EOB_ACT_END_OF_FILE; 4015 } 4016 4017 else 4018 { 4019 /* We matched some text prior to the EOB, first 4020 * process it. 4021 */ 4022 return EOB_ACT_LAST_MATCH; 4023 } 4024 } 4025 4026 /* Try to read more data. */ 4027 4028 /* First move last chars to start of buffer. */ 4029 number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr) - 1); 4030 4031 for ( i = 0; i < number_to_move; ++i ) 4032 *(dest++) = *(source++); 4033 4034 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 4035 /* don't do the read, it's not guaranteed to return an EOF, 4036 * just force an EOF 4037 */ 4038 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 4039 4040 else 4041 { 4042 yy_size_t num_to_read = 4043 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 4044 4045 while ( num_to_read <= 0 ) 4046 { /* Not enough room in the buffer - grow it. */ 4047 4048 /* just a shorter name for the current buffer */ 4049 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; 4050 4051 int yy_c_buf_p_offset = 4052 (int) ((yy_c_buf_p) - b->yy_ch_buf); 4053 4054 if ( b->yy_is_our_buffer ) 4055 { 4056 yy_size_t new_size = b->yy_buf_size * 2; 4057 4058 if ( new_size <= 0 ) 4059 b->yy_buf_size += b->yy_buf_size / 8; 4060 else 4061 b->yy_buf_size *= 2; 4062 4063 b->yy_ch_buf = (char *) 4064 /* Include room in for 2 EOB chars. */ 4065 yyrealloc( (void *) b->yy_ch_buf, 4066 (yy_size_t) (b->yy_buf_size + 2) ); 4067 } 4068 else 4069 /* Can't grow it, we don't own it. */ 4070 b->yy_ch_buf = NULL; 4071 4072 if ( ! b->yy_ch_buf ) 4073 YY_FATAL_ERROR( 4074 "fatal error - scanner input buffer overflow" ); 4075 4076 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 4077 4078 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 4079 number_to_move - 1; 4080 4081 } 4082 4083 if ( num_to_read > YY_READ_BUF_SIZE ) 4084 num_to_read = YY_READ_BUF_SIZE; 4085 4086 /* Read in more data. */ 4087 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 4088 (yy_n_chars), num_to_read ); 4089 4090 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4091 } 4092 4093 if ( (yy_n_chars) == 0 ) 4094 { 4095 if ( number_to_move == YY_MORE_ADJ ) 4096 { 4097 ret_val = EOB_ACT_END_OF_FILE; 4098 yyrestart( yyin ); 4099 } 4100 4101 else 4102 { 4103 ret_val = EOB_ACT_LAST_MATCH; 4104 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 4105 YY_BUFFER_EOF_PENDING; 4106 } 4107 } 4108 4109 else 4110 ret_val = EOB_ACT_CONTINUE_SCAN; 4111 4112 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 4113 /* Extend the array by 50%, plus the number we really need. */ 4114 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 4115 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( 4116 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); 4117 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 4118 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 4119 } 4120 4121 (yy_n_chars) += number_to_move; 4122 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 4123 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 4124 4125 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 4126 4127 return ret_val; 4128 } 4129 4130 /* yy_get_previous_state - get the state just before the EOB char was reached */ 4131 4132 static yy_state_type yy_get_previous_state (void) 4133 { 4134 yy_state_type yy_current_state; 4135 char *yy_cp; 4136 4137 yy_current_state = (yy_start); 4138 yy_current_state += YY_AT_BOL(); 4139 4140 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 4141 { 4142 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 4143 if ( yy_accept[yy_current_state] ) 4144 { 4145 (yy_last_accepting_state) = yy_current_state; 4146 (yy_last_accepting_cpos) = yy_cp; 4147 } 4148 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 4149 { 4150 yy_current_state = (int) yy_def[yy_current_state]; 4151 if ( yy_current_state >= 1114 ) 4152 yy_c = yy_meta[yy_c]; 4153 } 4154 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 4155 } 4156 4157 return yy_current_state; 4158 } 4159 4160 /* yy_try_NUL_trans - try to make a transition on the NUL character 4161 * 4162 * synopsis 4163 * next_state = yy_try_NUL_trans( current_state ); 4164 */ 4165 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 4166 { 4167 int yy_is_jam; 4168 char *yy_cp = (yy_c_buf_p); 4169 4170 YY_CHAR yy_c = 1; 4171 if ( yy_accept[yy_current_state] ) 4172 { 4173 (yy_last_accepting_state) = yy_current_state; 4174 (yy_last_accepting_cpos) = yy_cp; 4175 } 4176 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 4177 { 4178 yy_current_state = (int) yy_def[yy_current_state]; 4179 if ( yy_current_state >= 1114 ) 4180 yy_c = yy_meta[yy_c]; 4181 } 4182 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 4183 yy_is_jam = (yy_current_state == 1113); 4184 4185 return yy_is_jam ? 0 : yy_current_state; 4186 } 4187 4188 #ifndef YY_NO_UNPUT 4189 4190 static void yyunput (int c, char * yy_bp ) 4191 { 4192 char *yy_cp; 4193 4194 yy_cp = (yy_c_buf_p); 4195 4196 /* undo effects of setting up yytext */ 4197 *yy_cp = (yy_hold_char); 4198 4199 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 4200 { /* need to shift things up to make room */ 4201 /* +2 for EOB chars. */ 4202 yy_size_t number_to_move = (yy_n_chars) + 2; 4203 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 4204 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 4205 char *source = 4206 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 4207 4208 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 4209 *--dest = *--source; 4210 4211 yy_cp += (int) (dest - source); 4212 yy_bp += (int) (dest - source); 4213 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 4214 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 4215 4216 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 4217 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 4218 } 4219 4220 *--yy_cp = (char) c; 4221 4222 (yytext_ptr) = yy_bp; 4223 (yy_hold_char) = *yy_cp; 4224 (yy_c_buf_p) = yy_cp; 4225 } 4226 4227 #endif 4228 4229 #ifndef YY_NO_INPUT 4230 #ifdef __cplusplus 4231 static int yyinput (void) 4232 #else 4233 static int input (void) 4234 #endif 4235 4236 { 4237 int c; 4238 4239 *(yy_c_buf_p) = (yy_hold_char); 4240 4241 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 4242 { 4243 /* yy_c_buf_p now points to the character we want to return. 4244 * If this occurs *before* the EOB characters, then it's a 4245 * valid NUL; if not, then we've hit the end of the buffer. 4246 */ 4247 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 4248 /* This was really a NUL. */ 4249 *(yy_c_buf_p) = '\0'; 4250 4251 else 4252 { /* need more input */ 4253 yy_size_t offset = (int) ((yy_c_buf_p) - (yytext_ptr)); 4254 ++(yy_c_buf_p); 4255 4256 switch ( yy_get_next_buffer( ) ) 4257 { 4258 case EOB_ACT_LAST_MATCH: 4259 /* This happens because yy_g_n_b() 4260 * sees that we've accumulated a 4261 * token and flags that we need to 4262 * try matching the token before 4263 * proceeding. But for input(), 4264 * there's no matching to consider. 4265 * So convert the EOB_ACT_LAST_MATCH 4266 * to EOB_ACT_END_OF_FILE. 4267 */ 4268 4269 /* Reset buffer status. */ 4270 yyrestart( yyin ); 4271 4272 /*FALLTHROUGH*/ 4273 4274 case EOB_ACT_END_OF_FILE: 4275 { 4276 if ( yywrap( ) ) 4277 return 0; 4278 4279 if ( ! (yy_did_buffer_switch_on_eof) ) 4280 YY_NEW_FILE; 4281 #ifdef __cplusplus 4282 return yyinput(); 4283 #else 4284 return input(); 4285 #endif 4286 } 4287 4288 case EOB_ACT_CONTINUE_SCAN: 4289 (yy_c_buf_p) = (yytext_ptr) + offset; 4290 break; 4291 } 4292 } 4293 } 4294 4295 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 4296 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 4297 (yy_hold_char) = *++(yy_c_buf_p); 4298 4299 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); 4300 4301 return c; 4302 } 4303 #endif /* ifndef YY_NO_INPUT */ 4304 4305 /** Immediately switch to a different input stream. 4306 * @param input_file A readable stream. 4307 * 4308 * @note This function does not reset the start condition to @c INITIAL . 4309 */ 4310 void yyrestart (FILE * input_file ) 4311 { 4312 4313 if ( ! YY_CURRENT_BUFFER ){ 4314 yyensure_buffer_stack (); 4315 YY_CURRENT_BUFFER_LVALUE = 4316 yy_create_buffer( yyin, YY_BUF_SIZE ); 4317 } 4318 4319 yy_init_buffer( YY_CURRENT_BUFFER, input_file ); 4320 yy_load_buffer_state( ); 4321 } 4322 4323 /** Switch to a different input buffer. 4324 * @param new_buffer The new input buffer. 4325 * 4326 */ 4327 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 4328 { 4329 4330 /* TODO. We should be able to replace this entire function body 4331 * with 4332 * yypop_buffer_state(); 4333 * yypush_buffer_state(new_buffer); 4334 */ 4335 yyensure_buffer_stack (); 4336 if ( YY_CURRENT_BUFFER == new_buffer ) 4337 return; 4338 4339 if ( YY_CURRENT_BUFFER ) 4340 { 4341 /* Flush out information for old buffer. */ 4342 *(yy_c_buf_p) = (yy_hold_char); 4343 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4344 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4345 } 4346 4347 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4348 yy_load_buffer_state( ); 4349 4350 /* We don't actually know whether we did this switch during 4351 * EOF (yywrap()) processing, but the only time this flag 4352 * is looked at is after yywrap() is called, so it's safe 4353 * to go ahead and always set it. 4354 */ 4355 (yy_did_buffer_switch_on_eof) = 1; 4356 } 4357 4358 static void yy_load_buffer_state (void) 4359 { 4360 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 4361 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 4362 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 4363 (yy_hold_char) = *(yy_c_buf_p); 4364 } 4365 4366 /** Allocate and initialize an input buffer state. 4367 * @param file A readable stream. 4368 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 4369 * 4370 * @return the allocated buffer state. 4371 */ 4372 YY_BUFFER_STATE yy_create_buffer (FILE * file, yy_size_t size ) 4373 { 4374 YY_BUFFER_STATE b; 4375 4376 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 4377 if ( ! b ) 4378 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 4379 4380 b->yy_buf_size = size; 4381 4382 /* yy_ch_buf has to be 2 characters longer than the size given because 4383 * we need to put in 2 end-of-buffer characters. 4384 */ 4385 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); 4386 if ( ! b->yy_ch_buf ) 4387 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 4388 4389 b->yy_is_our_buffer = 1; 4390 4391 yy_init_buffer( b, file ); 4392 4393 return b; 4394 } 4395 4396 /** Destroy the buffer. 4397 * @param b a buffer created with yy_create_buffer() 4398 * 4399 */ 4400 void yy_delete_buffer (YY_BUFFER_STATE b ) 4401 { 4402 4403 if ( ! b ) 4404 return; 4405 4406 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 4407 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 4408 4409 if ( b->yy_is_our_buffer ) 4410 yyfree( (void *) b->yy_ch_buf ); 4411 4412 yyfree( (void *) b ); 4413 } 4414 4415 /* Initializes or reinitializes a buffer. 4416 * This function is sometimes called more than once on the same buffer, 4417 * such as during a yyrestart() or at EOF. 4418 */ 4419 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 4420 4421 { 4422 int oerrno = errno; 4423 4424 yy_flush_buffer( b ); 4425 4426 b->yy_input_file = file; 4427 b->yy_fill_buffer = 1; 4428 4429 /* If b is the current buffer, then yy_init_buffer was _probably_ 4430 * called from yyrestart() or through yy_get_next_buffer. 4431 * In that case, we don't want to reset the lineno or column. 4432 */ 4433 if (b != YY_CURRENT_BUFFER){ 4434 b->yy_bs_lineno = 1; 4435 b->yy_bs_column = 0; 4436 } 4437 4438 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 4439 4440 errno = oerrno; 4441 } 4442 4443 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 4444 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 4445 * 4446 */ 4447 void yy_flush_buffer (YY_BUFFER_STATE b ) 4448 { 4449 if ( ! b ) 4450 return; 4451 4452 b->yy_n_chars = 0; 4453 4454 /* We always need two end-of-buffer characters. The first causes 4455 * a transition to the end-of-buffer state. The second causes 4456 * a jam in that state. 4457 */ 4458 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 4459 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 4460 4461 b->yy_buf_pos = &b->yy_ch_buf[0]; 4462 4463 b->yy_at_bol = 1; 4464 b->yy_buffer_status = YY_BUFFER_NEW; 4465 4466 if ( b == YY_CURRENT_BUFFER ) 4467 yy_load_buffer_state( ); 4468 } 4469 4470 /** Pushes the new state onto the stack. The new state becomes 4471 * the current state. This function will allocate the stack 4472 * if necessary. 4473 * @param new_buffer The new state. 4474 * 4475 */ 4476 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 4477 { 4478 if (new_buffer == NULL) 4479 return; 4480 4481 yyensure_buffer_stack(); 4482 4483 /* This block is copied from yy_switch_to_buffer. */ 4484 if ( YY_CURRENT_BUFFER ) 4485 { 4486 /* Flush out information for old buffer. */ 4487 *(yy_c_buf_p) = (yy_hold_char); 4488 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4489 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4490 } 4491 4492 /* Only push if top exists. Otherwise, replace top. */ 4493 if (YY_CURRENT_BUFFER) 4494 (yy_buffer_stack_top)++; 4495 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4496 4497 /* copied from yy_switch_to_buffer. */ 4498 yy_load_buffer_state( ); 4499 (yy_did_buffer_switch_on_eof) = 1; 4500 } 4501 4502 /** Removes and deletes the top of the stack, if present. 4503 * The next element becomes the new top. 4504 * 4505 */ 4506 void yypop_buffer_state (void) 4507 { 4508 if (!YY_CURRENT_BUFFER) 4509 return; 4510 4511 yy_delete_buffer(YY_CURRENT_BUFFER ); 4512 YY_CURRENT_BUFFER_LVALUE = NULL; 4513 if ((yy_buffer_stack_top) > 0) 4514 --(yy_buffer_stack_top); 4515 4516 if (YY_CURRENT_BUFFER) { 4517 yy_load_buffer_state( ); 4518 (yy_did_buffer_switch_on_eof) = 1; 4519 } 4520 } 4521 4522 /* Allocates the stack if it does not exist. 4523 * Guarantees space for at least one push. 4524 */ 4525 static void yyensure_buffer_stack (void) 4526 { 4527 yy_size_t num_to_alloc; 4528 4529 if (!(yy_buffer_stack)) { 4530 4531 /* First allocation is just for 2 elements, since we don't know if this 4532 * scanner will even need a stack. We use 2 instead of 1 to avoid an 4533 * immediate realloc on the next call. 4534 */ 4535 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ 4536 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 4537 (num_to_alloc * sizeof(struct yy_buffer_state*) 4538 ); 4539 if ( ! (yy_buffer_stack) ) 4540 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 4541 4542 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 4543 4544 (yy_buffer_stack_max) = num_to_alloc; 4545 (yy_buffer_stack_top) = 0; 4546 return; 4547 } 4548 4549 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 4550 4551 /* Increase the buffer to prepare for a possible push. */ 4552 yy_size_t grow_size = 8 /* arbitrary grow size */; 4553 4554 num_to_alloc = (yy_buffer_stack_max) + grow_size; 4555 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 4556 ((yy_buffer_stack), 4557 num_to_alloc * sizeof(struct yy_buffer_state*) 4558 ); 4559 if ( ! (yy_buffer_stack) ) 4560 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 4561 4562 /* zero only the new slots.*/ 4563 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 4564 (yy_buffer_stack_max) = num_to_alloc; 4565 } 4566 } 4567 4568 /** Setup the input buffer state to scan directly from a user-specified character buffer. 4569 * @param base the character buffer 4570 * @param size the size in bytes of the character buffer 4571 * 4572 * @return the newly allocated buffer state object. 4573 */ 4574 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 4575 { 4576 YY_BUFFER_STATE b; 4577 4578 if ( size < 2 || 4579 base[size-2] != YY_END_OF_BUFFER_CHAR || 4580 base[size-1] != YY_END_OF_BUFFER_CHAR ) 4581 /* They forgot to leave room for the EOB's. */ 4582 return NULL; 4583 4584 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 4585 if ( ! b ) 4586 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 4587 4588 b->yy_buf_size = (size - 2); /* "- 2" to take care of EOB's */ 4589 b->yy_buf_pos = b->yy_ch_buf = base; 4590 b->yy_is_our_buffer = 0; 4591 b->yy_input_file = NULL; 4592 b->yy_n_chars = b->yy_buf_size; 4593 b->yy_is_interactive = 0; 4594 b->yy_at_bol = 1; 4595 b->yy_fill_buffer = 0; 4596 b->yy_buffer_status = YY_BUFFER_NEW; 4597 4598 yy_switch_to_buffer( b ); 4599 4600 return b; 4601 } 4602 4603 /** Setup the input buffer state to scan a string. The next call to yylex() will 4604 * scan from a @e copy of @a str. 4605 * @param yystr a NUL-terminated string to scan 4606 * 4607 * @return the newly allocated buffer state object. 4608 * @note If you want to scan bytes that may contain NUL values, then use 4609 * yy_scan_bytes() instead. 4610 */ 4611 YY_BUFFER_STATE yy_scan_string (const char * yystr ) 4612 { 4613 4614 return yy_scan_bytes( yystr, strlen(yystr) ); 4615 } 4616 4617 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will 4618 * scan from a @e copy of @a bytes. 4619 * @param yybytes the byte buffer to scan 4620 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 4621 * 4622 * @return the newly allocated buffer state object. 4623 */ 4624 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, yy_size_t _yybytes_len ) 4625 { 4626 YY_BUFFER_STATE b; 4627 char *buf; 4628 yy_size_t n; 4629 yy_size_t i; 4630 4631 /* Get memory for full buffer, including space for trailing EOB's. */ 4632 n = (yy_size_t) (_yybytes_len + 2); 4633 buf = (char *) yyalloc( n ); 4634 if ( ! buf ) 4635 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 4636 4637 for ( i = 0; i < _yybytes_len; ++i ) 4638 buf[i] = yybytes[i]; 4639 4640 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 4641 4642 b = yy_scan_buffer( buf, n ); 4643 if ( ! b ) 4644 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 4645 4646 /* It's okay to grow etc. this buffer, and we should throw it 4647 * away when we're done. 4648 */ 4649 b->yy_is_our_buffer = 1; 4650 4651 return b; 4652 } 4653 4654 static void yy_push_state (int _new_state ) 4655 { 4656 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) 4657 { 4658 yy_size_t new_size; 4659 4660 (yy_start_stack_depth) += YY_START_STACK_INCR; 4661 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int ); 4662 4663 if ( ! (yy_start_stack) ) 4664 (yy_start_stack) = (int *) yyalloc( new_size ); 4665 4666 else 4667 (yy_start_stack) = (int *) yyrealloc( 4668 (void *) (yy_start_stack), new_size ); 4669 4670 if ( ! (yy_start_stack) ) 4671 YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); 4672 } 4673 4674 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; 4675 4676 BEGIN(_new_state); 4677 } 4678 4679 static void yy_pop_state (void) 4680 { 4681 if ( --(yy_start_stack_ptr) < 0 ) 4682 YY_FATAL_ERROR( "start-condition stack underflow" ); 4683 4684 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); 4685 } 4686 4687 #ifndef YY_EXIT_FAILURE 4688 #define YY_EXIT_FAILURE 2 4689 #endif 4690 4691 static void yynoreturn yy_fatal_error (const char* msg ) 4692 { 4693 (void) fprintf( stderr, "%s\n", msg ); 4694 exit( YY_EXIT_FAILURE ); 4695 } 4696 4697 /* Redefine yyless() so it works in section 3 code. */ 4698 4699 #undef yyless 4700 #define yyless(n) \ 4701 do \ 4702 { \ 4703 /* Undo effects of setting up yytext. */ \ 4704 int yyless_macro_arg = (n); \ 4705 YY_LESS_LINENO(yyless_macro_arg);\ 4706 yytext[yyleng] = (yy_hold_char); \ 4707 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 4708 (yy_hold_char) = *(yy_c_buf_p); \ 4709 *(yy_c_buf_p) = '\0'; \ 4710 yyleng = yyless_macro_arg; \ 4711 } \ 4712 while ( 0 ) 4713 4714 /* Accessor methods (get/set functions) to struct members. */ 4715 4716 /** Get the current line number. 4717 * 4718 */ 4719 int yyget_lineno (void) 4720 { 4721 4722 return yylineno; 4723 } 4724 4725 /** Get the input stream. 4726 * 4727 */ 4728 FILE *yyget_in (void) 4729 { 4730 return yyin; 4731 } 4732 4733 /** Get the output stream. 4734 * 4735 */ 4736 FILE *yyget_out (void) 4737 { 4738 return yyout; 4739 } 4740 4741 /** Get the length of the current token. 4742 * 4743 */ 4744 yy_size_t yyget_leng (void) 4745 { 4746 return yyleng; 4747 } 4748 4749 /** Get the current token. 4750 * 4751 */ 4752 4753 char *yyget_text (void) 4754 { 4755 return yytext; 4756 } 4757 4758 /** Set the current line number. 4759 * @param _line_number line number 4760 * 4761 */ 4762 void yyset_lineno (int _line_number ) 4763 { 4764 4765 yylineno = _line_number; 4766 } 4767 4768 /** Set the input stream. This does not discard the current 4769 * input buffer. 4770 * @param _in_str A readable stream. 4771 * 4772 * @see yy_switch_to_buffer 4773 */ 4774 void yyset_in (FILE * _in_str ) 4775 { 4776 yyin = _in_str ; 4777 } 4778 4779 void yyset_out (FILE * _out_str ) 4780 { 4781 yyout = _out_str ; 4782 } 4783 4784 int yyget_debug (void) 4785 { 4786 return yy_flex_debug; 4787 } 4788 4789 void yyset_debug (int _bdebug ) 4790 { 4791 yy_flex_debug = _bdebug ; 4792 } 4793 4794 static int yy_init_globals (void) 4795 { 4796 /* Initialization is the same as for the non-reentrant scanner. 4797 * This function is called from yylex_destroy(), so don't allocate here. 4798 */ 4799 4800 (yy_buffer_stack) = NULL; 4801 (yy_buffer_stack_top) = 0; 4802 (yy_buffer_stack_max) = 0; 4803 (yy_c_buf_p) = NULL; 4804 (yy_init) = 0; 4805 (yy_start) = 0; 4806 4807 (yy_start_stack_ptr) = 0; 4808 (yy_start_stack_depth) = 0; 4809 (yy_start_stack) = NULL; 4810 4811 /* Defined in main.c */ 4812 #ifdef YY_STDINIT 4813 yyin = stdin; 4814 yyout = stdout; 4815 #else 4816 yyin = NULL; 4817 yyout = NULL; 4818 #endif 4819 4820 /* For future reference: Set errno on error, since we are called by 4821 * yylex_init() 4822 */ 4823 return 0; 4824 } 4825 4826 /* yylex_destroy is for both reentrant and non-reentrant scanners. */ 4827 int yylex_destroy (void) 4828 { 4829 4830 /* Pop the buffer stack, destroying each element. */ 4831 while(YY_CURRENT_BUFFER){ 4832 yy_delete_buffer( YY_CURRENT_BUFFER ); 4833 YY_CURRENT_BUFFER_LVALUE = NULL; 4834 yypop_buffer_state(); 4835 } 4836 4837 /* Destroy the stack itself. */ 4838 yyfree((yy_buffer_stack) ); 4839 (yy_buffer_stack) = NULL; 4840 4841 /* Destroy the start condition stack. */ 4842 yyfree( (yy_start_stack) ); 4843 (yy_start_stack) = NULL; 4844 4845 /* Reset the globals. This is important in a non-reentrant scanner so the next time 4846 * yylex() is called, initialization will occur. */ 4847 yy_init_globals( ); 4848 4849 return 0; 4850 } 4851 4852 /* 4853 * Internal utility routines. 4854 */ 4855 4856 #ifndef yytext_ptr 4857 static void yy_flex_strncpy (char* s1, const char * s2, int n ) 4858 { 4859 4860 int i; 4861 for ( i = 0; i < n; ++i ) 4862 s1[i] = s2[i]; 4863 } 4864 #endif 4865 4866 #ifdef YY_NEED_STRLEN 4867 static int yy_flex_strlen (const char * s ) 4868 { 4869 int n; 4870 for ( n = 0; s[n]; ++n ) 4871 ; 4872 4873 return n; 4874 } 4875 #endif 4876 4877 void *yyalloc (yy_size_t size ) 4878 { 4879 return malloc(size); 4880 } 4881 4882 void *yyrealloc (void * ptr, yy_size_t size ) 4883 { 4884 4885 /* The cast to (char *) in the following accommodates both 4886 * implementations that use char* generic pointers, and those 4887 * that use void* generic pointers. It works with the latter 4888 * because both ANSI C and C++ allow castless assignment from 4889 * any pointer type to void*, and deal with argument conversions 4890 * as though doing an assignment. 4891 */ 4892 return realloc(ptr, size); 4893 } 4894 4895 void yyfree (void * ptr ) 4896 { 4897 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 4898 } 4899 4900 #define YYTABLES_NAME "yytables" 4901 4902 int yywrap(void) 4903 { 4904 if ( --num_input_files > 0 ) 4905 { 4906 set_input_file( *++input_files ); 4907 return 0; 4908 } 4909 4910 else 4911 return 1; 4912 } 4913 4914 /* set_input_file - open the given file (if NULL, stdin) for scanning */ 4915 4916 void set_input_file( char *file ) 4917 { 4918 if ( file && strcmp( file, "-" ) ) 4919 { 4920 infilename = xstrdup(file); 4921 yyin = fopen( infilename, "r" ); 4922 4923 if ( yyin == NULL ) 4924 lerr( _( "can't open %s" ), file ); 4925 } 4926 4927 else 4928 { 4929 yyin = stdin; 4930 infilename = xstrdup("<stdin>"); 4931 } 4932 4933 linenum = 1; 4934 } 4935 4936