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