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