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