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