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