1 /* A Bison parser, made by GNU Bison 3.0. */ 2 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 /* As a special exception, you may create a larger work that contains 21 part or all of the Bison parser skeleton and distribute that work 22 under terms of your choice, so long as that work isn't itself a 23 parser generator using the skeleton or a modified version thereof 24 as a parser skeleton. Alternatively, if you modify or redistribute 25 the parser skeleton itself, you may (at your option) remove this 26 special exception, which will cause the skeleton and the resulting 27 Bison output files to be licensed under the GNU General Public 28 License without this special exception. 29 30 This special exception was added by the Free Software Foundation in 31 version 2.2 of Bison. */ 32 33 /* C LALR(1) parser skeleton written by Richard Stallman, by 34 simplifying the original so-called "semantic" parser. */ 35 36 /* All symbols defined below should begin with yy or YY, to avoid 37 infringing on user name space. This should be done even for local 38 variables, as they might otherwise be expanded by user macros. 39 There are some unavoidable exceptions within include files to 40 define necessary library symbols; they are noted "INFRINGES ON 41 USER NAME SPACE" below. */ 42 43 /* Identify Bison output. */ 44 #define YYBISON 1 45 46 /* Bison version. */ 47 #define YYBISON_VERSION "3.0" 48 49 /* Skeleton name. */ 50 #define YYSKELETON_NAME "yacc.c" 51 52 /* Pure parsers. */ 53 #define YYPURE 0 54 55 /* Push parsers. */ 56 #define YYPUSH 0 57 58 /* Pull parsers. */ 59 #define YYPULL 1 60 61 62 63 64 /* Copy the first part of user declarations. */ 65 #line 22 "ldgram.y" /* yacc.c:339 */ 66 67 /* 68 69 */ 70 71 #define DONTDECLARE_MALLOC 72 73 #include "sysdep.h" 74 #include "bfd.h" 75 #include "bfdlink.h" 76 #include "ld.h" 77 #include "ldexp.h" 78 #include "ldver.h" 79 #include "ldlang.h" 80 #include "ldfile.h" 81 #include "ldemul.h" 82 #include "ldmisc.h" 83 #include "ldmain.h" 84 #include "mri.h" 85 #include "ldctor.h" 86 #include "ldlex.h" 87 88 #ifndef YYDEBUG 89 #define YYDEBUG 1 90 #endif 91 92 static enum section_type sectype; 93 static lang_memory_region_type *region; 94 95 bfd_boolean ldgram_had_keep = FALSE; 96 char *ldgram_vers_current_lang = NULL; 97 98 #define ERROR_NAME_MAX 20 99 static char *error_names[ERROR_NAME_MAX]; 100 static int error_index; 101 #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++; 102 #define POP_ERROR() error_index--; 103 104 #line 105 "ldgram.c" /* yacc.c:339 */ 105 106 # ifndef YY_NULL 107 # if defined __cplusplus && 201103L <= __cplusplus 108 # define YY_NULL nullptr 109 # else 110 # define YY_NULL 0 111 # endif 112 # endif 113 114 /* Enabling verbose error messages. */ 115 #ifdef YYERROR_VERBOSE 116 # undef YYERROR_VERBOSE 117 # define YYERROR_VERBOSE 1 118 #else 119 # define YYERROR_VERBOSE 0 120 #endif 121 122 /* In a future release of Bison, this section will be replaced 123 by #include "y.tab.h". */ 124 #ifndef YY_YY_LDGRAM_H_INCLUDED 125 # define YY_YY_LDGRAM_H_INCLUDED 126 /* Debug traces. */ 127 #ifndef YYDEBUG 128 # define YYDEBUG 0 129 #endif 130 #if YYDEBUG 131 extern int yydebug; 132 #endif 133 134 /* Token type. */ 135 #ifndef YYTOKENTYPE 136 # define YYTOKENTYPE 137 enum yytokentype 138 { 139 INT = 258, 140 NAME = 259, 141 LNAME = 260, 142 PLUSEQ = 261, 143 MINUSEQ = 262, 144 MULTEQ = 263, 145 DIVEQ = 264, 146 LSHIFTEQ = 265, 147 RSHIFTEQ = 266, 148 ANDEQ = 267, 149 OREQ = 268, 150 OROR = 269, 151 ANDAND = 270, 152 EQ = 271, 153 NE = 272, 154 LE = 273, 155 GE = 274, 156 LSHIFT = 275, 157 RSHIFT = 276, 158 UNARY = 277, 159 END = 278, 160 ALIGN_K = 279, 161 BLOCK = 280, 162 BIND = 281, 163 QUAD = 282, 164 SQUAD = 283, 165 LONG = 284, 166 SHORT = 285, 167 BYTE = 286, 168 SECTIONS = 287, 169 PHDRS = 288, 170 INSERT_K = 289, 171 AFTER = 290, 172 BEFORE = 291, 173 DATA_SEGMENT_ALIGN = 292, 174 DATA_SEGMENT_RELRO_END = 293, 175 DATA_SEGMENT_END = 294, 176 SORT_BY_NAME = 295, 177 SORT_BY_ALIGNMENT = 296, 178 SORT_NONE = 297, 179 SORT_BY_INIT_PRIORITY = 298, 180 SIZEOF_HEADERS = 299, 181 OUTPUT_FORMAT = 300, 182 FORCE_COMMON_ALLOCATION = 301, 183 OUTPUT_ARCH = 302, 184 INHIBIT_COMMON_ALLOCATION = 303, 185 SEGMENT_START = 304, 186 INCLUDE = 305, 187 MEMORY = 306, 188 REGION_ALIAS = 307, 189 LD_FEATURE = 308, 190 NOLOAD = 309, 191 DSECT = 310, 192 COPY = 311, 193 INFO = 312, 194 OVERLAY = 313, 195 DEFINED = 314, 196 TARGET_K = 315, 197 SEARCH_DIR = 316, 198 MAP = 317, 199 ENTRY = 318, 200 NEXT = 319, 201 SIZEOF = 320, 202 ALIGNOF = 321, 203 ADDR = 322, 204 LOADADDR = 323, 205 MAX_K = 324, 206 MIN_K = 325, 207 STARTUP = 326, 208 HLL = 327, 209 SYSLIB = 328, 210 FLOAT = 329, 211 NOFLOAT = 330, 212 NOCROSSREFS = 331, 213 ORIGIN = 332, 214 FILL = 333, 215 LENGTH = 334, 216 CREATE_OBJECT_SYMBOLS = 335, 217 INPUT = 336, 218 GROUP = 337, 219 OUTPUT = 338, 220 CONSTRUCTORS = 339, 221 ALIGNMOD = 340, 222 AT = 341, 223 SUBALIGN = 342, 224 HIDDEN = 343, 225 PROVIDE = 344, 226 PROVIDE_HIDDEN = 345, 227 AS_NEEDED = 346, 228 CHIP = 347, 229 LIST = 348, 230 SECT = 349, 231 ABSOLUTE = 350, 232 LOAD = 351, 233 NEWLINE = 352, 234 ENDWORD = 353, 235 ORDER = 354, 236 NAMEWORD = 355, 237 ASSERT_K = 356, 238 LOG2CEIL = 357, 239 FORMAT = 358, 240 PUBLIC = 359, 241 DEFSYMEND = 360, 242 BASE = 361, 243 ALIAS = 362, 244 TRUNCATE = 363, 245 REL = 364, 246 INPUT_SCRIPT = 365, 247 INPUT_MRI_SCRIPT = 366, 248 INPUT_DEFSYM = 367, 249 CASE = 368, 250 EXTERN = 369, 251 START = 370, 252 VERS_TAG = 371, 253 VERS_IDENTIFIER = 372, 254 GLOBAL = 373, 255 LOCAL = 374, 256 VERSIONK = 375, 257 INPUT_VERSION_SCRIPT = 376, 258 KEEP = 377, 259 ONLY_IF_RO = 378, 260 ONLY_IF_RW = 379, 261 SPECIAL = 380, 262 INPUT_SECTION_FLAGS = 381, 263 ALIGN_WITH_INPUT = 382, 264 EXCLUDE_FILE = 383, 265 CONSTANT = 384, 266 INPUT_DYNAMIC_LIST = 385 267 }; 268 #endif 269 /* Tokens. */ 270 #define INT 258 271 #define NAME 259 272 #define LNAME 260 273 #define PLUSEQ 261 274 #define MINUSEQ 262 275 #define MULTEQ 263 276 #define DIVEQ 264 277 #define LSHIFTEQ 265 278 #define RSHIFTEQ 266 279 #define ANDEQ 267 280 #define OREQ 268 281 #define OROR 269 282 #define ANDAND 270 283 #define EQ 271 284 #define NE 272 285 #define LE 273 286 #define GE 274 287 #define LSHIFT 275 288 #define RSHIFT 276 289 #define UNARY 277 290 #define END 278 291 #define ALIGN_K 279 292 #define BLOCK 280 293 #define BIND 281 294 #define QUAD 282 295 #define SQUAD 283 296 #define LONG 284 297 #define SHORT 285 298 #define BYTE 286 299 #define SECTIONS 287 300 #define PHDRS 288 301 #define INSERT_K 289 302 #define AFTER 290 303 #define BEFORE 291 304 #define DATA_SEGMENT_ALIGN 292 305 #define DATA_SEGMENT_RELRO_END 293 306 #define DATA_SEGMENT_END 294 307 #define SORT_BY_NAME 295 308 #define SORT_BY_ALIGNMENT 296 309 #define SORT_NONE 297 310 #define SORT_BY_INIT_PRIORITY 298 311 #define SIZEOF_HEADERS 299 312 #define OUTPUT_FORMAT 300 313 #define FORCE_COMMON_ALLOCATION 301 314 #define OUTPUT_ARCH 302 315 #define INHIBIT_COMMON_ALLOCATION 303 316 #define SEGMENT_START 304 317 #define INCLUDE 305 318 #define MEMORY 306 319 #define REGION_ALIAS 307 320 #define LD_FEATURE 308 321 #define NOLOAD 309 322 #define DSECT 310 323 #define COPY 311 324 #define INFO 312 325 #define OVERLAY 313 326 #define DEFINED 314 327 #define TARGET_K 315 328 #define SEARCH_DIR 316 329 #define MAP 317 330 #define ENTRY 318 331 #define NEXT 319 332 #define SIZEOF 320 333 #define ALIGNOF 321 334 #define ADDR 322 335 #define LOADADDR 323 336 #define MAX_K 324 337 #define MIN_K 325 338 #define STARTUP 326 339 #define HLL 327 340 #define SYSLIB 328 341 #define FLOAT 329 342 #define NOFLOAT 330 343 #define NOCROSSREFS 331 344 #define ORIGIN 332 345 #define FILL 333 346 #define LENGTH 334 347 #define CREATE_OBJECT_SYMBOLS 335 348 #define INPUT 336 349 #define GROUP 337 350 #define OUTPUT 338 351 #define CONSTRUCTORS 339 352 #define ALIGNMOD 340 353 #define AT 341 354 #define SUBALIGN 342 355 #define HIDDEN 343 356 #define PROVIDE 344 357 #define PROVIDE_HIDDEN 345 358 #define AS_NEEDED 346 359 #define CHIP 347 360 #define LIST 348 361 #define SECT 349 362 #define ABSOLUTE 350 363 #define LOAD 351 364 #define NEWLINE 352 365 #define ENDWORD 353 366 #define ORDER 354 367 #define NAMEWORD 355 368 #define ASSERT_K 356 369 #define LOG2CEIL 357 370 #define FORMAT 358 371 #define PUBLIC 359 372 #define DEFSYMEND 360 373 #define BASE 361 374 #define ALIAS 362 375 #define TRUNCATE 363 376 #define REL 364 377 #define INPUT_SCRIPT 365 378 #define INPUT_MRI_SCRIPT 366 379 #define INPUT_DEFSYM 367 380 #define CASE 368 381 #define EXTERN 369 382 #define START 370 383 #define VERS_TAG 371 384 #define VERS_IDENTIFIER 372 385 #define GLOBAL 373 386 #define LOCAL 374 387 #define VERSIONK 375 388 #define INPUT_VERSION_SCRIPT 376 389 #define KEEP 377 390 #define ONLY_IF_RO 378 391 #define ONLY_IF_RW 379 392 #define SPECIAL 380 393 #define INPUT_SECTION_FLAGS 381 394 #define ALIGN_WITH_INPUT 382 395 #define EXCLUDE_FILE 383 396 #define CONSTANT 384 397 #define INPUT_DYNAMIC_LIST 385 398 399 /* Value type. */ 400 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 401 typedef union YYSTYPE YYSTYPE; 402 union YYSTYPE 403 { 404 #line 60 "ldgram.y" /* yacc.c:355 */ 405 406 bfd_vma integer; 407 struct big_int 408 { 409 bfd_vma integer; 410 char *str; 411 } bigint; 412 fill_type *fill; 413 char *name; 414 const char *cname; 415 struct wildcard_spec wildcard; 416 struct wildcard_list *wildcard_list; 417 struct name_list *name_list; 418 struct flag_info_list *flag_info_list; 419 struct flag_info *flag_info; 420 int token; 421 union etree_union *etree; 422 struct phdr_info 423 { 424 bfd_boolean filehdr; 425 bfd_boolean phdrs; 426 union etree_union *at; 427 union etree_union *flags; 428 } phdr; 429 struct lang_nocrossref *nocrossref; 430 struct lang_output_section_phdr_list *section_phdr; 431 struct bfd_elf_version_deps *deflist; 432 struct bfd_elf_version_expr *versyms; 433 struct bfd_elf_version_tree *versnode; 434 435 #line 436 "ldgram.c" /* yacc.c:355 */ 436 }; 437 # define YYSTYPE_IS_TRIVIAL 1 438 # define YYSTYPE_IS_DECLARED 1 439 #endif 440 441 442 extern YYSTYPE yylval; 443 444 int yyparse (void); 445 446 #endif /* !YY_YY_LDGRAM_H_INCLUDED */ 447 448 /* Copy the second part of user declarations. */ 449 450 #line 451 "ldgram.c" /* yacc.c:358 */ 451 452 #ifdef short 453 # undef short 454 #endif 455 456 #ifdef YYTYPE_UINT8 457 typedef YYTYPE_UINT8 yytype_uint8; 458 #else 459 typedef unsigned char yytype_uint8; 460 #endif 461 462 #ifdef YYTYPE_INT8 463 typedef YYTYPE_INT8 yytype_int8; 464 #else 465 typedef signed char yytype_int8; 466 #endif 467 468 #ifdef YYTYPE_UINT16 469 typedef YYTYPE_UINT16 yytype_uint16; 470 #else 471 typedef unsigned short int yytype_uint16; 472 #endif 473 474 #ifdef YYTYPE_INT16 475 typedef YYTYPE_INT16 yytype_int16; 476 #else 477 typedef short int yytype_int16; 478 #endif 479 480 #ifndef YYSIZE_T 481 # ifdef __SIZE_TYPE__ 482 # define YYSIZE_T __SIZE_TYPE__ 483 # elif defined size_t 484 # define YYSIZE_T size_t 485 # elif ! defined YYSIZE_T 486 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 487 # define YYSIZE_T size_t 488 # else 489 # define YYSIZE_T unsigned int 490 # endif 491 #endif 492 493 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 494 495 #ifndef YY_ 496 # if defined YYENABLE_NLS && YYENABLE_NLS 497 # if ENABLE_NLS 498 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 499 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 500 # endif 501 # endif 502 # ifndef YY_ 503 # define YY_(Msgid) Msgid 504 # endif 505 #endif 506 507 #ifndef __attribute__ 508 /* This feature is available in gcc versions 2.5 and later. */ 509 # if (! defined __GNUC__ || __GNUC__ < 2 \ 510 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) 511 # define __attribute__(Spec) /* empty */ 512 # endif 513 #endif 514 515 /* Suppress unused-variable warnings by "using" E. */ 516 #if ! defined lint || defined __GNUC__ 517 # define YYUSE(E) ((void) (E)) 518 #else 519 # define YYUSE(E) /* empty */ 520 #endif 521 522 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 523 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 524 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 525 _Pragma ("GCC diagnostic push") \ 526 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 527 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 528 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 529 _Pragma ("GCC diagnostic pop") 530 #else 531 # define YY_INITIAL_VALUE(Value) Value 532 #endif 533 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 534 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 535 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 536 #endif 537 #ifndef YY_INITIAL_VALUE 538 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 539 #endif 540 541 542 #if ! defined yyoverflow || YYERROR_VERBOSE 543 544 /* The parser invokes alloca or malloc; define the necessary symbols. */ 545 546 # ifdef YYSTACK_USE_ALLOCA 547 # if YYSTACK_USE_ALLOCA 548 # ifdef __GNUC__ 549 # define YYSTACK_ALLOC __builtin_alloca 550 # elif defined __BUILTIN_VA_ARG_INCR 551 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 552 # elif defined _AIX 553 # define YYSTACK_ALLOC __alloca 554 # elif defined _MSC_VER 555 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 556 # define alloca _alloca 557 # else 558 # define YYSTACK_ALLOC alloca 559 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 560 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 561 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 562 # ifndef EXIT_SUCCESS 563 # define EXIT_SUCCESS 0 564 # endif 565 # endif 566 # endif 567 # endif 568 # endif 569 570 # ifdef YYSTACK_ALLOC 571 /* Pacify GCC's 'empty if-body' warning. */ 572 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 573 # ifndef YYSTACK_ALLOC_MAXIMUM 574 /* The OS might guarantee only one guard page at the bottom of the stack, 575 and a page size can be as small as 4096 bytes. So we cannot safely 576 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 577 to allow for a few compiler-allocated temporary stack slots. */ 578 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 579 # endif 580 # else 581 # define YYSTACK_ALLOC YYMALLOC 582 # define YYSTACK_FREE YYFREE 583 # ifndef YYSTACK_ALLOC_MAXIMUM 584 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 585 # endif 586 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 587 && ! ((defined YYMALLOC || defined malloc) \ 588 && (defined YYFREE || defined free))) 589 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 590 # ifndef EXIT_SUCCESS 591 # define EXIT_SUCCESS 0 592 # endif 593 # endif 594 # ifndef YYMALLOC 595 # define YYMALLOC malloc 596 # if ! defined malloc && ! defined EXIT_SUCCESS 597 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 598 # endif 599 # endif 600 # ifndef YYFREE 601 # define YYFREE free 602 # if ! defined free && ! defined EXIT_SUCCESS 603 void free (void *); /* INFRINGES ON USER NAME SPACE */ 604 # endif 605 # endif 606 # endif 607 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 608 609 610 #if (! defined yyoverflow \ 611 && (! defined __cplusplus \ 612 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 613 614 /* A type that is properly aligned for any stack member. */ 615 union yyalloc 616 { 617 yytype_int16 yyss_alloc; 618 YYSTYPE yyvs_alloc; 619 }; 620 621 /* The size of the maximum gap between one aligned stack and the next. */ 622 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 623 624 /* The size of an array large to enough to hold all stacks, each with 625 N elements. */ 626 # define YYSTACK_BYTES(N) \ 627 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 628 + YYSTACK_GAP_MAXIMUM) 629 630 # define YYCOPY_NEEDED 1 631 632 /* Relocate STACK from its old location to the new one. The 633 local variables YYSIZE and YYSTACKSIZE give the old and new number of 634 elements in the stack, and YYPTR gives the new location of the 635 stack. Advance YYPTR to a properly aligned location for the next 636 stack. */ 637 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 638 do \ 639 { \ 640 YYSIZE_T yynewbytes; \ 641 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 642 Stack = &yyptr->Stack_alloc; \ 643 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 644 yyptr += yynewbytes / sizeof (*yyptr); \ 645 } \ 646 while (0) 647 648 #endif 649 650 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 651 /* Copy COUNT objects from SRC to DST. The source and destination do 652 not overlap. */ 653 # ifndef YYCOPY 654 # if defined __GNUC__ && 1 < __GNUC__ 655 # define YYCOPY(Dst, Src, Count) \ 656 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 657 # else 658 # define YYCOPY(Dst, Src, Count) \ 659 do \ 660 { \ 661 YYSIZE_T yyi; \ 662 for (yyi = 0; yyi < (Count); yyi++) \ 663 (Dst)[yyi] = (Src)[yyi]; \ 664 } \ 665 while (0) 666 # endif 667 # endif 668 #endif /* !YYCOPY_NEEDED */ 669 670 /* YYFINAL -- State number of the termination state. */ 671 #define YYFINAL 17 672 /* YYLAST -- Last index in YYTABLE. */ 673 #define YYLAST 1915 674 675 /* YYNTOKENS -- Number of terminals. */ 676 #define YYNTOKENS 154 677 /* YYNNTS -- Number of nonterminals. */ 678 #define YYNNTS 131 679 /* YYNRULES -- Number of rules. */ 680 #define YYNRULES 371 681 /* YYNSTATES -- Number of states. */ 682 #define YYNSTATES 805 683 684 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 685 by yylex, with out-of-bounds checking. */ 686 #define YYUNDEFTOK 2 687 #define YYMAXUTOK 385 688 689 #define YYTRANSLATE(YYX) \ 690 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 691 692 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 693 as returned by yylex, without out-of-bounds checking. */ 694 static const yytype_uint8 yytranslate[] = 695 { 696 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 697 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 698 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 699 2, 2, 2, 152, 2, 2, 2, 34, 21, 2, 700 37, 149, 32, 30, 147, 31, 2, 33, 2, 2, 701 2, 2, 2, 2, 2, 2, 2, 2, 16, 148, 702 24, 10, 25, 15, 2, 2, 2, 2, 2, 2, 703 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 704 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 705 2, 150, 2, 151, 20, 2, 2, 2, 2, 2, 706 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 707 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 708 2, 2, 2, 58, 19, 59, 153, 2, 2, 2, 709 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 710 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 711 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 712 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 713 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 714 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 715 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 716 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 717 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 718 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 719 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 720 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 721 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 722 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 723 18, 22, 23, 26, 27, 28, 29, 35, 36, 38, 724 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 725 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 726 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 727 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 728 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 729 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 730 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 731 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 732 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 733 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 734 141, 142, 143, 144, 145, 146 735 }; 736 737 #if YYDEBUG 738 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 739 static const yytype_uint16 yyrline[] = 740 { 741 0, 166, 166, 167, 168, 169, 170, 174, 178, 178, 742 188, 188, 201, 202, 206, 207, 208, 211, 214, 215, 743 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 744 236, 238, 239, 240, 242, 244, 246, 248, 250, 251, 745 253, 252, 256, 258, 262, 263, 264, 268, 270, 274, 746 276, 281, 282, 283, 288, 288, 293, 295, 297, 302, 747 302, 308, 309, 314, 315, 316, 317, 318, 319, 320, 748 321, 322, 323, 324, 326, 328, 330, 333, 335, 337, 749 339, 341, 343, 342, 346, 349, 348, 352, 356, 357, 750 359, 361, 363, 368, 368, 373, 376, 379, 382, 385, 751 388, 392, 391, 397, 396, 402, 401, 409, 413, 414, 752 415, 419, 421, 422, 422, 430, 434, 438, 445, 452, 753 459, 466, 473, 480, 487, 494, 501, 508, 515, 524, 754 542, 563, 576, 585, 596, 605, 616, 625, 634, 638, 755 647, 651, 659, 661, 660, 667, 668, 672, 673, 678, 756 683, 684, 689, 693, 693, 697, 696, 703, 704, 707, 757 709, 713, 715, 717, 719, 721, 726, 733, 735, 739, 758 741, 743, 745, 747, 749, 751, 753, 758, 758, 763, 759 767, 775, 779, 783, 791, 791, 795, 798, 798, 801, 760 802, 807, 806, 812, 811, 818, 826, 834, 835, 839, 761 840, 844, 846, 851, 856, 857, 862, 864, 870, 872, 762 874, 878, 880, 886, 889, 898, 909, 909, 915, 917, 763 919, 921, 923, 925, 928, 930, 932, 934, 936, 938, 764 940, 942, 944, 946, 948, 950, 952, 954, 956, 958, 765 960, 962, 964, 966, 968, 970, 973, 975, 977, 979, 766 981, 983, 985, 987, 989, 991, 993, 995, 1004, 1006, 767 1008, 1010, 1012, 1014, 1016, 1018, 1024, 1025, 1029, 1030, 768 1034, 1035, 1039, 1040, 1044, 1045, 1049, 1050, 1051, 1052, 769 1055, 1060, 1063, 1069, 1071, 1055, 1078, 1080, 1082, 1087, 770 1089, 1077, 1099, 1101, 1099, 1107, 1106, 1113, 1114, 1115, 771 1116, 1117, 1121, 1122, 1123, 1127, 1128, 1133, 1134, 1139, 772 1140, 1145, 1146, 1151, 1153, 1158, 1161, 1174, 1178, 1183, 773 1185, 1176, 1193, 1196, 1198, 1202, 1203, 1202, 1212, 1257, 774 1260, 1273, 1282, 1285, 1292, 1292, 1304, 1305, 1309, 1313, 775 1322, 1322, 1336, 1336, 1346, 1347, 1351, 1355, 1359, 1366, 776 1370, 1378, 1381, 1385, 1389, 1393, 1400, 1404, 1408, 1412, 777 1417, 1416, 1430, 1429, 1439, 1443, 1447, 1451, 1455, 1459, 778 1465, 1467 779 }; 780 #endif 781 782 #if YYDEBUG || YYERROR_VERBOSE || 0 783 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 784 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 785 static const char *const yytname[] = 786 { 787 "$end", "error", "$undefined", "INT", "NAME", "LNAME", "PLUSEQ", 788 "MINUSEQ", "MULTEQ", "DIVEQ", "'='", "LSHIFTEQ", "RSHIFTEQ", "ANDEQ", 789 "OREQ", "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQ", "NE", 790 "'<'", "'>'", "LE", "GE", "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'", 791 "'%'", "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND", "QUAD", 792 "SQUAD", "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS", "INSERT_K", 793 "AFTER", "BEFORE", "DATA_SEGMENT_ALIGN", "DATA_SEGMENT_RELRO_END", 794 "DATA_SEGMENT_END", "SORT_BY_NAME", "SORT_BY_ALIGNMENT", "SORT_NONE", 795 "SORT_BY_INIT_PRIORITY", "'{'", "'}'", "SIZEOF_HEADERS", "OUTPUT_FORMAT", 796 "FORCE_COMMON_ALLOCATION", "OUTPUT_ARCH", "INHIBIT_COMMON_ALLOCATION", 797 "SEGMENT_START", "INCLUDE", "MEMORY", "REGION_ALIAS", "LD_FEATURE", 798 "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "DEFINED", "TARGET_K", 799 "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF", "ALIGNOF", "ADDR", 800 "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL", "SYSLIB", "FLOAT", 801 "NOFLOAT", "NOCROSSREFS", "ORIGIN", "FILL", "LENGTH", 802 "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT", "CONSTRUCTORS", 803 "ALIGNMOD", "AT", "SUBALIGN", "HIDDEN", "PROVIDE", "PROVIDE_HIDDEN", 804 "AS_NEEDED", "CHIP", "LIST", "SECT", "ABSOLUTE", "LOAD", "NEWLINE", 805 "ENDWORD", "ORDER", "NAMEWORD", "ASSERT_K", "LOG2CEIL", "FORMAT", 806 "PUBLIC", "DEFSYMEND", "BASE", "ALIAS", "TRUNCATE", "REL", 807 "INPUT_SCRIPT", "INPUT_MRI_SCRIPT", "INPUT_DEFSYM", "CASE", "EXTERN", 808 "START", "VERS_TAG", "VERS_IDENTIFIER", "GLOBAL", "LOCAL", "VERSIONK", 809 "INPUT_VERSION_SCRIPT", "KEEP", "ONLY_IF_RO", "ONLY_IF_RW", "SPECIAL", 810 "INPUT_SECTION_FLAGS", "ALIGN_WITH_INPUT", "EXCLUDE_FILE", "CONSTANT", 811 "INPUT_DYNAMIC_LIST", "','", "';'", "')'", "'['", "']'", "'!'", "'~'", 812 "$accept", "file", "filename", "defsym_expr", "$@1", "mri_script_file", 813 "$@2", "mri_script_lines", "mri_script_command", "$@3", "ordernamelist", 814 "mri_load_name_list", "mri_abs_name_list", "casesymlist", 815 "extern_name_list", "$@4", "extern_name_list_body", "script_file", "$@5", 816 "ifile_list", "ifile_p1", "$@6", "$@7", "input_list", "$@8", 817 "input_list1", "@9", "@10", "@11", "sections", "sec_or_group_p1", 818 "statement_anywhere", "$@12", "wildcard_name", "wildcard_spec", 819 "sect_flag_list", "sect_flags", "exclude_name_list", "file_NAME_list", 820 "input_section_spec_no_keep", "input_section_spec", "$@13", "statement", 821 "$@14", "$@15", "statement_list", "statement_list_opt", "length", 822 "fill_exp", "fill_opt", "assign_op", "end", "assignment", "opt_comma", 823 "memory", "memory_spec_list_opt", "memory_spec_list", "memory_spec", 824 "$@16", "$@17", "origin_spec", "length_spec", "attributes_opt", 825 "attributes_list", "attributes_string", "startup", "high_level_library", 826 "high_level_library_NAME_list", "low_level_library", 827 "low_level_library_NAME_list", "floating_point_support", 828 "nocrossref_list", "mustbe_exp", "$@18", "exp", "memspec_at_opt", 829 "opt_at", "opt_align", "opt_align_with_input", "opt_subalign", 830 "sect_constraint", "section", "$@19", "$@20", "$@21", "$@22", "$@23", 831 "$@24", "$@25", "$@26", "$@27", "$@28", "$@29", "$@30", "$@31", "type", 832 "atype", "opt_exp_with_type", "opt_exp_without_type", "opt_nocrossrefs", 833 "memspec_opt", "phdr_opt", "overlay_section", "$@32", "$@33", "$@34", 834 "phdrs", "phdr_list", "phdr", "$@35", "$@36", "phdr_type", 835 "phdr_qualifiers", "phdr_val", "dynamic_list_file", "$@37", 836 "dynamic_list_nodes", "dynamic_list_node", "dynamic_list_tag", 837 "version_script_file", "$@38", "version", "$@39", "vers_nodes", 838 "vers_node", "verdep", "vers_tag", "vers_defns", "@40", "@41", 839 "opt_semicolon", YY_NULL 840 }; 841 #endif 842 843 # ifdef YYPRINT 844 /* YYTOKNUM[NUM] -- (External) token number corresponding to the 845 (internal) symbol number NUM (which must be that of a token). */ 846 static const yytype_uint16 yytoknum[] = 847 { 848 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 849 61, 265, 266, 267, 268, 63, 58, 269, 270, 124, 850 94, 38, 271, 272, 60, 62, 273, 274, 275, 276, 851 43, 45, 42, 47, 37, 277, 278, 40, 279, 280, 852 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 853 291, 292, 293, 294, 295, 296, 297, 298, 123, 125, 854 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 855 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 856 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 857 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 858 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 859 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 860 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 861 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 862 379, 380, 381, 382, 383, 384, 385, 44, 59, 41, 863 91, 93, 33, 126 864 }; 865 # endif 866 867 #define YYPACT_NINF -648 868 869 #define yypact_value_is_default(Yystate) \ 870 (!!((Yystate) == (-648))) 871 872 #define YYTABLE_NINF -343 873 874 #define yytable_value_is_error(Yytable_value) \ 875 0 876 877 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 878 STATE-NUM. */ 879 static const yytype_int16 yypact[] = 880 { 881 310, -648, -648, -648, -648, -648, 59, -648, -648, -648, 882 -648, -648, 62, -648, -11, -648, 23, -648, 856, 1654, 883 66, 219, 43, -11, -648, 234, 23, -648, 556, 60, 884 85, 76, 101, -648, 116, -648, 168, 134, 147, 188, 885 194, 211, 225, 229, 243, 253, 255, -648, -648, 272, 886 275, -648, 283, 285, 287, 288, -648, 290, -648, -648, 887 -648, -648, -1, -648, -648, -648, -648, -648, -648, -648, 888 193, -648, 327, 168, 328, 680, -648, 331, 333, 334, 889 -648, -648, 335, 336, 338, 680, 339, 344, 341, -648, 890 351, 249, 680, -648, 352, -648, 332, 347, 306, 222, 891 219, -648, -648, -648, 307, 244, -648, -648, -648, -648, 892 -648, -648, -648, -648, -648, -648, -648, -648, -648, 373, 893 379, 389, 397, -648, -648, 41, 398, 399, 400, 168, 894 168, 405, 168, 17, -648, 406, -648, 381, 168, 415, 895 420, 421, 390, -648, -648, -648, -648, 372, 9, -648, 896 29, -648, -648, 680, 680, 680, 394, 395, 396, 411, 897 422, -648, 424, 426, 428, 429, 432, 434, 435, 436, 898 438, 439, 440, 441, 442, 444, 445, 680, 680, 1463, 899 5, -648, 299, -648, 311, 28, -648, -648, 369, 1835, 900 337, -648, -648, 345, -648, 453, -648, -648, 1835, 425, 901 234, 234, 340, 241, 430, 346, 241, -648, 680, -648, 902 431, 45, -648, -648, -39, 350, -648, -648, 168, 437, 903 -6, -648, 348, 353, 354, 358, 359, 362, 366, -648, 904 -648, 93, 97, 30, 368, 370, 33, -648, 371, 475, 905 483, 490, 680, 377, -11, 680, 680, -648, 680, 680, 906 -648, -648, 864, 680, 680, 680, 680, 680, 497, 523, 907 680, 524, 526, 527, 528, 680, 680, 529, 530, 680, 908 680, 680, 534, -648, -648, 680, 680, 680, 680, 680, 909 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 910 680, 680, 680, 680, 680, 680, 680, 1835, 536, 537, 911 -648, 538, 680, 680, 1835, 185, 539, -648, 36, -648, 912 401, 402, -648, -648, 540, -648, -648, -648, -65, -648, 913 1835, 556, -648, 168, -648, -648, -648, -648, -648, -648, 914 -648, 541, -648, -648, 932, 510, -648, -648, -648, 41, 915 549, -648, -648, -648, -648, -648, -648, -648, 168, -648, 916 168, 406, -648, -648, -648, -648, -648, 517, 22, 407, 917 -648, -648, -648, -648, 1483, -648, -4, 1835, 1835, 1678, 918 1835, 1835, -648, 820, 1064, 1503, 1523, 1084, 410, 427, 919 1104, 433, 443, 446, 448, 1543, 1563, 459, 460, 1124, 920 1594, 1144, 461, 1795, 1852, 1044, 1867, 1881, 1177, 755, 921 755, 664, 664, 664, 664, 409, 409, 235, 235, -648, 922 -648, -648, 1835, 1835, 1835, -648, -648, -648, 1835, 1835, 923 -648, -648, -648, -648, 571, 234, 261, 241, 520, -648, 924 -648, -55, 521, -648, 596, 521, 680, 447, -648, 3, 925 561, 41, -648, 462, -648, -648, -648, -648, -648, -648, 926 542, 47, -648, 464, 466, 469, 576, -648, -648, 680, 927 -648, -648, 680, 680, -648, 680, -648, -648, -648, -648, 928 -648, -648, 680, 680, -648, -648, -648, 585, -648, -648, 929 680, -648, 471, 574, -648, -648, -648, 233, 554, 1706, 930 604, 535, -648, -648, 1815, 548, -648, 1835, 37, 617, 931 -648, 618, 12, -648, 557, 592, -648, 33, -648, -648, 932 -648, 593, -648, -648, -648, 480, 1164, 1197, 1217, 1237, 933 1257, 1277, 482, 1835, 241, 583, 234, 234, -648, -648, 934 -648, -648, -648, -648, 502, 680, 342, 637, -648, 620, 935 616, 519, -648, -648, 535, 597, 621, 622, -648, 511, 936 -648, -648, -648, 652, 516, -648, 92, 33, -648, -648, 937 -648, -648, -648, -648, -648, -648, -648, -648, 522, 471, 938 -648, 1297, -648, 680, 627, 525, -648, 562, -648, 680, 939 37, 680, 553, -648, -648, 572, -648, 126, 33, 241, 940 610, 218, 1330, 680, -648, 562, 635, -648, 1595, 1350, 941 -648, 1370, -648, -648, 665, -648, -648, 140, -648, 648, 942 672, -648, 1390, -648, 680, 632, -648, -648, 37, -648, 943 -648, 680, -648, -648, 156, 1410, -648, -648, -648, 1430, 944 -648, -648, -648, 645, -648, -648, 669, -648, 58, 692, 945 763, -648, -648, -648, 714, -648, -648, -648, -648, -648, 946 -648, -648, 675, 678, 693, 697, 168, 698, -648, -648, 947 -648, 699, 700, 701, -648, 245, -648, 702, 80, -648, 948 -648, -648, 763, 650, 705, -1, 685, 719, 326, 413, 949 67, 67, -648, -648, 710, -648, 746, 67, -648, 715, 950 -648, -27, 245, 716, 245, 717, -648, -648, -648, -648, 951 763, 752, 655, 721, 722, 619, 732, 623, 733, 734, 952 625, 628, 641, 763, 643, -648, 680, 18, -648, 2, 953 -648, 14, 279, -648, 245, 112, 75, 245, 719, 644, 954 735, -648, 751, -648, 67, 67, -648, 67, -648, 67, 955 67, -648, -648, -648, 760, -648, 1614, 651, 653, 795, 956 -648, 67, -648, -648, -648, -648, 129, 655, -648, -648, 957 797, 99, 654, 660, 16, 661, 662, -648, 808, -648, 958 -648, -648, -648, -648, -648, -648, -648, 809, -648, 666, 959 667, 67, 673, 674, 677, 99, 99, -648, -648, 516, 960 -648, -648, 679, -648, -648, -1, -648, -648, -648, -648, 961 -648, 516, 516, -648, -648 962 }; 963 964 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 965 Performed when YYTABLE does not specify something else to do. Zero 966 means the default is an error. */ 967 static const yytype_uint16 yydefact[] = 968 { 969 0, 59, 10, 8, 340, 334, 0, 2, 62, 3, 970 13, 6, 0, 4, 0, 5, 0, 1, 60, 11, 971 0, 351, 0, 341, 344, 0, 335, 336, 0, 0, 972 0, 0, 0, 79, 0, 80, 0, 0, 0, 0, 973 0, 0, 0, 0, 0, 0, 0, 211, 212, 0, 974 0, 82, 0, 0, 0, 0, 113, 0, 72, 61, 975 64, 70, 0, 63, 66, 67, 68, 69, 65, 71, 976 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 977 19, 46, 0, 0, 0, 0, 0, 0, 51, 54, 978 0, 0, 0, 357, 368, 356, 364, 366, 0, 0, 979 351, 345, 364, 366, 0, 0, 337, 169, 170, 171, 980 172, 216, 173, 174, 175, 176, 216, 110, 323, 0, 981 0, 0, 0, 7, 85, 188, 0, 0, 0, 0, 982 0, 0, 0, 0, 210, 213, 93, 0, 0, 0, 983 0, 0, 0, 54, 178, 177, 112, 0, 0, 40, 984 0, 244, 259, 0, 0, 0, 0, 0, 0, 0, 985 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 986 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 987 0, 49, 31, 47, 32, 18, 33, 23, 0, 36, 988 0, 37, 52, 38, 39, 0, 42, 12, 9, 0, 989 0, 0, 0, 352, 0, 0, 339, 179, 0, 180, 990 0, 0, 89, 90, 0, 0, 62, 191, 0, 0, 991 185, 190, 0, 0, 0, 0, 0, 0, 0, 205, 992 207, 185, 185, 213, 0, 0, 0, 93, 0, 0, 993 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 994 222, 218, 0, 0, 0, 0, 0, 0, 0, 0, 995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 996 0, 0, 0, 221, 223, 0, 0, 0, 0, 0, 997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 998 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 999 45, 0, 0, 0, 22, 0, 0, 56, 55, 362, 1000 0, 0, 346, 359, 369, 358, 365, 367, 0, 338, 1001 217, 280, 107, 0, 286, 292, 109, 108, 325, 322, 1002 324, 0, 76, 78, 342, 197, 193, 186, 184, 0, 1003 0, 92, 73, 74, 84, 111, 203, 204, 0, 208, 1004 0, 213, 214, 87, 81, 95, 98, 0, 94, 0, 1005 75, 216, 216, 216, 0, 88, 0, 27, 28, 43, 1006 29, 30, 219, 0, 0, 0, 0, 0, 0, 0, 1007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1008 0, 0, 0, 0, 242, 241, 239, 238, 237, 231, 1009 232, 235, 236, 233, 234, 229, 230, 227, 228, 224, 1010 225, 226, 15, 26, 24, 50, 48, 44, 20, 21, 1011 35, 34, 53, 57, 0, 0, 353, 354, 0, 349, 1012 347, 0, 303, 295, 0, 303, 0, 0, 86, 0, 1013 0, 188, 189, 0, 206, 209, 215, 101, 97, 100, 1014 0, 0, 83, 0, 0, 0, 0, 343, 41, 0, 1015 252, 258, 0, 0, 256, 0, 243, 220, 247, 246, 1016 248, 249, 0, 0, 263, 264, 251, 0, 265, 250, 1017 0, 58, 370, 367, 360, 350, 348, 0, 0, 303, 1018 0, 269, 110, 310, 0, 311, 293, 328, 329, 0, 1019 201, 0, 0, 199, 0, 0, 91, 0, 105, 96, 1020 99, 0, 181, 182, 183, 0, 0, 0, 0, 0, 1021 0, 0, 0, 240, 371, 0, 0, 0, 297, 298, 1022 299, 300, 301, 304, 0, 0, 0, 0, 306, 0, 1023 271, 0, 309, 312, 269, 0, 332, 0, 326, 0, 1024 202, 198, 200, 0, 185, 194, 0, 0, 103, 114, 1025 253, 254, 255, 257, 260, 261, 262, 363, 0, 370, 1026 302, 0, 305, 0, 0, 273, 296, 275, 110, 0, 1027 329, 0, 0, 77, 216, 0, 102, 0, 0, 355, 1028 0, 303, 0, 0, 272, 275, 0, 287, 0, 0, 1029 330, 0, 327, 195, 0, 192, 106, 0, 361, 0, 1030 0, 268, 0, 281, 0, 0, 294, 333, 329, 216, 1031 104, 0, 307, 270, 279, 0, 288, 331, 196, 0, 1032 276, 277, 278, 0, 274, 317, 303, 282, 0, 0, 1033 159, 318, 289, 308, 136, 117, 116, 161, 162, 163, 1034 164, 165, 0, 0, 0, 0, 0, 0, 146, 148, 1035 153, 0, 0, 0, 147, 0, 118, 0, 0, 142, 1036 150, 158, 160, 0, 0, 0, 0, 314, 0, 0, 1037 0, 0, 155, 216, 0, 143, 0, 0, 115, 0, 1038 135, 185, 0, 137, 0, 0, 157, 283, 216, 145, 1039 159, 0, 267, 0, 0, 0, 0, 0, 0, 0, 1040 0, 0, 0, 159, 0, 166, 0, 0, 129, 0, 1041 133, 0, 0, 138, 0, 185, 185, 0, 314, 0, 1042 0, 313, 0, 315, 0, 0, 149, 0, 120, 0, 1043 0, 121, 122, 128, 0, 152, 0, 115, 0, 0, 1044 131, 0, 132, 134, 140, 139, 185, 267, 151, 319, 1045 0, 168, 0, 0, 0, 0, 0, 156, 0, 144, 1046 130, 119, 141, 315, 315, 266, 216, 0, 290, 0, 1047 0, 0, 0, 0, 0, 168, 168, 167, 316, 185, 1048 124, 123, 0, 125, 126, 0, 284, 320, 291, 127, 1049 154, 185, 185, 285, 321 1050 }; 1051 1052 /* YYPGOTO[NTERM-NUM]. */ 1053 static const yytype_int16 yypgoto[] = 1054 { 1055 -648, -648, -69, -648, -648, -648, -648, 567, -648, -648, 1056 -648, -648, -648, -648, 681, -648, -648, -648, -648, 605, 1057 -648, -648, -648, 590, -648, -314, -648, -648, -648, -648, 1058 -467, -13, -648, -35, -436, -648, -648, 94, -600, 113, 1059 -648, -648, 162, -648, -648, -648, -581, -648, 79, -588, 1060 -648, -647, -390, -218, -648, 417, -648, 531, -648, -648, 1061 -648, -648, -648, -648, 360, -648, -648, -648, -648, -648, 1062 -648, -209, -110, -648, -75, 104, 292, -648, -648, 269, 1063 -648, -648, -648, -648, -648, -648, -648, -648, -648, -648, 1064 -648, -648, -648, -648, -648, -648, -477, 465, -648, -648, 1065 128, -539, -648, -648, -648, -648, -648, -648, -648, -648, 1066 -648, -648, -512, -648, -648, -648, -648, 839, -648, -648, 1067 -648, -648, -648, 629, -20, -648, 766, -14, -648, -648, 1068 302 1069 }; 1070 1071 /* YYDEFGOTO[NTERM-NUM]. */ 1072 static const yytype_int16 yydefgoto[] = 1073 { 1074 -1, 6, 124, 11, 12, 9, 10, 19, 91, 247, 1075 185, 184, 182, 193, 194, 195, 308, 7, 8, 18, 1076 59, 137, 216, 235, 236, 358, 507, 588, 557, 60, 1077 210, 326, 142, 666, 667, 719, 668, 721, 691, 669, 1078 670, 717, 671, 684, 713, 672, 673, 674, 714, 778, 1079 116, 146, 62, 724, 63, 219, 220, 221, 335, 441, 1080 554, 605, 440, 502, 503, 64, 65, 231, 66, 232, 1081 67, 234, 715, 208, 252, 733, 540, 575, 595, 597, 1082 633, 327, 432, 624, 640, 728, 801, 434, 615, 635, 1083 677, 789, 435, 545, 492, 534, 490, 491, 495, 544, 1084 702, 761, 638, 676, 774, 802, 68, 211, 330, 436, 1085 582, 498, 548, 580, 15, 16, 26, 27, 104, 13, 1086 14, 69, 70, 23, 24, 431, 98, 99, 527, 425, 1087 525 1088 }; 1089 1090 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1091 positive, shift that token. If negative, reduce the rule whose 1092 number is the opposite. If YYTABLE_NINF, syntax error. */ 1093 static const yytype_int16 yytable[] = 1094 { 1095 179, 207, 339, 101, 149, 61, 209, 500, 151, 152, 1096 189, 105, 537, 348, 350, 295, 500, 198, 688, 245, 1097 688, 123, 747, 749, 352, 541, 448, 449, 699, 645, 1098 -187, 645, 300, 645, 233, 153, 154, 355, 356, 248, 1099 423, 546, 155, 156, 157, 217, 646, 21, 646, 328, 1100 646, 509, 510, -187, 21, 457, 158, 159, 160, 17, 1101 225, 226, 641, 228, 230, 161, 20, 429, 600, 238, 1102 162, 688, 689, 653, 654, 655, 92, 485, 250, 251, 1103 163, 25, 645, 430, 693, 164, 165, 166, 167, 168, 1104 169, 170, 725, 486, 726, 645, 448, 449, 171, 646, 1105 172, 100, 273, 274, 329, 297, 627, 218, 331, 776, 1106 332, 598, 646, 304, 610, 777, 173, 642, 117, 730, 1107 338, 22, 174, 175, 723, 119, 120, 756, 22, 450, 1108 448, 449, 744, 320, 689, 653, 654, 655, 121, 547, 1109 357, 338, 446, 118, 448, 449, 144, 145, 800, 336, 1110 176, 750, 296, 122, 511, 501, 246, 177, 178, 639, 1111 662, 551, 663, 751, 501, 781, 229, 364, 665, 451, 1112 367, 368, 123, 370, 371, 301, 249, 351, 373, 374, 1113 375, 376, 377, 424, 126, 380, 310, 311, 420, 421, 1114 385, 386, 125, 556, 389, 390, 391, 796, 797, 450, 1115 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 1116 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 1117 413, 414, 338, 93, 663, 127, 755, 418, 419, 690, 1118 694, 128, 695, 450, 785, 786, 151, 152, 93, 451, 1119 338, 586, 347, 587, 338, 313, 349, 450, 129, 688, 1120 675, 453, 454, 455, 433, 536, 690, 609, 690, 338, 1121 645, 754, 130, 153, 154, 313, 131, 291, 292, 293, 1122 155, 156, 157, 451, 607, 606, 338, 646, 772, 444, 1123 132, 445, 675, 688, 158, 159, 160, 451, 753, 620, 1124 133, 690, 134, 161, 645, 630, 631, 632, 162, 689, 1125 653, 654, 655, 528, 529, 530, 531, 532, 163, 135, 1126 675, 646, 136, 164, 165, 166, 167, 168, 169, 170, 1127 138, 61, 139, 675, 140, 141, 171, 143, 172, 147, 1128 688, 148, 150, 703, 704, 180, 585, 181, 183, 186, 1129 187, 645, 188, 190, 173, 192, 101, 191, 200, 94, 1130 174, 175, 95, 96, 97, 196, 199, 489, 646, 494, 1131 489, 497, 197, 201, 94, 202, 205, 95, 102, 103, 1132 203, 314, 151, 152, 315, 316, 317, 212, 176, 302, 1133 703, 704, 533, 213, 516, 177, 178, 517, 518, 663, 1134 519, 314, 206, 214, 315, 316, 483, 520, 521, 153, 1135 154, 215, 222, 223, 224, 523, 155, 156, 157, 227, 1136 233, 482, 528, 529, 530, 531, 532, 688, 237, 239, 1137 158, 159, 160, 706, 240, 241, 705, 242, 645, 161, 1138 244, 253, 254, 255, 162, 321, 1, 2, 3, 289, 1139 290, 291, 292, 293, 163, 646, 298, 4, 256, 164, 1140 165, 166, 167, 168, 169, 170, 5, 307, 299, 257, 1141 571, 258, 171, 259, 172, 260, 261, 708, 709, 262, 1142 706, 263, 264, 265, 603, 266, 267, 268, 269, 270, 1143 173, 271, 272, 309, 305, 361, 174, 175, 312, 318, 1144 322, 533, 306, 362, 319, 340, 337, 323, 592, 333, 1145 363, 378, 341, 342, 599, 324, 601, 343, 344, 628, 1146 43, 345, 568, 569, 176, 346, 303, 353, 612, 354, 1147 360, 177, 178, 321, 151, 152, 365, 379, 381, 325, 1148 382, 383, 384, 387, 388, 53, 54, 55, 392, 625, 1149 415, 416, 417, 422, 428, 437, 629, 439, 56, 426, 1150 427, 153, 154, 443, 447, 576, 452, 465, 487, 156, 1151 157, 488, 107, 108, 109, 110, 111, 112, 113, 114, 1152 115, 798, 158, 159, 160, 481, 466, 504, 484, 508, 1153 515, 161, 468, 803, 804, 323, 162, 682, 729, 522, 1154 526, 535, 469, 324, 499, 470, 163, 471, 43, 151, 1155 152, 164, 165, 166, 167, 168, 169, 170, 474, 475, 1156 479, 506, 493, 512, 171, 513, 172, 325, 514, 524, 1157 538, 549, 550, 53, 54, 55, 153, 154, 555, 559, 1158 558, 566, 173, 155, 156, 157, 56, 539, 174, 175, 1159 543, 746, 567, 707, 710, 711, 712, 158, 159, 160, 1160 553, 570, 720, 572, 574, 578, 161, 573, 579, 581, 1161 583, 162, 584, 338, 593, 596, 176, 604, 594, 608, 1162 589, 163, 614, 177, 178, 619, 164, 165, 166, 167, 1163 168, 169, 170, 151, 152, 621, 752, 707, 622, 171, 1164 626, 172, 287, 288, 289, 290, 291, 292, 293, 762, 1165 763, 602, 720, 637, 765, 766, 536, 173, 643, 697, 1166 153, 154, 678, 174, 175, 679, 771, 155, 156, 157, 1167 107, 108, 109, 110, 111, 112, 113, 114, 115, 752, 1168 680, 158, 159, 160, 681, 683, 685, 686, 687, 692, 1169 161, 176, 698, 700, 701, 162, 792, 716, 177, 178, 1170 718, -115, 722, -115, 727, 163, 731, 732, 734, 735, 1171 164, 165, 166, 167, 168, 169, 170, 644, 736, 737, 1172 739, 740, 738, 171, 741, 172, 760, 742, 645, 283, 1173 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 1174 743, 173, 745, 758, 759, 646, 767, 174, 175, 770, 1175 -136, 775, 769, 779, 647, 648, 649, 650, 651, 780, 1176 782, 783, 784, 788, 369, 790, 791, 652, 653, 654, 1177 655, 334, 793, 794, 243, 176, 795, 359, 799, 656, 1178 748, 764, 177, 178, 696, 275, 577, 276, 277, 278, 1179 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1180 289, 290, 291, 292, 293, 787, 757, 657, 505, 658, 1181 28, 773, 552, 659, 613, 106, 204, 53, 54, 55, 1182 442, 590, 0, 366, 0, 0, 0, 0, 0, 275, 1183 660, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1184 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 1185 496, 661, 29, 30, 31, 662, 0, 663, 0, 0, 1186 0, 664, 0, 665, 0, 0, 0, 32, 33, 34, 1187 35, 0, 36, 37, 38, 39, 0, 0, 0, 0, 1188 0, 0, 40, 41, 42, 43, 28, 0, 0, 0, 1189 0, 0, 0, 44, 45, 46, 47, 48, 49, 0, 1190 0, 0, 0, 50, 51, 52, 0, 0, 0, 0, 1191 53, 54, 55, 0, 0, 0, 0, 459, 438, 460, 1192 0, 0, 0, 56, 0, 0, 0, 0, 29, 30, 1193 31, 0, 0, 0, 0, 0, 57, 0, 0, 0, 1194 0, 0, -342, 32, 33, 34, 35, 0, 36, 37, 1195 38, 39, 0, 0, 58, 0, 0, 0, 40, 41, 1196 42, 43, 0, 372, 0, 0, 0, 0, 0, 44, 1197 45, 46, 47, 48, 49, 0, 0, 0, 0, 50, 1198 51, 52, 0, 0, 0, 0, 53, 54, 55, 0, 1199 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201 0, 0, 57, 278, 279, 280, 281, 282, 283, 284, 1202 285, 286, 287, 288, 289, 290, 291, 292, 293, 275, 1203 58, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1204 285, 286, 287, 288, 289, 290, 291, 292, 293, 275, 1205 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1206 285, 286, 287, 288, 289, 290, 291, 292, 293, 275, 1207 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1208 285, 286, 287, 288, 289, 290, 291, 292, 293, 275, 1209 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1210 285, 286, 287, 288, 289, 290, 291, 292, 293, 275, 1211 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1212 285, 286, 287, 288, 289, 290, 291, 292, 293, 275, 1213 0, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1214 285, 286, 287, 288, 289, 290, 291, 292, 293, 281, 1215 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1216 292, 293, 275, 461, 276, 277, 278, 279, 280, 281, 1217 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1218 292, 293, 275, 464, 276, 277, 278, 279, 280, 281, 1219 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1220 292, 293, 275, 467, 276, 277, 278, 279, 280, 281, 1221 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1222 292, 293, 275, 476, 276, 277, 278, 279, 280, 281, 1223 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1224 292, 293, 275, 478, 276, 277, 278, 279, 280, 281, 1225 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1226 292, 293, 275, 560, 276, 277, 278, 279, 280, 281, 1227 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1228 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 1229 0, 0, 0, 0, 0, 275, 561, 276, 277, 278, 1230 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1231 289, 290, 291, 292, 293, 275, 562, 276, 277, 278, 1232 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1233 289, 290, 291, 292, 293, 275, 563, 276, 277, 278, 1234 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1235 289, 290, 291, 292, 293, 275, 564, 276, 277, 278, 1236 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1237 289, 290, 291, 292, 293, 275, 565, 276, 277, 278, 1238 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1239 289, 290, 291, 292, 293, 275, 591, 276, 277, 278, 1240 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1241 289, 290, 291, 292, 293, 0, 0, 0, 0, 0, 1242 0, 0, 0, 0, 0, 0, 0, 0, 275, 611, 1243 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 1244 286, 287, 288, 289, 290, 291, 292, 293, 275, 617, 1245 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 1246 286, 287, 288, 289, 290, 291, 292, 293, 275, 618, 1247 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 1248 286, 287, 288, 289, 290, 291, 292, 293, 275, 623, 1249 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 1250 286, 287, 288, 289, 290, 291, 292, 293, 275, 634, 1251 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 1252 286, 287, 288, 289, 290, 291, 292, 293, 275, 636, 1253 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 1254 286, 287, 288, 289, 290, 291, 292, 293, 0, 321, 1255 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 1256 294, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1257 285, 286, 287, 288, 289, 290, 291, 292, 293, 275, 1258 456, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1259 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 1260 462, 0, 0, 0, 616, 0, 0, 0, 71, 0, 1261 0, 323, 0, 0, 0, 0, 0, 0, 0, 324, 1262 463, 0, 0, 0, 43, 0, 0, 0, 0, 0, 1263 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 1264 472, 0, 72, 325, 0, 0, 0, 0, 0, 53, 1265 54, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1266 473, 0, 56, 0, 458, 0, 72, 0, 0, 0, 1267 73, 275, 0, 276, 277, 278, 279, 280, 281, 282, 1268 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 1269 293, 477, 0, 536, 73, 0, 0, 0, 0, 0, 1270 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 1271 0, 768, 75, 76, 77, 78, 79, -43, 80, 81, 1272 82, 0, 0, 83, 84, 0, 85, 86, 87, 74, 1273 0, 0, 0, 88, 89, 90, 75, 76, 77, 78, 1274 79, 0, 80, 81, 82, 0, 0, 83, 84, 0, 1275 85, 86, 87, 0, 0, 0, 0, 88, 89, 90, 1276 275, 480, 276, 277, 278, 279, 280, 281, 282, 283, 1277 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 1278 275, 542, 276, 277, 278, 279, 280, 281, 282, 283, 1279 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 1280 275, 0, 276, 277, 278, 279, 280, 281, 282, 283, 1281 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 1282 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 1283 287, 288, 289, 290, 291, 292, 293, 279, 280, 281, 1284 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 1285 292, 293, 280, 281, 282, 283, 284, 285, 286, 287, 1286 288, 289, 290, 291, 292, 293 1287 }; 1288 1289 static const yytype_int16 yycheck[] = 1290 { 1291 75, 111, 220, 23, 73, 18, 116, 4, 3, 4, 1292 85, 25, 489, 231, 232, 10, 4, 92, 4, 10, 1293 4, 4, 4, 21, 233, 492, 4, 5, 675, 15, 1294 36, 15, 4, 15, 4, 30, 31, 4, 5, 10, 1295 4, 4, 37, 38, 39, 4, 32, 58, 32, 4, 1296 32, 4, 5, 59, 58, 59, 51, 52, 53, 0, 1297 129, 130, 4, 132, 133, 60, 4, 132, 580, 138, 1298 65, 4, 54, 55, 56, 57, 10, 132, 153, 154, 1299 75, 58, 15, 148, 4, 80, 81, 82, 83, 84, 1300 85, 86, 692, 148, 694, 15, 4, 5, 93, 32, 1301 95, 58, 177, 178, 59, 180, 618, 66, 147, 10, 1302 149, 578, 32, 188, 591, 16, 111, 59, 58, 700, 1303 147, 132, 117, 118, 151, 49, 50, 727, 132, 107, 1304 4, 5, 713, 208, 54, 55, 56, 57, 37, 102, 1305 107, 147, 351, 58, 4, 5, 147, 148, 795, 218, 1306 145, 149, 147, 37, 107, 152, 147, 152, 153, 636, 1307 142, 149, 144, 149, 152, 149, 149, 242, 150, 147, 1308 245, 246, 4, 248, 249, 147, 147, 147, 253, 254, 1309 255, 256, 257, 147, 37, 260, 200, 201, 3, 4, 1310 265, 266, 58, 507, 269, 270, 271, 785, 786, 107, 1311 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1312 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 1313 295, 296, 147, 4, 144, 37, 151, 302, 303, 665, 1314 150, 37, 668, 107, 773, 774, 3, 4, 4, 147, 1315 147, 149, 149, 557, 147, 4, 149, 107, 37, 4, 1316 640, 361, 362, 363, 323, 37, 692, 39, 694, 147, 1317 15, 149, 37, 30, 31, 4, 37, 32, 33, 34, 1318 37, 38, 39, 147, 588, 149, 147, 32, 149, 348, 1319 37, 350, 672, 4, 51, 52, 53, 147, 724, 149, 1320 37, 727, 37, 60, 15, 139, 140, 141, 65, 54, 1321 55, 56, 57, 70, 71, 72, 73, 74, 75, 37, 1322 700, 32, 37, 80, 81, 82, 83, 84, 85, 86, 1323 37, 334, 37, 713, 37, 37, 93, 37, 95, 136, 1324 4, 4, 4, 54, 55, 4, 554, 4, 4, 4, 1325 4, 15, 4, 4, 111, 4, 366, 3, 16, 130, 1326 117, 118, 133, 134, 135, 4, 4, 432, 32, 434, 1327 435, 436, 113, 16, 130, 59, 59, 133, 134, 135, 1328 148, 130, 3, 4, 133, 134, 135, 4, 145, 10, 1329 54, 55, 149, 4, 459, 152, 153, 462, 463, 144, 1330 465, 130, 148, 4, 133, 134, 135, 472, 473, 30, 1331 31, 4, 4, 4, 4, 480, 37, 38, 39, 4, 1332 4, 425, 70, 71, 72, 73, 74, 4, 37, 4, 1333 51, 52, 53, 144, 4, 4, 100, 37, 15, 60, 1334 58, 37, 37, 37, 65, 4, 126, 127, 128, 30, 1335 31, 32, 33, 34, 75, 32, 147, 137, 37, 80, 1336 81, 82, 83, 84, 85, 86, 146, 4, 147, 37, 1337 535, 37, 93, 37, 95, 37, 37, 54, 55, 37, 1338 144, 37, 37, 37, 584, 37, 37, 37, 37, 37, 1339 111, 37, 37, 58, 147, 10, 117, 118, 148, 59, 1340 59, 149, 147, 10, 148, 147, 59, 66, 573, 149, 1341 10, 4, 149, 149, 579, 74, 581, 149, 149, 619, 1342 79, 149, 526, 527, 145, 149, 147, 149, 593, 149, 1343 149, 152, 153, 4, 3, 4, 149, 4, 4, 98, 1344 4, 4, 4, 4, 4, 104, 105, 106, 4, 614, 1345 4, 4, 4, 4, 4, 4, 621, 37, 117, 148, 1346 148, 30, 31, 4, 37, 36, 149, 147, 37, 38, 1347 39, 40, 6, 7, 8, 9, 10, 11, 12, 13, 1348 14, 789, 51, 52, 53, 4, 149, 16, 58, 37, 1349 4, 60, 149, 801, 802, 66, 65, 656, 698, 4, 1350 16, 37, 149, 74, 147, 149, 75, 149, 79, 3, 1351 4, 80, 81, 82, 83, 84, 85, 86, 149, 149, 1352 149, 149, 16, 149, 93, 149, 95, 98, 149, 148, 1353 16, 4, 4, 104, 105, 106, 30, 31, 36, 149, 1354 37, 149, 111, 37, 38, 39, 117, 102, 117, 118, 1355 92, 716, 59, 678, 679, 680, 681, 51, 52, 53, 1356 93, 149, 687, 16, 38, 58, 60, 37, 37, 37, 1357 149, 65, 10, 147, 37, 103, 145, 95, 143, 59, 1358 148, 75, 37, 152, 153, 10, 80, 81, 82, 83, 1359 84, 85, 86, 3, 4, 37, 721, 722, 16, 93, 1360 58, 95, 28, 29, 30, 31, 32, 33, 34, 734, 1361 735, 148, 737, 58, 739, 740, 37, 111, 16, 59, 1362 30, 31, 37, 117, 118, 37, 751, 37, 38, 39, 1363 6, 7, 8, 9, 10, 11, 12, 13, 14, 764, 1364 37, 51, 52, 53, 37, 37, 37, 37, 37, 37, 1365 60, 145, 37, 58, 25, 65, 781, 37, 152, 153, 1366 4, 37, 37, 37, 37, 75, 4, 102, 37, 37, 1367 80, 81, 82, 83, 84, 85, 86, 4, 149, 37, 1368 37, 37, 149, 93, 149, 95, 25, 149, 15, 24, 1369 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1370 149, 111, 149, 149, 59, 32, 36, 117, 118, 4, 1371 149, 4, 149, 149, 41, 42, 43, 44, 45, 149, 1372 149, 149, 4, 4, 247, 149, 149, 54, 55, 56, 1373 57, 216, 149, 149, 143, 145, 149, 237, 149, 66, 1374 717, 737, 152, 153, 672, 15, 544, 17, 18, 19, 1375 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1376 30, 31, 32, 33, 34, 776, 728, 94, 441, 96, 1377 4, 757, 502, 100, 595, 26, 100, 104, 105, 106, 1378 339, 569, -1, 244, -1, -1, -1, -1, -1, 15, 1379 117, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1380 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 1381 435, 138, 46, 47, 48, 142, -1, 144, -1, -1, 1382 -1, 148, -1, 150, -1, -1, -1, 61, 62, 63, 1383 64, -1, 66, 67, 68, 69, -1, -1, -1, -1, 1384 -1, -1, 76, 77, 78, 79, 4, -1, -1, -1, 1385 -1, -1, -1, 87, 88, 89, 90, 91, 92, -1, 1386 -1, -1, -1, 97, 98, 99, -1, -1, -1, -1, 1387 104, 105, 106, -1, -1, -1, -1, 147, 36, 149, 1388 -1, -1, -1, 117, -1, -1, -1, -1, 46, 47, 1389 48, -1, -1, -1, -1, -1, 130, -1, -1, -1, 1390 -1, -1, 136, 61, 62, 63, 64, -1, 66, 67, 1391 68, 69, -1, -1, 148, -1, -1, -1, 76, 77, 1392 78, 79, -1, 149, -1, -1, -1, -1, -1, 87, 1393 88, 89, 90, 91, 92, -1, -1, -1, -1, 97, 1394 98, 99, -1, -1, -1, -1, 104, 105, 106, -1, 1395 -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, 1396 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1397 -1, -1, 130, 19, 20, 21, 22, 23, 24, 25, 1398 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 1399 148, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1400 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 1401 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1402 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 1403 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1404 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 1405 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1406 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 1407 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1408 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 1409 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1410 26, 27, 28, 29, 30, 31, 32, 33, 34, 22, 1411 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1412 33, 34, 15, 149, 17, 18, 19, 20, 21, 22, 1413 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1414 33, 34, 15, 149, 17, 18, 19, 20, 21, 22, 1415 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1416 33, 34, 15, 149, 17, 18, 19, 20, 21, 22, 1417 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1418 33, 34, 15, 149, 17, 18, 19, 20, 21, 22, 1419 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1420 33, 34, 15, 149, 17, 18, 19, 20, 21, 22, 1421 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1422 33, 34, 15, 149, 17, 18, 19, 20, 21, 22, 1423 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1424 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, 1425 -1, -1, -1, -1, -1, 15, 149, 17, 18, 19, 1426 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1427 30, 31, 32, 33, 34, 15, 149, 17, 18, 19, 1428 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1429 30, 31, 32, 33, 34, 15, 149, 17, 18, 19, 1430 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1431 30, 31, 32, 33, 34, 15, 149, 17, 18, 19, 1432 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1433 30, 31, 32, 33, 34, 15, 149, 17, 18, 19, 1434 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1435 30, 31, 32, 33, 34, 15, 149, 17, 18, 19, 1436 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1437 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, 1438 -1, -1, -1, -1, -1, -1, -1, -1, 15, 149, 1439 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1440 27, 28, 29, 30, 31, 32, 33, 34, 15, 149, 1441 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1442 27, 28, 29, 30, 31, 32, 33, 34, 15, 149, 1443 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1444 27, 28, 29, 30, 31, 32, 33, 34, 15, 149, 1445 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1446 27, 28, 29, 30, 31, 32, 33, 34, 15, 149, 1447 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1448 27, 28, 29, 30, 31, 32, 33, 34, 15, 149, 1449 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1450 27, 28, 29, 30, 31, 32, 33, 34, -1, 4, 1451 -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 1452 147, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1453 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 1454 147, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1455 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 1456 147, -1, -1, -1, 59, -1, -1, -1, 4, -1, 1457 -1, 66, -1, -1, -1, -1, -1, -1, -1, 74, 1458 147, -1, -1, -1, 79, -1, -1, -1, -1, -1, 1459 -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, 1460 147, -1, 38, 98, -1, -1, -1, -1, -1, 104, 1461 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, 1462 147, -1, 117, -1, 36, -1, 38, -1, -1, -1, 1463 66, 15, -1, 17, 18, 19, 20, 21, 22, 23, 1464 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 1465 34, 147, -1, 37, 66, -1, -1, -1, -1, -1, 1466 -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, 1467 -1, 147, 108, 109, 110, 111, 112, 113, 114, 115, 1468 116, -1, -1, 119, 120, -1, 122, 123, 124, 101, 1469 -1, -1, -1, 129, 130, 131, 108, 109, 110, 111, 1470 112, -1, 114, 115, 116, -1, -1, 119, 120, -1, 1471 122, 123, 124, -1, -1, -1, -1, 129, 130, 131, 1472 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1473 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1474 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1475 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1476 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, 1477 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1478 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1479 28, 29, 30, 31, 32, 33, 34, 20, 21, 22, 1480 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1481 33, 34, 21, 22, 23, 24, 25, 26, 27, 28, 1482 29, 30, 31, 32, 33, 34 1483 }; 1484 1485 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1486 symbol of state STATE-NUM. */ 1487 static const yytype_uint16 yystos[] = 1488 { 1489 0, 126, 127, 128, 137, 146, 155, 171, 172, 159, 1490 160, 157, 158, 273, 274, 268, 269, 0, 173, 161, 1491 4, 58, 132, 277, 278, 58, 270, 271, 4, 46, 1492 47, 48, 61, 62, 63, 64, 66, 67, 68, 69, 1493 76, 77, 78, 79, 87, 88, 89, 90, 91, 92, 1494 97, 98, 99, 104, 105, 106, 117, 130, 148, 174, 1495 183, 185, 206, 208, 219, 220, 222, 224, 260, 275, 1496 276, 4, 38, 66, 101, 108, 109, 110, 111, 112, 1497 114, 115, 116, 119, 120, 122, 123, 124, 129, 130, 1498 131, 162, 10, 4, 130, 133, 134, 135, 280, 281, 1499 58, 278, 134, 135, 272, 281, 271, 6, 7, 8, 1500 9, 10, 11, 12, 13, 14, 204, 58, 58, 49, 1501 50, 37, 37, 4, 156, 58, 37, 37, 37, 37, 1502 37, 37, 37, 37, 37, 37, 37, 175, 37, 37, 1503 37, 37, 186, 37, 147, 148, 205, 136, 4, 156, 1504 4, 3, 4, 30, 31, 37, 38, 39, 51, 52, 1505 53, 60, 65, 75, 80, 81, 82, 83, 84, 85, 1506 86, 93, 95, 111, 117, 118, 145, 152, 153, 228, 1507 4, 4, 166, 4, 165, 164, 4, 4, 4, 228, 1508 4, 3, 4, 167, 168, 169, 4, 113, 228, 4, 1509 16, 16, 59, 148, 280, 59, 148, 226, 227, 226, 1510 184, 261, 4, 4, 4, 4, 176, 4, 66, 209, 1511 210, 211, 4, 4, 4, 156, 156, 4, 156, 149, 1512 156, 221, 223, 4, 225, 177, 178, 37, 156, 4, 1513 4, 4, 37, 168, 58, 10, 147, 163, 10, 147, 1514 228, 228, 228, 37, 37, 37, 37, 37, 37, 37, 1515 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 1516 37, 37, 37, 228, 228, 15, 17, 18, 19, 20, 1517 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 1518 31, 32, 33, 34, 147, 10, 147, 228, 147, 147, 1519 4, 147, 10, 147, 228, 147, 147, 4, 170, 58, 1520 281, 281, 148, 4, 130, 133, 134, 135, 59, 148, 1521 228, 4, 59, 66, 74, 98, 185, 235, 4, 59, 1522 262, 147, 149, 149, 173, 212, 156, 59, 147, 207, 1523 147, 149, 149, 149, 149, 149, 149, 149, 207, 149, 1524 207, 147, 225, 149, 149, 4, 5, 107, 179, 177, 1525 149, 10, 10, 10, 228, 149, 277, 228, 228, 161, 1526 228, 228, 149, 228, 228, 228, 228, 228, 4, 4, 1527 228, 4, 4, 4, 4, 228, 228, 4, 4, 228, 1528 228, 228, 4, 228, 228, 228, 228, 228, 228, 228, 1529 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 1530 228, 228, 228, 228, 228, 4, 4, 4, 228, 228, 1531 3, 4, 4, 4, 147, 283, 148, 148, 4, 132, 1532 148, 279, 236, 156, 241, 246, 263, 4, 36, 37, 1533 216, 213, 211, 4, 156, 156, 225, 37, 4, 5, 1534 107, 147, 149, 226, 226, 226, 147, 59, 36, 147, 1535 149, 149, 147, 147, 149, 147, 149, 149, 149, 149, 1536 149, 149, 147, 147, 149, 149, 149, 147, 149, 149, 1537 16, 4, 281, 135, 58, 132, 148, 37, 40, 228, 1538 250, 251, 248, 16, 228, 252, 251, 228, 265, 147, 1539 4, 152, 217, 218, 16, 209, 149, 180, 37, 4, 1540 5, 107, 149, 149, 149, 4, 228, 228, 228, 228, 1541 228, 228, 4, 228, 148, 284, 16, 282, 70, 71, 1542 72, 73, 74, 149, 249, 37, 37, 250, 16, 102, 1543 230, 184, 16, 92, 253, 247, 4, 102, 266, 4, 1544 4, 149, 218, 93, 214, 36, 179, 182, 37, 149, 1545 149, 149, 149, 149, 149, 149, 149, 59, 281, 281, 1546 149, 228, 16, 37, 38, 231, 36, 230, 58, 37, 1547 267, 37, 264, 149, 10, 207, 149, 179, 181, 148, 1548 284, 149, 228, 37, 143, 232, 103, 233, 184, 228, 1549 266, 228, 148, 226, 95, 215, 149, 179, 59, 39, 1550 250, 149, 228, 233, 37, 242, 59, 149, 149, 10, 1551 149, 37, 16, 149, 237, 228, 58, 266, 226, 228, 1552 139, 140, 141, 234, 149, 243, 149, 58, 256, 250, 1553 238, 4, 59, 16, 4, 15, 32, 41, 42, 43, 1554 44, 45, 54, 55, 56, 57, 66, 94, 96, 100, 1555 117, 138, 142, 144, 148, 150, 187, 188, 190, 193, 1556 194, 196, 199, 200, 201, 206, 257, 244, 37, 37, 1557 37, 37, 156, 37, 197, 37, 37, 37, 4, 54, 1558 188, 192, 37, 4, 150, 188, 196, 59, 37, 205, 1559 58, 25, 254, 54, 55, 100, 144, 187, 54, 55, 1560 187, 187, 187, 198, 202, 226, 37, 195, 4, 189, 1561 187, 191, 37, 151, 207, 192, 192, 37, 239, 226, 1562 200, 4, 102, 229, 37, 37, 149, 37, 149, 37, 1563 37, 149, 149, 149, 200, 149, 228, 4, 193, 21, 1564 149, 149, 187, 188, 149, 151, 192, 254, 149, 59, 1565 25, 255, 187, 187, 191, 187, 187, 36, 147, 149, 1566 4, 187, 149, 229, 258, 4, 10, 16, 203, 149, 1567 149, 149, 149, 149, 4, 255, 255, 202, 4, 245, 1568 149, 149, 187, 149, 149, 149, 203, 203, 207, 149, 1569 205, 240, 259, 207, 207 1570 }; 1571 1572 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 1573 static const yytype_uint16 yyr1[] = 1574 { 1575 0, 154, 155, 155, 155, 155, 155, 156, 158, 157, 1576 160, 159, 161, 161, 162, 162, 162, 162, 162, 162, 1577 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 1578 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 1579 163, 162, 162, 162, 164, 164, 164, 165, 165, 166, 1580 166, 167, 167, 167, 169, 168, 170, 170, 170, 172, 1581 171, 173, 173, 174, 174, 174, 174, 174, 174, 174, 1582 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 1583 174, 174, 175, 174, 174, 176, 174, 174, 174, 174, 1584 174, 174, 174, 178, 177, 179, 179, 179, 179, 179, 1585 179, 180, 179, 181, 179, 182, 179, 183, 184, 184, 1586 184, 185, 185, 186, 185, 187, 187, 187, 188, 188, 1587 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 1588 189, 190, 191, 191, 192, 192, 193, 193, 193, 193, 1589 193, 193, 194, 195, 194, 196, 196, 196, 196, 196, 1590 196, 196, 196, 197, 196, 198, 196, 199, 199, 200, 1591 200, 201, 201, 201, 201, 201, 202, 203, 203, 204, 1592 204, 204, 204, 204, 204, 204, 204, 205, 205, 206, 1593 206, 206, 206, 206, 207, 207, 208, 209, 209, 210, 1594 210, 212, 211, 213, 211, 214, 215, 216, 216, 217, 1595 217, 218, 218, 219, 220, 220, 221, 221, 222, 223, 1596 223, 224, 224, 225, 225, 225, 227, 226, 228, 228, 1597 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 1598 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 1599 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 1600 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 1601 228, 228, 228, 228, 228, 228, 229, 229, 230, 230, 1602 231, 231, 232, 232, 233, 233, 234, 234, 234, 234, 1603 236, 237, 238, 239, 240, 235, 241, 242, 243, 244, 1604 245, 235, 246, 247, 235, 248, 235, 249, 249, 249, 1605 249, 249, 250, 250, 250, 251, 251, 251, 251, 252, 1606 252, 253, 253, 254, 254, 255, 255, 256, 257, 258, 1607 259, 256, 260, 261, 261, 263, 264, 262, 265, 266, 1608 266, 266, 267, 267, 269, 268, 270, 270, 271, 272, 1609 274, 273, 276, 275, 277, 277, 278, 278, 278, 279, 1610 279, 280, 280, 280, 280, 280, 281, 281, 281, 281, 1611 282, 281, 283, 281, 281, 281, 281, 281, 281, 281, 1612 284, 284 1613 }; 1614 1615 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 1616 static const yytype_uint8 yyr2[] = 1617 { 1618 0, 2, 2, 2, 2, 2, 2, 1, 0, 4, 1619 0, 2, 3, 0, 2, 4, 1, 1, 2, 1, 1620 4, 4, 3, 2, 4, 3, 4, 4, 4, 4, 1621 4, 2, 2, 2, 4, 4, 2, 2, 2, 2, 1622 0, 5, 2, 0, 3, 2, 0, 1, 3, 1, 1623 3, 0, 1, 3, 0, 2, 1, 2, 3, 0, 1624 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1625 1, 1, 1, 4, 4, 4, 4, 8, 4, 1, 1626 1, 4, 0, 5, 4, 0, 5, 4, 4, 3, 1627 3, 6, 4, 0, 2, 1, 3, 2, 1, 3, 1628 2, 0, 5, 0, 7, 0, 6, 4, 2, 2, 1629 0, 4, 2, 0, 7, 1, 1, 1, 1, 5, 1630 4, 4, 4, 7, 7, 7, 7, 8, 4, 1, 1631 3, 4, 2, 1, 3, 1, 1, 2, 3, 4, 1632 4, 5, 1, 0, 5, 2, 1, 1, 1, 4, 1633 1, 4, 4, 0, 8, 0, 5, 2, 1, 0, 1634 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1635 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1636 3, 6, 6, 6, 1, 0, 4, 1, 0, 3, 1637 1, 0, 7, 0, 5, 3, 3, 0, 3, 1, 1638 2, 1, 2, 4, 4, 3, 3, 1, 4, 3, 1639 0, 1, 1, 0, 2, 3, 0, 2, 2, 3, 1640 4, 2, 2, 2, 3, 3, 3, 3, 3, 3, 1641 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1642 5, 3, 3, 4, 1, 1, 4, 4, 4, 4, 1643 4, 4, 4, 6, 6, 6, 4, 6, 4, 1, 1644 6, 6, 6, 4, 4, 4, 3, 0, 4, 0, 1645 4, 0, 1, 0, 4, 0, 1, 1, 1, 0, 1646 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 1647 0, 18, 0, 0, 7, 0, 5, 1, 1, 1, 1648 1, 1, 3, 0, 2, 3, 2, 6, 10, 2, 1649 1, 0, 1, 2, 0, 0, 3, 0, 0, 0, 1650 0, 11, 4, 0, 2, 0, 0, 6, 1, 0, 1651 3, 5, 0, 3, 0, 2, 1, 2, 4, 2, 1652 0, 2, 0, 5, 1, 2, 4, 5, 6, 1, 1653 2, 0, 2, 4, 4, 8, 1, 1, 3, 3, 1654 0, 9, 0, 7, 1, 3, 1, 3, 1, 3, 1655 0, 1 1656 }; 1657 1658 1659 #define yyerrok (yyerrstatus = 0) 1660 #define yyclearin (yychar = YYEMPTY) 1661 #define YYEMPTY (-2) 1662 #define YYEOF 0 1663 1664 #define YYACCEPT goto yyacceptlab 1665 #define YYABORT goto yyabortlab 1666 #define YYERROR goto yyerrorlab 1667 1668 1669 #define YYRECOVERING() (!!yyerrstatus) 1670 1671 #define YYBACKUP(Token, Value) \ 1672 do \ 1673 if (yychar == YYEMPTY) \ 1674 { \ 1675 yychar = (Token); \ 1676 yylval = (Value); \ 1677 YYPOPSTACK (yylen); \ 1678 yystate = *yyssp; \ 1679 goto yybackup; \ 1680 } \ 1681 else \ 1682 { \ 1683 yyerror (YY_("syntax error: cannot back up")); \ 1684 YYERROR; \ 1685 } \ 1686 while (0) 1687 1688 /* Error token number */ 1689 #define YYTERROR 1 1690 #define YYERRCODE 256 1691 1692 1693 1694 /* Enable debugging if requested. */ 1695 #if YYDEBUG 1696 1697 # ifndef YYFPRINTF 1698 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1699 # define YYFPRINTF fprintf 1700 # endif 1701 1702 # define YYDPRINTF(Args) \ 1703 do { \ 1704 if (yydebug) \ 1705 YYFPRINTF Args; \ 1706 } while (0) 1707 1708 /* This macro is provided for backward compatibility. */ 1709 #ifndef YY_LOCATION_PRINT 1710 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1711 #endif 1712 1713 1714 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1715 do { \ 1716 if (yydebug) \ 1717 { \ 1718 YYFPRINTF (stderr, "%s ", Title); \ 1719 yy_symbol_print (stderr, \ 1720 Type, Value); \ 1721 YYFPRINTF (stderr, "\n"); \ 1722 } \ 1723 } while (0) 1724 1725 1726 /*----------------------------------------. 1727 | Print this symbol's value on YYOUTPUT. | 1728 `----------------------------------------*/ 1729 1730 static void 1731 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1732 { 1733 FILE *yyo = yyoutput; 1734 YYUSE (yyo); 1735 if (!yyvaluep) 1736 return; 1737 # ifdef YYPRINT 1738 if (yytype < YYNTOKENS) 1739 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1740 # endif 1741 YYUSE (yytype); 1742 } 1743 1744 1745 /*--------------------------------. 1746 | Print this symbol on YYOUTPUT. | 1747 `--------------------------------*/ 1748 1749 static void 1750 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1751 { 1752 YYFPRINTF (yyoutput, "%s %s (", 1753 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 1754 1755 yy_symbol_value_print (yyoutput, yytype, yyvaluep); 1756 YYFPRINTF (yyoutput, ")"); 1757 } 1758 1759 /*------------------------------------------------------------------. 1760 | yy_stack_print -- Print the state stack from its BOTTOM up to its | 1761 | TOP (included). | 1762 `------------------------------------------------------------------*/ 1763 1764 static void 1765 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1766 { 1767 YYFPRINTF (stderr, "Stack now"); 1768 for (; yybottom <= yytop; yybottom++) 1769 { 1770 int yybot = *yybottom; 1771 YYFPRINTF (stderr, " %d", yybot); 1772 } 1773 YYFPRINTF (stderr, "\n"); 1774 } 1775 1776 # define YY_STACK_PRINT(Bottom, Top) \ 1777 do { \ 1778 if (yydebug) \ 1779 yy_stack_print ((Bottom), (Top)); \ 1780 } while (0) 1781 1782 1783 /*------------------------------------------------. 1784 | Report that the YYRULE is going to be reduced. | 1785 `------------------------------------------------*/ 1786 1787 static void 1788 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 1789 { 1790 unsigned long int yylno = yyrline[yyrule]; 1791 int yynrhs = yyr2[yyrule]; 1792 int yyi; 1793 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1794 yyrule - 1, yylno); 1795 /* The symbols being reduced. */ 1796 for (yyi = 0; yyi < yynrhs; yyi++) 1797 { 1798 YYFPRINTF (stderr, " $%d = ", yyi + 1); 1799 yy_symbol_print (stderr, 1800 yystos[yyssp[yyi + 1 - yynrhs]], 1801 &(yyvsp[(yyi + 1) - (yynrhs)]) 1802 ); 1803 YYFPRINTF (stderr, "\n"); 1804 } 1805 } 1806 1807 # define YY_REDUCE_PRINT(Rule) \ 1808 do { \ 1809 if (yydebug) \ 1810 yy_reduce_print (yyssp, yyvsp, Rule); \ 1811 } while (0) 1812 1813 /* Nonzero means print parse trace. It is left uninitialized so that 1814 multiple parsers can coexist. */ 1815 int yydebug; 1816 #else /* !YYDEBUG */ 1817 # define YYDPRINTF(Args) 1818 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1819 # define YY_STACK_PRINT(Bottom, Top) 1820 # define YY_REDUCE_PRINT(Rule) 1821 #endif /* !YYDEBUG */ 1822 1823 1824 /* YYINITDEPTH -- initial size of the parser's stacks. */ 1825 #ifndef YYINITDEPTH 1826 # define YYINITDEPTH 200 1827 #endif 1828 1829 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1830 if the built-in stack extension method is used). 1831 1832 Do not make this value too large; the results are undefined if 1833 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1834 evaluated with infinite-precision integer arithmetic. */ 1835 1836 #ifndef YYMAXDEPTH 1837 # define YYMAXDEPTH 10000 1838 #endif 1839 1840 1841 #if YYERROR_VERBOSE 1842 1843 # ifndef yystrlen 1844 # if defined __GLIBC__ && defined _STRING_H 1845 # define yystrlen strlen 1846 # else 1847 /* Return the length of YYSTR. */ 1848 static YYSIZE_T 1849 yystrlen (const char *yystr) 1850 { 1851 YYSIZE_T yylen; 1852 for (yylen = 0; yystr[yylen]; yylen++) 1853 continue; 1854 return yylen; 1855 } 1856 # endif 1857 # endif 1858 1859 # ifndef yystpcpy 1860 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1861 # define yystpcpy stpcpy 1862 # else 1863 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1864 YYDEST. */ 1865 static char * 1866 yystpcpy (char *yydest, const char *yysrc) 1867 { 1868 char *yyd = yydest; 1869 const char *yys = yysrc; 1870 1871 while ((*yyd++ = *yys++) != '\0') 1872 continue; 1873 1874 return yyd - 1; 1875 } 1876 # endif 1877 # endif 1878 1879 # ifndef yytnamerr 1880 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1881 quotes and backslashes, so that it's suitable for yyerror. The 1882 heuristic is that double-quoting is unnecessary unless the string 1883 contains an apostrophe, a comma, or backslash (other than 1884 backslash-backslash). YYSTR is taken from yytname. If YYRES is 1885 null, do not copy; instead, return the length of what the result 1886 would have been. */ 1887 static YYSIZE_T 1888 yytnamerr (char *yyres, const char *yystr) 1889 { 1890 if (*yystr == '"') 1891 { 1892 YYSIZE_T yyn = 0; 1893 char const *yyp = yystr; 1894 1895 for (;;) 1896 switch (*++yyp) 1897 { 1898 case '\'': 1899 case ',': 1900 goto do_not_strip_quotes; 1901 1902 case '\\': 1903 if (*++yyp != '\\') 1904 goto do_not_strip_quotes; 1905 /* Fall through. */ 1906 default: 1907 if (yyres) 1908 yyres[yyn] = *yyp; 1909 yyn++; 1910 break; 1911 1912 case '"': 1913 if (yyres) 1914 yyres[yyn] = '\0'; 1915 return yyn; 1916 } 1917 do_not_strip_quotes: ; 1918 } 1919 1920 if (! yyres) 1921 return yystrlen (yystr); 1922 1923 return yystpcpy (yyres, yystr) - yyres; 1924 } 1925 # endif 1926 1927 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 1928 about the unexpected token YYTOKEN for the state stack whose top is 1929 YYSSP. 1930 1931 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 1932 not large enough to hold the message. In that case, also set 1933 *YYMSG_ALLOC to the required number of bytes. Return 2 if the 1934 required number of bytes is too large to store. */ 1935 static int 1936 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 1937 yytype_int16 *yyssp, int yytoken) 1938 { 1939 YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 1940 YYSIZE_T yysize = yysize0; 1941 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1942 /* Internationalized format string. */ 1943 const char *yyformat = YY_NULL; 1944 /* Arguments of yyformat. */ 1945 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1946 /* Number of reported tokens (one for the "unexpected", one per 1947 "expected"). */ 1948 int yycount = 0; 1949 1950 /* There are many possibilities here to consider: 1951 - If this state is a consistent state with a default action, then 1952 the only way this function was invoked is if the default action 1953 is an error action. In that case, don't check for expected 1954 tokens because there are none. 1955 - The only way there can be no lookahead present (in yychar) is if 1956 this state is a consistent state with a default action. Thus, 1957 detecting the absence of a lookahead is sufficient to determine 1958 that there is no unexpected or expected token to report. In that 1959 case, just report a simple "syntax error". 1960 - Don't assume there isn't a lookahead just because this state is a 1961 consistent state with a default action. There might have been a 1962 previous inconsistent state, consistent state with a non-default 1963 action, or user semantic action that manipulated yychar. 1964 - Of course, the expected token list depends on states to have 1965 correct lookahead information, and it depends on the parser not 1966 to perform extra reductions after fetching a lookahead from the 1967 scanner and before detecting a syntax error. Thus, state merging 1968 (from LALR or IELR) and default reductions corrupt the expected 1969 token list. However, the list is correct for canonical LR with 1970 one exception: it will still contain any token that will not be 1971 accepted due to an error action in a later state. 1972 */ 1973 if (yytoken != YYEMPTY) 1974 { 1975 int yyn = yypact[*yyssp]; 1976 yyarg[yycount++] = yytname[yytoken]; 1977 if (!yypact_value_is_default (yyn)) 1978 { 1979 /* Start YYX at -YYN if negative to avoid negative indexes in 1980 YYCHECK. In other words, skip the first -YYN actions for 1981 this state because they are default actions. */ 1982 int yyxbegin = yyn < 0 ? -yyn : 0; 1983 /* Stay within bounds of both yycheck and yytname. */ 1984 int yychecklim = YYLAST - yyn + 1; 1985 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 1986 int yyx; 1987 1988 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 1989 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 1990 && !yytable_value_is_error (yytable[yyx + yyn])) 1991 { 1992 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 1993 { 1994 yycount = 1; 1995 yysize = yysize0; 1996 break; 1997 } 1998 yyarg[yycount++] = yytname[yyx]; 1999 { 2000 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 2001 if (! (yysize <= yysize1 2002 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 2003 return 2; 2004 yysize = yysize1; 2005 } 2006 } 2007 } 2008 } 2009 2010 switch (yycount) 2011 { 2012 # define YYCASE_(N, S) \ 2013 case N: \ 2014 yyformat = S; \ 2015 break 2016 YYCASE_(0, YY_("syntax error")); 2017 YYCASE_(1, YY_("syntax error, unexpected %s")); 2018 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 2019 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 2020 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 2021 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 2022 # undef YYCASE_ 2023 } 2024 2025 { 2026 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 2027 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 2028 return 2; 2029 yysize = yysize1; 2030 } 2031 2032 if (*yymsg_alloc < yysize) 2033 { 2034 *yymsg_alloc = 2 * yysize; 2035 if (! (yysize <= *yymsg_alloc 2036 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 2037 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 2038 return 1; 2039 } 2040 2041 /* Avoid sprintf, as that infringes on the user's name space. 2042 Don't have undefined behavior even if the translation 2043 produced a string with the wrong number of "%s"s. */ 2044 { 2045 char *yyp = *yymsg; 2046 int yyi = 0; 2047 while ((*yyp = *yyformat) != '\0') 2048 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 2049 { 2050 yyp += yytnamerr (yyp, yyarg[yyi++]); 2051 yyformat += 2; 2052 } 2053 else 2054 { 2055 yyp++; 2056 yyformat++; 2057 } 2058 } 2059 return 0; 2060 } 2061 #endif /* YYERROR_VERBOSE */ 2062 2063 /*-----------------------------------------------. 2064 | Release the memory associated to this symbol. | 2065 `-----------------------------------------------*/ 2066 2067 static void 2068 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 2069 { 2070 YYUSE (yyvaluep); 2071 if (!yymsg) 2072 yymsg = "Deleting"; 2073 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 2074 2075 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2076 YYUSE (yytype); 2077 YY_IGNORE_MAYBE_UNINITIALIZED_END 2078 } 2079 2080 2081 2082 2083 /* The lookahead symbol. */ 2084 int yychar; 2085 2086 /* The semantic value of the lookahead symbol. */ 2087 YYSTYPE yylval; 2088 /* Number of syntax errors so far. */ 2089 int yynerrs; 2090 2091 2092 /*----------. 2093 | yyparse. | 2094 `----------*/ 2095 2096 int 2097 yyparse (void) 2098 { 2099 int yystate; 2100 /* Number of tokens to shift before error messages enabled. */ 2101 int yyerrstatus; 2102 2103 /* The stacks and their tools: 2104 'yyss': related to states. 2105 'yyvs': related to semantic values. 2106 2107 Refer to the stacks through separate pointers, to allow yyoverflow 2108 to reallocate them elsewhere. */ 2109 2110 /* The state stack. */ 2111 yytype_int16 yyssa[YYINITDEPTH]; 2112 yytype_int16 *yyss; 2113 yytype_int16 *yyssp; 2114 2115 /* The semantic value stack. */ 2116 YYSTYPE yyvsa[YYINITDEPTH]; 2117 YYSTYPE *yyvs; 2118 YYSTYPE *yyvsp; 2119 2120 YYSIZE_T yystacksize; 2121 2122 int yyn; 2123 int yyresult; 2124 /* Lookahead token as an internal (translated) token number. */ 2125 int yytoken = 0; 2126 /* The variables used to return semantic value and location from the 2127 action routines. */ 2128 YYSTYPE yyval; 2129 2130 #if YYERROR_VERBOSE 2131 /* Buffer for error messages, and its allocated size. */ 2132 char yymsgbuf[128]; 2133 char *yymsg = yymsgbuf; 2134 YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 2135 #endif 2136 2137 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 2138 2139 /* The number of symbols on the RHS of the reduced rule. 2140 Keep to zero when no symbol should be popped. */ 2141 int yylen = 0; 2142 2143 yyssp = yyss = yyssa; 2144 yyvsp = yyvs = yyvsa; 2145 yystacksize = YYINITDEPTH; 2146 2147 YYDPRINTF ((stderr, "Starting parse\n")); 2148 2149 yystate = 0; 2150 yyerrstatus = 0; 2151 yynerrs = 0; 2152 yychar = YYEMPTY; /* Cause a token to be read. */ 2153 goto yysetstate; 2154 2155 /*------------------------------------------------------------. 2156 | yynewstate -- Push a new state, which is found in yystate. | 2157 `------------------------------------------------------------*/ 2158 yynewstate: 2159 /* In all cases, when you get here, the value and location stacks 2160 have just been pushed. So pushing a state here evens the stacks. */ 2161 yyssp++; 2162 2163 yysetstate: 2164 *yyssp = yystate; 2165 2166 if (yyss + yystacksize - 1 <= yyssp) 2167 { 2168 /* Get the current used size of the three stacks, in elements. */ 2169 YYSIZE_T yysize = yyssp - yyss + 1; 2170 2171 #ifdef yyoverflow 2172 { 2173 /* Give user a chance to reallocate the stack. Use copies of 2174 these so that the &'s don't force the real ones into 2175 memory. */ 2176 YYSTYPE *yyvs1 = yyvs; 2177 yytype_int16 *yyss1 = yyss; 2178 2179 /* Each stack pointer address is followed by the size of the 2180 data in use in that stack, in bytes. This used to be a 2181 conditional around just the two extra args, but that might 2182 be undefined if yyoverflow is a macro. */ 2183 yyoverflow (YY_("memory exhausted"), 2184 &yyss1, yysize * sizeof (*yyssp), 2185 &yyvs1, yysize * sizeof (*yyvsp), 2186 &yystacksize); 2187 2188 yyss = yyss1; 2189 yyvs = yyvs1; 2190 } 2191 #else /* no yyoverflow */ 2192 # ifndef YYSTACK_RELOCATE 2193 goto yyexhaustedlab; 2194 # else 2195 /* Extend the stack our own way. */ 2196 if (YYMAXDEPTH <= yystacksize) 2197 goto yyexhaustedlab; 2198 yystacksize *= 2; 2199 if (YYMAXDEPTH < yystacksize) 2200 yystacksize = YYMAXDEPTH; 2201 2202 { 2203 yytype_int16 *yyss1 = yyss; 2204 union yyalloc *yyptr = 2205 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 2206 if (! yyptr) 2207 goto yyexhaustedlab; 2208 YYSTACK_RELOCATE (yyss_alloc, yyss); 2209 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 2210 # undef YYSTACK_RELOCATE 2211 if (yyss1 != yyssa) 2212 YYSTACK_FREE (yyss1); 2213 } 2214 # endif 2215 #endif /* no yyoverflow */ 2216 2217 yyssp = yyss + yysize - 1; 2218 yyvsp = yyvs + yysize - 1; 2219 2220 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 2221 (unsigned long int) yystacksize)); 2222 2223 if (yyss + yystacksize - 1 <= yyssp) 2224 YYABORT; 2225 } 2226 2227 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 2228 2229 if (yystate == YYFINAL) 2230 YYACCEPT; 2231 2232 goto yybackup; 2233 2234 /*-----------. 2235 | yybackup. | 2236 `-----------*/ 2237 yybackup: 2238 2239 /* Do appropriate processing given the current state. Read a 2240 lookahead token if we need one and don't already have one. */ 2241 2242 /* First try to decide what to do without reference to lookahead token. */ 2243 yyn = yypact[yystate]; 2244 if (yypact_value_is_default (yyn)) 2245 goto yydefault; 2246 2247 /* Not known => get a lookahead token if don't already have one. */ 2248 2249 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 2250 if (yychar == YYEMPTY) 2251 { 2252 YYDPRINTF ((stderr, "Reading a token: ")); 2253 yychar = yylex (); 2254 } 2255 2256 if (yychar <= YYEOF) 2257 { 2258 yychar = yytoken = YYEOF; 2259 YYDPRINTF ((stderr, "Now at end of input.\n")); 2260 } 2261 else 2262 { 2263 yytoken = YYTRANSLATE (yychar); 2264 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 2265 } 2266 2267 /* If the proper action on seeing token YYTOKEN is to reduce or to 2268 detect an error, take that action. */ 2269 yyn += yytoken; 2270 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 2271 goto yydefault; 2272 yyn = yytable[yyn]; 2273 if (yyn <= 0) 2274 { 2275 if (yytable_value_is_error (yyn)) 2276 goto yyerrlab; 2277 yyn = -yyn; 2278 goto yyreduce; 2279 } 2280 2281 /* Count tokens shifted since error; after three, turn off error 2282 status. */ 2283 if (yyerrstatus) 2284 yyerrstatus--; 2285 2286 /* Shift the lookahead token. */ 2287 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 2288 2289 /* Discard the shifted token. */ 2290 yychar = YYEMPTY; 2291 2292 yystate = yyn; 2293 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2294 *++yyvsp = yylval; 2295 YY_IGNORE_MAYBE_UNINITIALIZED_END 2296 2297 goto yynewstate; 2298 2299 2300 /*-----------------------------------------------------------. 2301 | yydefault -- do the default action for the current state. | 2302 `-----------------------------------------------------------*/ 2303 yydefault: 2304 yyn = yydefact[yystate]; 2305 if (yyn == 0) 2306 goto yyerrlab; 2307 goto yyreduce; 2308 2309 2310 /*-----------------------------. 2311 | yyreduce -- Do a reduction. | 2312 `-----------------------------*/ 2313 yyreduce: 2314 /* yyn is the number of a rule to reduce with. */ 2315 yylen = yyr2[yyn]; 2316 2317 /* If YYLEN is nonzero, implement the default value of the action: 2318 '$$ = $1'. 2319 2320 Otherwise, the following line sets YYVAL to garbage. 2321 This behavior is undocumented and Bison 2322 users should not rely upon it. Assigning to YYVAL 2323 unconditionally makes the parser a bit smaller, and it avoids a 2324 GCC warning that YYVAL may be used uninitialized. */ 2325 yyval = yyvsp[1-yylen]; 2326 2327 2328 YY_REDUCE_PRINT (yyn); 2329 switch (yyn) 2330 { 2331 case 8: 2332 #line 178 "ldgram.y" /* yacc.c:1661 */ 2333 { ldlex_defsym(); } 2334 #line 2335 "ldgram.c" /* yacc.c:1661 */ 2335 break; 2336 2337 case 9: 2338 #line 180 "ldgram.y" /* yacc.c:1661 */ 2339 { 2340 ldlex_popstate(); 2341 lang_add_assignment (exp_defsym ((yyvsp[-2].name), (yyvsp[0].etree))); 2342 } 2343 #line 2344 "ldgram.c" /* yacc.c:1661 */ 2344 break; 2345 2346 case 10: 2347 #line 188 "ldgram.y" /* yacc.c:1661 */ 2348 { 2349 ldlex_mri_script (); 2350 PUSH_ERROR (_("MRI style script")); 2351 } 2352 #line 2353 "ldgram.c" /* yacc.c:1661 */ 2353 break; 2354 2355 case 11: 2356 #line 193 "ldgram.y" /* yacc.c:1661 */ 2357 { 2358 ldlex_popstate (); 2359 mri_draw_tree (); 2360 POP_ERROR (); 2361 } 2362 #line 2363 "ldgram.c" /* yacc.c:1661 */ 2363 break; 2364 2365 case 16: 2366 #line 208 "ldgram.y" /* yacc.c:1661 */ 2367 { 2368 einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),(yyvsp[0].name)); 2369 } 2370 #line 2371 "ldgram.c" /* yacc.c:1661 */ 2371 break; 2372 2373 case 17: 2374 #line 211 "ldgram.y" /* yacc.c:1661 */ 2375 { 2376 config.map_filename = "-"; 2377 } 2378 #line 2379 "ldgram.c" /* yacc.c:1661 */ 2379 break; 2380 2381 case 20: 2382 #line 217 "ldgram.y" /* yacc.c:1661 */ 2383 { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); } 2384 #line 2385 "ldgram.c" /* yacc.c:1661 */ 2385 break; 2386 2387 case 21: 2388 #line 219 "ldgram.y" /* yacc.c:1661 */ 2389 { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); } 2390 #line 2391 "ldgram.c" /* yacc.c:1661 */ 2391 break; 2392 2393 case 22: 2394 #line 221 "ldgram.y" /* yacc.c:1661 */ 2395 { mri_public((yyvsp[-1].name), (yyvsp[0].etree)); } 2396 #line 2397 "ldgram.c" /* yacc.c:1661 */ 2397 break; 2398 2399 case 23: 2400 #line 223 "ldgram.y" /* yacc.c:1661 */ 2401 { mri_format((yyvsp[0].name)); } 2402 #line 2403 "ldgram.c" /* yacc.c:1661 */ 2403 break; 2404 2405 case 24: 2406 #line 225 "ldgram.y" /* yacc.c:1661 */ 2407 { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));} 2408 #line 2409 "ldgram.c" /* yacc.c:1661 */ 2409 break; 2410 2411 case 25: 2412 #line 227 "ldgram.y" /* yacc.c:1661 */ 2413 { mri_output_section((yyvsp[-1].name), (yyvsp[0].etree));} 2414 #line 2415 "ldgram.c" /* yacc.c:1661 */ 2415 break; 2416 2417 case 26: 2418 #line 229 "ldgram.y" /* yacc.c:1661 */ 2419 { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));} 2420 #line 2421 "ldgram.c" /* yacc.c:1661 */ 2421 break; 2422 2423 case 27: 2424 #line 231 "ldgram.y" /* yacc.c:1661 */ 2425 { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); } 2426 #line 2427 "ldgram.c" /* yacc.c:1661 */ 2427 break; 2428 2429 case 28: 2430 #line 233 "ldgram.y" /* yacc.c:1661 */ 2431 { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); } 2432 #line 2433 "ldgram.c" /* yacc.c:1661 */ 2433 break; 2434 2435 case 29: 2436 #line 235 "ldgram.y" /* yacc.c:1661 */ 2437 { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); } 2438 #line 2439 "ldgram.c" /* yacc.c:1661 */ 2439 break; 2440 2441 case 30: 2442 #line 237 "ldgram.y" /* yacc.c:1661 */ 2443 { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); } 2444 #line 2445 "ldgram.c" /* yacc.c:1661 */ 2445 break; 2446 2447 case 33: 2448 #line 241 "ldgram.y" /* yacc.c:1661 */ 2449 { mri_name((yyvsp[0].name)); } 2450 #line 2451 "ldgram.c" /* yacc.c:1661 */ 2451 break; 2452 2453 case 34: 2454 #line 243 "ldgram.y" /* yacc.c:1661 */ 2455 { mri_alias((yyvsp[-2].name),(yyvsp[0].name),0);} 2456 #line 2457 "ldgram.c" /* yacc.c:1661 */ 2457 break; 2458 2459 case 35: 2460 #line 245 "ldgram.y" /* yacc.c:1661 */ 2461 { mri_alias ((yyvsp[-2].name), 0, (int) (yyvsp[0].bigint).integer); } 2462 #line 2463 "ldgram.c" /* yacc.c:1661 */ 2463 break; 2464 2465 case 36: 2466 #line 247 "ldgram.y" /* yacc.c:1661 */ 2467 { mri_base((yyvsp[0].etree)); } 2468 #line 2469 "ldgram.c" /* yacc.c:1661 */ 2469 break; 2470 2471 case 37: 2472 #line 249 "ldgram.y" /* yacc.c:1661 */ 2473 { mri_truncate ((unsigned int) (yyvsp[0].bigint).integer); } 2474 #line 2475 "ldgram.c" /* yacc.c:1661 */ 2475 break; 2476 2477 case 40: 2478 #line 253 "ldgram.y" /* yacc.c:1661 */ 2479 { ldlex_script (); ldfile_open_command_file((yyvsp[0].name)); } 2480 #line 2481 "ldgram.c" /* yacc.c:1661 */ 2481 break; 2482 2483 case 41: 2484 #line 255 "ldgram.y" /* yacc.c:1661 */ 2485 { ldlex_popstate (); } 2486 #line 2487 "ldgram.c" /* yacc.c:1661 */ 2487 break; 2488 2489 case 42: 2490 #line 257 "ldgram.y" /* yacc.c:1661 */ 2491 { lang_add_entry ((yyvsp[0].name), FALSE); } 2492 #line 2493 "ldgram.c" /* yacc.c:1661 */ 2493 break; 2494 2495 case 44: 2496 #line 262 "ldgram.y" /* yacc.c:1661 */ 2497 { mri_order((yyvsp[0].name)); } 2498 #line 2499 "ldgram.c" /* yacc.c:1661 */ 2499 break; 2500 2501 case 45: 2502 #line 263 "ldgram.y" /* yacc.c:1661 */ 2503 { mri_order((yyvsp[0].name)); } 2504 #line 2505 "ldgram.c" /* yacc.c:1661 */ 2505 break; 2506 2507 case 47: 2508 #line 269 "ldgram.y" /* yacc.c:1661 */ 2509 { mri_load((yyvsp[0].name)); } 2510 #line 2511 "ldgram.c" /* yacc.c:1661 */ 2511 break; 2512 2513 case 48: 2514 #line 270 "ldgram.y" /* yacc.c:1661 */ 2515 { mri_load((yyvsp[0].name)); } 2516 #line 2517 "ldgram.c" /* yacc.c:1661 */ 2517 break; 2518 2519 case 49: 2520 #line 275 "ldgram.y" /* yacc.c:1661 */ 2521 { mri_only_load((yyvsp[0].name)); } 2522 #line 2523 "ldgram.c" /* yacc.c:1661 */ 2523 break; 2524 2525 case 50: 2526 #line 277 "ldgram.y" /* yacc.c:1661 */ 2527 { mri_only_load((yyvsp[0].name)); } 2528 #line 2529 "ldgram.c" /* yacc.c:1661 */ 2529 break; 2530 2531 case 51: 2532 #line 281 "ldgram.y" /* yacc.c:1661 */ 2533 { (yyval.name) = NULL; } 2534 #line 2535 "ldgram.c" /* yacc.c:1661 */ 2535 break; 2536 2537 case 54: 2538 #line 288 "ldgram.y" /* yacc.c:1661 */ 2539 { ldlex_expression (); } 2540 #line 2541 "ldgram.c" /* yacc.c:1661 */ 2541 break; 2542 2543 case 55: 2544 #line 290 "ldgram.y" /* yacc.c:1661 */ 2545 { ldlex_popstate (); } 2546 #line 2547 "ldgram.c" /* yacc.c:1661 */ 2547 break; 2548 2549 case 56: 2550 #line 294 "ldgram.y" /* yacc.c:1661 */ 2551 { ldlang_add_undef ((yyvsp[0].name), FALSE); } 2552 #line 2553 "ldgram.c" /* yacc.c:1661 */ 2553 break; 2554 2555 case 57: 2556 #line 296 "ldgram.y" /* yacc.c:1661 */ 2557 { ldlang_add_undef ((yyvsp[0].name), FALSE); } 2558 #line 2559 "ldgram.c" /* yacc.c:1661 */ 2559 break; 2560 2561 case 58: 2562 #line 298 "ldgram.y" /* yacc.c:1661 */ 2563 { ldlang_add_undef ((yyvsp[0].name), FALSE); } 2564 #line 2565 "ldgram.c" /* yacc.c:1661 */ 2565 break; 2566 2567 case 59: 2568 #line 302 "ldgram.y" /* yacc.c:1661 */ 2569 { ldlex_both(); } 2570 #line 2571 "ldgram.c" /* yacc.c:1661 */ 2571 break; 2572 2573 case 60: 2574 #line 304 "ldgram.y" /* yacc.c:1661 */ 2575 { ldlex_popstate(); } 2576 #line 2577 "ldgram.c" /* yacc.c:1661 */ 2577 break; 2578 2579 case 73: 2580 #line 325 "ldgram.y" /* yacc.c:1661 */ 2581 { lang_add_target((yyvsp[-1].name)); } 2582 #line 2583 "ldgram.c" /* yacc.c:1661 */ 2583 break; 2584 2585 case 74: 2586 #line 327 "ldgram.y" /* yacc.c:1661 */ 2587 { ldfile_add_library_path ((yyvsp[-1].name), FALSE); } 2588 #line 2589 "ldgram.c" /* yacc.c:1661 */ 2589 break; 2590 2591 case 75: 2592 #line 329 "ldgram.y" /* yacc.c:1661 */ 2593 { lang_add_output((yyvsp[-1].name), 1); } 2594 #line 2595 "ldgram.c" /* yacc.c:1661 */ 2595 break; 2596 2597 case 76: 2598 #line 331 "ldgram.y" /* yacc.c:1661 */ 2599 { lang_add_output_format ((yyvsp[-1].name), (char *) NULL, 2600 (char *) NULL, 1); } 2601 #line 2602 "ldgram.c" /* yacc.c:1661 */ 2602 break; 2603 2604 case 77: 2605 #line 334 "ldgram.y" /* yacc.c:1661 */ 2606 { lang_add_output_format ((yyvsp[-5].name), (yyvsp[-3].name), (yyvsp[-1].name), 1); } 2607 #line 2608 "ldgram.c" /* yacc.c:1661 */ 2608 break; 2609 2610 case 78: 2611 #line 336 "ldgram.y" /* yacc.c:1661 */ 2612 { ldfile_set_output_arch ((yyvsp[-1].name), bfd_arch_unknown); } 2613 #line 2614 "ldgram.c" /* yacc.c:1661 */ 2614 break; 2615 2616 case 79: 2617 #line 338 "ldgram.y" /* yacc.c:1661 */ 2618 { command_line.force_common_definition = TRUE ; } 2619 #line 2620 "ldgram.c" /* yacc.c:1661 */ 2620 break; 2621 2622 case 80: 2623 #line 340 "ldgram.y" /* yacc.c:1661 */ 2624 { command_line.inhibit_common_definition = TRUE ; } 2625 #line 2626 "ldgram.c" /* yacc.c:1661 */ 2626 break; 2627 2628 case 82: 2629 #line 343 "ldgram.y" /* yacc.c:1661 */ 2630 { lang_enter_group (); } 2631 #line 2632 "ldgram.c" /* yacc.c:1661 */ 2632 break; 2633 2634 case 83: 2635 #line 345 "ldgram.y" /* yacc.c:1661 */ 2636 { lang_leave_group (); } 2637 #line 2638 "ldgram.c" /* yacc.c:1661 */ 2638 break; 2639 2640 case 84: 2641 #line 347 "ldgram.y" /* yacc.c:1661 */ 2642 { lang_add_map((yyvsp[-1].name)); } 2643 #line 2644 "ldgram.c" /* yacc.c:1661 */ 2644 break; 2645 2646 case 85: 2647 #line 349 "ldgram.y" /* yacc.c:1661 */ 2648 { ldlex_script (); ldfile_open_command_file((yyvsp[0].name)); } 2649 #line 2650 "ldgram.c" /* yacc.c:1661 */ 2650 break; 2651 2652 case 86: 2653 #line 351 "ldgram.y" /* yacc.c:1661 */ 2654 { ldlex_popstate (); } 2655 #line 2656 "ldgram.c" /* yacc.c:1661 */ 2656 break; 2657 2658 case 87: 2659 #line 353 "ldgram.y" /* yacc.c:1661 */ 2660 { 2661 lang_add_nocrossref ((yyvsp[-1].nocrossref)); 2662 } 2663 #line 2664 "ldgram.c" /* yacc.c:1661 */ 2664 break; 2665 2666 case 89: 2667 #line 358 "ldgram.y" /* yacc.c:1661 */ 2668 { lang_add_insert ((yyvsp[0].name), 0); } 2669 #line 2670 "ldgram.c" /* yacc.c:1661 */ 2670 break; 2671 2672 case 90: 2673 #line 360 "ldgram.y" /* yacc.c:1661 */ 2674 { lang_add_insert ((yyvsp[0].name), 1); } 2675 #line 2676 "ldgram.c" /* yacc.c:1661 */ 2676 break; 2677 2678 case 91: 2679 #line 362 "ldgram.y" /* yacc.c:1661 */ 2680 { lang_memory_region_alias ((yyvsp[-3].name), (yyvsp[-1].name)); } 2681 #line 2682 "ldgram.c" /* yacc.c:1661 */ 2682 break; 2683 2684 case 92: 2685 #line 364 "ldgram.y" /* yacc.c:1661 */ 2686 { lang_ld_feature ((yyvsp[-1].name)); } 2687 #line 2688 "ldgram.c" /* yacc.c:1661 */ 2688 break; 2689 2690 case 93: 2691 #line 368 "ldgram.y" /* yacc.c:1661 */ 2692 { ldlex_inputlist(); } 2693 #line 2694 "ldgram.c" /* yacc.c:1661 */ 2694 break; 2695 2696 case 94: 2697 #line 370 "ldgram.y" /* yacc.c:1661 */ 2698 { ldlex_popstate(); } 2699 #line 2700 "ldgram.c" /* yacc.c:1661 */ 2700 break; 2701 2702 case 95: 2703 #line 374 "ldgram.y" /* yacc.c:1661 */ 2704 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum, 2705 (char *)NULL); } 2706 #line 2707 "ldgram.c" /* yacc.c:1661 */ 2707 break; 2708 2709 case 96: 2710 #line 377 "ldgram.y" /* yacc.c:1661 */ 2711 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum, 2712 (char *)NULL); } 2713 #line 2714 "ldgram.c" /* yacc.c:1661 */ 2714 break; 2715 2716 case 97: 2717 #line 380 "ldgram.y" /* yacc.c:1661 */ 2718 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum, 2719 (char *)NULL); } 2720 #line 2721 "ldgram.c" /* yacc.c:1661 */ 2721 break; 2722 2723 case 98: 2724 #line 383 "ldgram.y" /* yacc.c:1661 */ 2725 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum, 2726 (char *)NULL); } 2727 #line 2728 "ldgram.c" /* yacc.c:1661 */ 2728 break; 2729 2730 case 99: 2731 #line 386 "ldgram.y" /* yacc.c:1661 */ 2732 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum, 2733 (char *)NULL); } 2734 #line 2735 "ldgram.c" /* yacc.c:1661 */ 2735 break; 2736 2737 case 100: 2738 #line 389 "ldgram.y" /* yacc.c:1661 */ 2739 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum, 2740 (char *)NULL); } 2741 #line 2742 "ldgram.c" /* yacc.c:1661 */ 2742 break; 2743 2744 case 101: 2745 #line 392 "ldgram.y" /* yacc.c:1661 */ 2746 { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular; 2747 input_flags.add_DT_NEEDED_for_regular = TRUE; } 2748 #line 2749 "ldgram.c" /* yacc.c:1661 */ 2749 break; 2750 2751 case 102: 2752 #line 395 "ldgram.y" /* yacc.c:1661 */ 2753 { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); } 2754 #line 2755 "ldgram.c" /* yacc.c:1661 */ 2755 break; 2756 2757 case 103: 2758 #line 397 "ldgram.y" /* yacc.c:1661 */ 2759 { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular; 2760 input_flags.add_DT_NEEDED_for_regular = TRUE; } 2761 #line 2762 "ldgram.c" /* yacc.c:1661 */ 2762 break; 2763 2764 case 104: 2765 #line 400 "ldgram.y" /* yacc.c:1661 */ 2766 { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); } 2767 #line 2768 "ldgram.c" /* yacc.c:1661 */ 2768 break; 2769 2770 case 105: 2771 #line 402 "ldgram.y" /* yacc.c:1661 */ 2772 { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular; 2773 input_flags.add_DT_NEEDED_for_regular = TRUE; } 2774 #line 2775 "ldgram.c" /* yacc.c:1661 */ 2775 break; 2776 2777 case 106: 2778 #line 405 "ldgram.y" /* yacc.c:1661 */ 2779 { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); } 2780 #line 2781 "ldgram.c" /* yacc.c:1661 */ 2781 break; 2782 2783 case 111: 2784 #line 420 "ldgram.y" /* yacc.c:1661 */ 2785 { lang_add_entry ((yyvsp[-1].name), FALSE); } 2786 #line 2787 "ldgram.c" /* yacc.c:1661 */ 2787 break; 2788 2789 case 113: 2790 #line 422 "ldgram.y" /* yacc.c:1661 */ 2791 {ldlex_expression ();} 2792 #line 2793 "ldgram.c" /* yacc.c:1661 */ 2793 break; 2794 2795 case 114: 2796 #line 423 "ldgram.y" /* yacc.c:1661 */ 2797 { ldlex_popstate (); 2798 lang_add_assignment (exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name))); } 2799 #line 2800 "ldgram.c" /* yacc.c:1661 */ 2800 break; 2801 2802 case 115: 2803 #line 431 "ldgram.y" /* yacc.c:1661 */ 2804 { 2805 (yyval.cname) = (yyvsp[0].name); 2806 } 2807 #line 2808 "ldgram.c" /* yacc.c:1661 */ 2808 break; 2809 2810 case 116: 2811 #line 435 "ldgram.y" /* yacc.c:1661 */ 2812 { 2813 (yyval.cname) = "*"; 2814 } 2815 #line 2816 "ldgram.c" /* yacc.c:1661 */ 2816 break; 2817 2818 case 117: 2819 #line 439 "ldgram.y" /* yacc.c:1661 */ 2820 { 2821 (yyval.cname) = "?"; 2822 } 2823 #line 2824 "ldgram.c" /* yacc.c:1661 */ 2824 break; 2825 2826 case 118: 2827 #line 446 "ldgram.y" /* yacc.c:1661 */ 2828 { 2829 (yyval.wildcard).name = (yyvsp[0].cname); 2830 (yyval.wildcard).sorted = none; 2831 (yyval.wildcard).exclude_name_list = NULL; 2832 (yyval.wildcard).section_flag_list = NULL; 2833 } 2834 #line 2835 "ldgram.c" /* yacc.c:1661 */ 2835 break; 2836 2837 case 119: 2838 #line 453 "ldgram.y" /* yacc.c:1661 */ 2839 { 2840 (yyval.wildcard).name = (yyvsp[0].cname); 2841 (yyval.wildcard).sorted = none; 2842 (yyval.wildcard).exclude_name_list = (yyvsp[-2].name_list); 2843 (yyval.wildcard).section_flag_list = NULL; 2844 } 2845 #line 2846 "ldgram.c" /* yacc.c:1661 */ 2846 break; 2847 2848 case 120: 2849 #line 460 "ldgram.y" /* yacc.c:1661 */ 2850 { 2851 (yyval.wildcard).name = (yyvsp[-1].cname); 2852 (yyval.wildcard).sorted = by_name; 2853 (yyval.wildcard).exclude_name_list = NULL; 2854 (yyval.wildcard).section_flag_list = NULL; 2855 } 2856 #line 2857 "ldgram.c" /* yacc.c:1661 */ 2857 break; 2858 2859 case 121: 2860 #line 467 "ldgram.y" /* yacc.c:1661 */ 2861 { 2862 (yyval.wildcard).name = (yyvsp[-1].cname); 2863 (yyval.wildcard).sorted = by_alignment; 2864 (yyval.wildcard).exclude_name_list = NULL; 2865 (yyval.wildcard).section_flag_list = NULL; 2866 } 2867 #line 2868 "ldgram.c" /* yacc.c:1661 */ 2868 break; 2869 2870 case 122: 2871 #line 474 "ldgram.y" /* yacc.c:1661 */ 2872 { 2873 (yyval.wildcard).name = (yyvsp[-1].cname); 2874 (yyval.wildcard).sorted = by_none; 2875 (yyval.wildcard).exclude_name_list = NULL; 2876 (yyval.wildcard).section_flag_list = NULL; 2877 } 2878 #line 2879 "ldgram.c" /* yacc.c:1661 */ 2879 break; 2880 2881 case 123: 2882 #line 481 "ldgram.y" /* yacc.c:1661 */ 2883 { 2884 (yyval.wildcard).name = (yyvsp[-2].cname); 2885 (yyval.wildcard).sorted = by_name_alignment; 2886 (yyval.wildcard).exclude_name_list = NULL; 2887 (yyval.wildcard).section_flag_list = NULL; 2888 } 2889 #line 2890 "ldgram.c" /* yacc.c:1661 */ 2890 break; 2891 2892 case 124: 2893 #line 488 "ldgram.y" /* yacc.c:1661 */ 2894 { 2895 (yyval.wildcard).name = (yyvsp[-2].cname); 2896 (yyval.wildcard).sorted = by_name; 2897 (yyval.wildcard).exclude_name_list = NULL; 2898 (yyval.wildcard).section_flag_list = NULL; 2899 } 2900 #line 2901 "ldgram.c" /* yacc.c:1661 */ 2901 break; 2902 2903 case 125: 2904 #line 495 "ldgram.y" /* yacc.c:1661 */ 2905 { 2906 (yyval.wildcard).name = (yyvsp[-2].cname); 2907 (yyval.wildcard).sorted = by_alignment_name; 2908 (yyval.wildcard).exclude_name_list = NULL; 2909 (yyval.wildcard).section_flag_list = NULL; 2910 } 2911 #line 2912 "ldgram.c" /* yacc.c:1661 */ 2912 break; 2913 2914 case 126: 2915 #line 502 "ldgram.y" /* yacc.c:1661 */ 2916 { 2917 (yyval.wildcard).name = (yyvsp[-2].cname); 2918 (yyval.wildcard).sorted = by_alignment; 2919 (yyval.wildcard).exclude_name_list = NULL; 2920 (yyval.wildcard).section_flag_list = NULL; 2921 } 2922 #line 2923 "ldgram.c" /* yacc.c:1661 */ 2923 break; 2924 2925 case 127: 2926 #line 509 "ldgram.y" /* yacc.c:1661 */ 2927 { 2928 (yyval.wildcard).name = (yyvsp[-1].cname); 2929 (yyval.wildcard).sorted = by_name; 2930 (yyval.wildcard).exclude_name_list = (yyvsp[-3].name_list); 2931 (yyval.wildcard).section_flag_list = NULL; 2932 } 2933 #line 2934 "ldgram.c" /* yacc.c:1661 */ 2934 break; 2935 2936 case 128: 2937 #line 516 "ldgram.y" /* yacc.c:1661 */ 2938 { 2939 (yyval.wildcard).name = (yyvsp[-1].cname); 2940 (yyval.wildcard).sorted = by_init_priority; 2941 (yyval.wildcard).exclude_name_list = NULL; 2942 (yyval.wildcard).section_flag_list = NULL; 2943 } 2944 #line 2945 "ldgram.c" /* yacc.c:1661 */ 2945 break; 2946 2947 case 129: 2948 #line 525 "ldgram.y" /* yacc.c:1661 */ 2949 { 2950 struct flag_info_list *n; 2951 n = ((struct flag_info_list *) xmalloc (sizeof *n)); 2952 if ((yyvsp[0].name)[0] == '!') 2953 { 2954 n->with = without_flags; 2955 n->name = &(yyvsp[0].name)[1]; 2956 } 2957 else 2958 { 2959 n->with = with_flags; 2960 n->name = (yyvsp[0].name); 2961 } 2962 n->valid = FALSE; 2963 n->next = NULL; 2964 (yyval.flag_info_list) = n; 2965 } 2966 #line 2967 "ldgram.c" /* yacc.c:1661 */ 2967 break; 2968 2969 case 130: 2970 #line 543 "ldgram.y" /* yacc.c:1661 */ 2971 { 2972 struct flag_info_list *n; 2973 n = ((struct flag_info_list *) xmalloc (sizeof *n)); 2974 if ((yyvsp[0].name)[0] == '!') 2975 { 2976 n->with = without_flags; 2977 n->name = &(yyvsp[0].name)[1]; 2978 } 2979 else 2980 { 2981 n->with = with_flags; 2982 n->name = (yyvsp[0].name); 2983 } 2984 n->valid = FALSE; 2985 n->next = (yyvsp[-2].flag_info_list); 2986 (yyval.flag_info_list) = n; 2987 } 2988 #line 2989 "ldgram.c" /* yacc.c:1661 */ 2989 break; 2990 2991 case 131: 2992 #line 564 "ldgram.y" /* yacc.c:1661 */ 2993 { 2994 struct flag_info *n; 2995 n = ((struct flag_info *) xmalloc (sizeof *n)); 2996 n->flag_list = (yyvsp[-1].flag_info_list); 2997 n->flags_initialized = FALSE; 2998 n->not_with_flags = 0; 2999 n->only_with_flags = 0; 3000 (yyval.flag_info) = n; 3001 } 3002 #line 3003 "ldgram.c" /* yacc.c:1661 */ 3003 break; 3004 3005 case 132: 3006 #line 577 "ldgram.y" /* yacc.c:1661 */ 3007 { 3008 struct name_list *tmp; 3009 tmp = (struct name_list *) xmalloc (sizeof *tmp); 3010 tmp->name = (yyvsp[0].cname); 3011 tmp->next = (yyvsp[-1].name_list); 3012 (yyval.name_list) = tmp; 3013 } 3014 #line 3015 "ldgram.c" /* yacc.c:1661 */ 3015 break; 3016 3017 case 133: 3018 #line 586 "ldgram.y" /* yacc.c:1661 */ 3019 { 3020 struct name_list *tmp; 3021 tmp = (struct name_list *) xmalloc (sizeof *tmp); 3022 tmp->name = (yyvsp[0].cname); 3023 tmp->next = NULL; 3024 (yyval.name_list) = tmp; 3025 } 3026 #line 3027 "ldgram.c" /* yacc.c:1661 */ 3027 break; 3028 3029 case 134: 3030 #line 597 "ldgram.y" /* yacc.c:1661 */ 3031 { 3032 struct wildcard_list *tmp; 3033 tmp = (struct wildcard_list *) xmalloc (sizeof *tmp); 3034 tmp->next = (yyvsp[-2].wildcard_list); 3035 tmp->spec = (yyvsp[0].wildcard); 3036 (yyval.wildcard_list) = tmp; 3037 } 3038 #line 3039 "ldgram.c" /* yacc.c:1661 */ 3039 break; 3040 3041 case 135: 3042 #line 606 "ldgram.y" /* yacc.c:1661 */ 3043 { 3044 struct wildcard_list *tmp; 3045 tmp = (struct wildcard_list *) xmalloc (sizeof *tmp); 3046 tmp->next = NULL; 3047 tmp->spec = (yyvsp[0].wildcard); 3048 (yyval.wildcard_list) = tmp; 3049 } 3050 #line 3051 "ldgram.c" /* yacc.c:1661 */ 3051 break; 3052 3053 case 136: 3054 #line 617 "ldgram.y" /* yacc.c:1661 */ 3055 { 3056 struct wildcard_spec tmp; 3057 tmp.name = (yyvsp[0].name); 3058 tmp.exclude_name_list = NULL; 3059 tmp.sorted = none; 3060 tmp.section_flag_list = NULL; 3061 lang_add_wild (&tmp, NULL, ldgram_had_keep); 3062 } 3063 #line 3064 "ldgram.c" /* yacc.c:1661 */ 3064 break; 3065 3066 case 137: 3067 #line 626 "ldgram.y" /* yacc.c:1661 */ 3068 { 3069 struct wildcard_spec tmp; 3070 tmp.name = (yyvsp[0].name); 3071 tmp.exclude_name_list = NULL; 3072 tmp.sorted = none; 3073 tmp.section_flag_list = (yyvsp[-1].flag_info); 3074 lang_add_wild (&tmp, NULL, ldgram_had_keep); 3075 } 3076 #line 3077 "ldgram.c" /* yacc.c:1661 */ 3077 break; 3078 3079 case 138: 3080 #line 635 "ldgram.y" /* yacc.c:1661 */ 3081 { 3082 lang_add_wild (NULL, (yyvsp[-1].wildcard_list), ldgram_had_keep); 3083 } 3084 #line 3085 "ldgram.c" /* yacc.c:1661 */ 3085 break; 3086 3087 case 139: 3088 #line 639 "ldgram.y" /* yacc.c:1661 */ 3089 { 3090 struct wildcard_spec tmp; 3091 tmp.name = NULL; 3092 tmp.exclude_name_list = NULL; 3093 tmp.sorted = none; 3094 tmp.section_flag_list = (yyvsp[-3].flag_info); 3095 lang_add_wild (&tmp, (yyvsp[-1].wildcard_list), ldgram_had_keep); 3096 } 3097 #line 3098 "ldgram.c" /* yacc.c:1661 */ 3098 break; 3099 3100 case 140: 3101 #line 648 "ldgram.y" /* yacc.c:1661 */ 3102 { 3103 lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep); 3104 } 3105 #line 3106 "ldgram.c" /* yacc.c:1661 */ 3106 break; 3107 3108 case 141: 3109 #line 652 "ldgram.y" /* yacc.c:1661 */ 3110 { 3111 (yyvsp[-3].wildcard).section_flag_list = (yyvsp[-4].flag_info); 3112 lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep); 3113 } 3114 #line 3115 "ldgram.c" /* yacc.c:1661 */ 3115 break; 3116 3117 case 143: 3118 #line 661 "ldgram.y" /* yacc.c:1661 */ 3119 { ldgram_had_keep = TRUE; } 3120 #line 3121 "ldgram.c" /* yacc.c:1661 */ 3121 break; 3122 3123 case 144: 3124 #line 663 "ldgram.y" /* yacc.c:1661 */ 3125 { ldgram_had_keep = FALSE; } 3126 #line 3127 "ldgram.c" /* yacc.c:1661 */ 3127 break; 3128 3129 case 146: 3130 #line 669 "ldgram.y" /* yacc.c:1661 */ 3131 { 3132 lang_add_attribute(lang_object_symbols_statement_enum); 3133 } 3134 #line 3135 "ldgram.c" /* yacc.c:1661 */ 3135 break; 3136 3137 case 148: 3138 #line 674 "ldgram.y" /* yacc.c:1661 */ 3139 { 3140 3141 lang_add_attribute(lang_constructors_statement_enum); 3142 } 3143 #line 3144 "ldgram.c" /* yacc.c:1661 */ 3144 break; 3145 3146 case 149: 3147 #line 679 "ldgram.y" /* yacc.c:1661 */ 3148 { 3149 constructors_sorted = TRUE; 3150 lang_add_attribute (lang_constructors_statement_enum); 3151 } 3152 #line 3153 "ldgram.c" /* yacc.c:1661 */ 3153 break; 3154 3155 case 151: 3156 #line 685 "ldgram.y" /* yacc.c:1661 */ 3157 { 3158 lang_add_data ((int) (yyvsp[-3].integer), (yyvsp[-1].etree)); 3159 } 3160 #line 3161 "ldgram.c" /* yacc.c:1661 */ 3161 break; 3162 3163 case 152: 3164 #line 690 "ldgram.y" /* yacc.c:1661 */ 3165 { 3166 lang_add_fill ((yyvsp[-1].fill)); 3167 } 3168 #line 3169 "ldgram.c" /* yacc.c:1661 */ 3169 break; 3170 3171 case 153: 3172 #line 693 "ldgram.y" /* yacc.c:1661 */ 3173 {ldlex_expression ();} 3174 #line 3175 "ldgram.c" /* yacc.c:1661 */ 3175 break; 3176 3177 case 154: 3178 #line 694 "ldgram.y" /* yacc.c:1661 */ 3179 { ldlex_popstate (); 3180 lang_add_assignment (exp_assert ((yyvsp[-4].etree), (yyvsp[-2].name))); } 3181 #line 3182 "ldgram.c" /* yacc.c:1661 */ 3182 break; 3183 3184 case 155: 3185 #line 697 "ldgram.y" /* yacc.c:1661 */ 3186 { ldlex_script (); ldfile_open_command_file((yyvsp[0].name)); } 3187 #line 3188 "ldgram.c" /* yacc.c:1661 */ 3188 break; 3189 3190 case 156: 3191 #line 699 "ldgram.y" /* yacc.c:1661 */ 3192 { ldlex_popstate (); } 3193 #line 3194 "ldgram.c" /* yacc.c:1661 */ 3194 break; 3195 3196 case 161: 3197 #line 714 "ldgram.y" /* yacc.c:1661 */ 3198 { (yyval.integer) = (yyvsp[0].token); } 3199 #line 3200 "ldgram.c" /* yacc.c:1661 */ 3200 break; 3201 3202 case 162: 3203 #line 716 "ldgram.y" /* yacc.c:1661 */ 3204 { (yyval.integer) = (yyvsp[0].token); } 3205 #line 3206 "ldgram.c" /* yacc.c:1661 */ 3206 break; 3207 3208 case 163: 3209 #line 718 "ldgram.y" /* yacc.c:1661 */ 3210 { (yyval.integer) = (yyvsp[0].token); } 3211 #line 3212 "ldgram.c" /* yacc.c:1661 */ 3212 break; 3213 3214 case 164: 3215 #line 720 "ldgram.y" /* yacc.c:1661 */ 3216 { (yyval.integer) = (yyvsp[0].token); } 3217 #line 3218 "ldgram.c" /* yacc.c:1661 */ 3218 break; 3219 3220 case 165: 3221 #line 722 "ldgram.y" /* yacc.c:1661 */ 3222 { (yyval.integer) = (yyvsp[0].token); } 3223 #line 3224 "ldgram.c" /* yacc.c:1661 */ 3224 break; 3225 3226 case 166: 3227 #line 727 "ldgram.y" /* yacc.c:1661 */ 3228 { 3229 (yyval.fill) = exp_get_fill ((yyvsp[0].etree), 0, "fill value"); 3230 } 3231 #line 3232 "ldgram.c" /* yacc.c:1661 */ 3232 break; 3233 3234 case 167: 3235 #line 734 "ldgram.y" /* yacc.c:1661 */ 3236 { (yyval.fill) = (yyvsp[0].fill); } 3237 #line 3238 "ldgram.c" /* yacc.c:1661 */ 3238 break; 3239 3240 case 168: 3241 #line 735 "ldgram.y" /* yacc.c:1661 */ 3242 { (yyval.fill) = (fill_type *) 0; } 3243 #line 3244 "ldgram.c" /* yacc.c:1661 */ 3244 break; 3245 3246 case 169: 3247 #line 740 "ldgram.y" /* yacc.c:1661 */ 3248 { (yyval.token) = '+'; } 3249 #line 3250 "ldgram.c" /* yacc.c:1661 */ 3250 break; 3251 3252 case 170: 3253 #line 742 "ldgram.y" /* yacc.c:1661 */ 3254 { (yyval.token) = '-'; } 3255 #line 3256 "ldgram.c" /* yacc.c:1661 */ 3256 break; 3257 3258 case 171: 3259 #line 744 "ldgram.y" /* yacc.c:1661 */ 3260 { (yyval.token) = '*'; } 3261 #line 3262 "ldgram.c" /* yacc.c:1661 */ 3262 break; 3263 3264 case 172: 3265 #line 746 "ldgram.y" /* yacc.c:1661 */ 3266 { (yyval.token) = '/'; } 3267 #line 3268 "ldgram.c" /* yacc.c:1661 */ 3268 break; 3269 3270 case 173: 3271 #line 748 "ldgram.y" /* yacc.c:1661 */ 3272 { (yyval.token) = LSHIFT; } 3273 #line 3274 "ldgram.c" /* yacc.c:1661 */ 3274 break; 3275 3276 case 174: 3277 #line 750 "ldgram.y" /* yacc.c:1661 */ 3278 { (yyval.token) = RSHIFT; } 3279 #line 3280 "ldgram.c" /* yacc.c:1661 */ 3280 break; 3281 3282 case 175: 3283 #line 752 "ldgram.y" /* yacc.c:1661 */ 3284 { (yyval.token) = '&'; } 3285 #line 3286 "ldgram.c" /* yacc.c:1661 */ 3286 break; 3287 3288 case 176: 3289 #line 754 "ldgram.y" /* yacc.c:1661 */ 3290 { (yyval.token) = '|'; } 3291 #line 3292 "ldgram.c" /* yacc.c:1661 */ 3292 break; 3293 3294 case 179: 3295 #line 764 "ldgram.y" /* yacc.c:1661 */ 3296 { 3297 lang_add_assignment (exp_assign ((yyvsp[-2].name), (yyvsp[0].etree), FALSE)); 3298 } 3299 #line 3300 "ldgram.c" /* yacc.c:1661 */ 3300 break; 3301 3302 case 180: 3303 #line 768 "ldgram.y" /* yacc.c:1661 */ 3304 { 3305 lang_add_assignment (exp_assign ((yyvsp[-2].name), 3306 exp_binop ((yyvsp[-1].token), 3307 exp_nameop (NAME, 3308 (yyvsp[-2].name)), 3309 (yyvsp[0].etree)), FALSE)); 3310 } 3311 #line 3312 "ldgram.c" /* yacc.c:1661 */ 3312 break; 3313 3314 case 181: 3315 #line 776 "ldgram.y" /* yacc.c:1661 */ 3316 { 3317 lang_add_assignment (exp_assign ((yyvsp[-3].name), (yyvsp[-1].etree), TRUE)); 3318 } 3319 #line 3320 "ldgram.c" /* yacc.c:1661 */ 3320 break; 3321 3322 case 182: 3323 #line 780 "ldgram.y" /* yacc.c:1661 */ 3324 { 3325 lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), FALSE)); 3326 } 3327 #line 3328 "ldgram.c" /* yacc.c:1661 */ 3328 break; 3329 3330 case 183: 3331 #line 784 "ldgram.y" /* yacc.c:1661 */ 3332 { 3333 lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), TRUE)); 3334 } 3335 #line 3336 "ldgram.c" /* yacc.c:1661 */ 3336 break; 3337 3338 case 191: 3339 #line 807 "ldgram.y" /* yacc.c:1661 */ 3340 { region = lang_memory_region_lookup ((yyvsp[0].name), TRUE); } 3341 #line 3342 "ldgram.c" /* yacc.c:1661 */ 3342 break; 3343 3344 case 192: 3345 #line 810 "ldgram.y" /* yacc.c:1661 */ 3346 {} 3347 #line 3348 "ldgram.c" /* yacc.c:1661 */ 3348 break; 3349 3350 case 193: 3351 #line 812 "ldgram.y" /* yacc.c:1661 */ 3352 { ldlex_script (); ldfile_open_command_file((yyvsp[0].name)); } 3353 #line 3354 "ldgram.c" /* yacc.c:1661 */ 3354 break; 3355 3356 case 194: 3357 #line 814 "ldgram.y" /* yacc.c:1661 */ 3358 { ldlex_popstate (); } 3359 #line 3360 "ldgram.c" /* yacc.c:1661 */ 3360 break; 3361 3362 case 195: 3363 #line 819 "ldgram.y" /* yacc.c:1661 */ 3364 { 3365 region->origin_exp = (yyvsp[0].etree); 3366 region->current = region->origin; 3367 } 3368 #line 3369 "ldgram.c" /* yacc.c:1661 */ 3369 break; 3370 3371 case 196: 3372 #line 827 "ldgram.y" /* yacc.c:1661 */ 3373 { 3374 region->length_exp = (yyvsp[0].etree); 3375 } 3376 #line 3377 "ldgram.c" /* yacc.c:1661 */ 3377 break; 3378 3379 case 197: 3380 #line 834 "ldgram.y" /* yacc.c:1661 */ 3381 { /* dummy action to avoid bison 1.25 error message */ } 3382 #line 3383 "ldgram.c" /* yacc.c:1661 */ 3383 break; 3384 3385 case 201: 3386 #line 845 "ldgram.y" /* yacc.c:1661 */ 3387 { lang_set_flags (region, (yyvsp[0].name), 0); } 3388 #line 3389 "ldgram.c" /* yacc.c:1661 */ 3389 break; 3390 3391 case 202: 3392 #line 847 "ldgram.y" /* yacc.c:1661 */ 3393 { lang_set_flags (region, (yyvsp[0].name), 1); } 3394 #line 3395 "ldgram.c" /* yacc.c:1661 */ 3395 break; 3396 3397 case 203: 3398 #line 852 "ldgram.y" /* yacc.c:1661 */ 3399 { lang_startup((yyvsp[-1].name)); } 3400 #line 3401 "ldgram.c" /* yacc.c:1661 */ 3401 break; 3402 3403 case 205: 3404 #line 858 "ldgram.y" /* yacc.c:1661 */ 3405 { ldemul_hll((char *)NULL); } 3406 #line 3407 "ldgram.c" /* yacc.c:1661 */ 3407 break; 3408 3409 case 206: 3410 #line 863 "ldgram.y" /* yacc.c:1661 */ 3411 { ldemul_hll((yyvsp[0].name)); } 3412 #line 3413 "ldgram.c" /* yacc.c:1661 */ 3413 break; 3414 3415 case 207: 3416 #line 865 "ldgram.y" /* yacc.c:1661 */ 3417 { ldemul_hll((yyvsp[0].name)); } 3418 #line 3419 "ldgram.c" /* yacc.c:1661 */ 3419 break; 3420 3421 case 209: 3422 #line 873 "ldgram.y" /* yacc.c:1661 */ 3423 { ldemul_syslib((yyvsp[0].name)); } 3424 #line 3425 "ldgram.c" /* yacc.c:1661 */ 3425 break; 3426 3427 case 211: 3428 #line 879 "ldgram.y" /* yacc.c:1661 */ 3429 { lang_float(TRUE); } 3430 #line 3431 "ldgram.c" /* yacc.c:1661 */ 3431 break; 3432 3433 case 212: 3434 #line 881 "ldgram.y" /* yacc.c:1661 */ 3435 { lang_float(FALSE); } 3436 #line 3437 "ldgram.c" /* yacc.c:1661 */ 3437 break; 3438 3439 case 213: 3440 #line 886 "ldgram.y" /* yacc.c:1661 */ 3441 { 3442 (yyval.nocrossref) = NULL; 3443 } 3444 #line 3445 "ldgram.c" /* yacc.c:1661 */ 3445 break; 3446 3447 case 214: 3448 #line 890 "ldgram.y" /* yacc.c:1661 */ 3449 { 3450 struct lang_nocrossref *n; 3451 3452 n = (struct lang_nocrossref *) xmalloc (sizeof *n); 3453 n->name = (yyvsp[-1].name); 3454 n->next = (yyvsp[0].nocrossref); 3455 (yyval.nocrossref) = n; 3456 } 3457 #line 3458 "ldgram.c" /* yacc.c:1661 */ 3458 break; 3459 3460 case 215: 3461 #line 899 "ldgram.y" /* yacc.c:1661 */ 3462 { 3463 struct lang_nocrossref *n; 3464 3465 n = (struct lang_nocrossref *) xmalloc (sizeof *n); 3466 n->name = (yyvsp[-2].name); 3467 n->next = (yyvsp[0].nocrossref); 3468 (yyval.nocrossref) = n; 3469 } 3470 #line 3471 "ldgram.c" /* yacc.c:1661 */ 3471 break; 3472 3473 case 216: 3474 #line 909 "ldgram.y" /* yacc.c:1661 */ 3475 { ldlex_expression (); } 3476 #line 3477 "ldgram.c" /* yacc.c:1661 */ 3477 break; 3478 3479 case 217: 3480 #line 911 "ldgram.y" /* yacc.c:1661 */ 3481 { ldlex_popstate (); (yyval.etree)=(yyvsp[0].etree);} 3482 #line 3483 "ldgram.c" /* yacc.c:1661 */ 3483 break; 3484 3485 case 218: 3486 #line 916 "ldgram.y" /* yacc.c:1661 */ 3487 { (yyval.etree) = exp_unop ('-', (yyvsp[0].etree)); } 3488 #line 3489 "ldgram.c" /* yacc.c:1661 */ 3489 break; 3490 3491 case 219: 3492 #line 918 "ldgram.y" /* yacc.c:1661 */ 3493 { (yyval.etree) = (yyvsp[-1].etree); } 3494 #line 3495 "ldgram.c" /* yacc.c:1661 */ 3495 break; 3496 3497 case 220: 3498 #line 920 "ldgram.y" /* yacc.c:1661 */ 3499 { (yyval.etree) = exp_unop ((int) (yyvsp[-3].integer),(yyvsp[-1].etree)); } 3500 #line 3501 "ldgram.c" /* yacc.c:1661 */ 3501 break; 3502 3503 case 221: 3504 #line 922 "ldgram.y" /* yacc.c:1661 */ 3505 { (yyval.etree) = exp_unop ('!', (yyvsp[0].etree)); } 3506 #line 3507 "ldgram.c" /* yacc.c:1661 */ 3507 break; 3508 3509 case 222: 3510 #line 924 "ldgram.y" /* yacc.c:1661 */ 3511 { (yyval.etree) = (yyvsp[0].etree); } 3512 #line 3513 "ldgram.c" /* yacc.c:1661 */ 3513 break; 3514 3515 case 223: 3516 #line 926 "ldgram.y" /* yacc.c:1661 */ 3517 { (yyval.etree) = exp_unop ('~', (yyvsp[0].etree));} 3518 #line 3519 "ldgram.c" /* yacc.c:1661 */ 3519 break; 3520 3521 case 224: 3522 #line 929 "ldgram.y" /* yacc.c:1661 */ 3523 { (yyval.etree) = exp_binop ('*', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3524 #line 3525 "ldgram.c" /* yacc.c:1661 */ 3525 break; 3526 3527 case 225: 3528 #line 931 "ldgram.y" /* yacc.c:1661 */ 3529 { (yyval.etree) = exp_binop ('/', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3530 #line 3531 "ldgram.c" /* yacc.c:1661 */ 3531 break; 3532 3533 case 226: 3534 #line 933 "ldgram.y" /* yacc.c:1661 */ 3535 { (yyval.etree) = exp_binop ('%', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3536 #line 3537 "ldgram.c" /* yacc.c:1661 */ 3537 break; 3538 3539 case 227: 3540 #line 935 "ldgram.y" /* yacc.c:1661 */ 3541 { (yyval.etree) = exp_binop ('+', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3542 #line 3543 "ldgram.c" /* yacc.c:1661 */ 3543 break; 3544 3545 case 228: 3546 #line 937 "ldgram.y" /* yacc.c:1661 */ 3547 { (yyval.etree) = exp_binop ('-' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3548 #line 3549 "ldgram.c" /* yacc.c:1661 */ 3549 break; 3550 3551 case 229: 3552 #line 939 "ldgram.y" /* yacc.c:1661 */ 3553 { (yyval.etree) = exp_binop (LSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3554 #line 3555 "ldgram.c" /* yacc.c:1661 */ 3555 break; 3556 3557 case 230: 3558 #line 941 "ldgram.y" /* yacc.c:1661 */ 3559 { (yyval.etree) = exp_binop (RSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3560 #line 3561 "ldgram.c" /* yacc.c:1661 */ 3561 break; 3562 3563 case 231: 3564 #line 943 "ldgram.y" /* yacc.c:1661 */ 3565 { (yyval.etree) = exp_binop (EQ , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3566 #line 3567 "ldgram.c" /* yacc.c:1661 */ 3567 break; 3568 3569 case 232: 3570 #line 945 "ldgram.y" /* yacc.c:1661 */ 3571 { (yyval.etree) = exp_binop (NE , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3572 #line 3573 "ldgram.c" /* yacc.c:1661 */ 3573 break; 3574 3575 case 233: 3576 #line 947 "ldgram.y" /* yacc.c:1661 */ 3577 { (yyval.etree) = exp_binop (LE , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3578 #line 3579 "ldgram.c" /* yacc.c:1661 */ 3579 break; 3580 3581 case 234: 3582 #line 949 "ldgram.y" /* yacc.c:1661 */ 3583 { (yyval.etree) = exp_binop (GE , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3584 #line 3585 "ldgram.c" /* yacc.c:1661 */ 3585 break; 3586 3587 case 235: 3588 #line 951 "ldgram.y" /* yacc.c:1661 */ 3589 { (yyval.etree) = exp_binop ('<' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3590 #line 3591 "ldgram.c" /* yacc.c:1661 */ 3591 break; 3592 3593 case 236: 3594 #line 953 "ldgram.y" /* yacc.c:1661 */ 3595 { (yyval.etree) = exp_binop ('>' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3596 #line 3597 "ldgram.c" /* yacc.c:1661 */ 3597 break; 3598 3599 case 237: 3600 #line 955 "ldgram.y" /* yacc.c:1661 */ 3601 { (yyval.etree) = exp_binop ('&' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3602 #line 3603 "ldgram.c" /* yacc.c:1661 */ 3603 break; 3604 3605 case 238: 3606 #line 957 "ldgram.y" /* yacc.c:1661 */ 3607 { (yyval.etree) = exp_binop ('^' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3608 #line 3609 "ldgram.c" /* yacc.c:1661 */ 3609 break; 3610 3611 case 239: 3612 #line 959 "ldgram.y" /* yacc.c:1661 */ 3613 { (yyval.etree) = exp_binop ('|' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3614 #line 3615 "ldgram.c" /* yacc.c:1661 */ 3615 break; 3616 3617 case 240: 3618 #line 961 "ldgram.y" /* yacc.c:1661 */ 3619 { (yyval.etree) = exp_trinop ('?' , (yyvsp[-4].etree), (yyvsp[-2].etree), (yyvsp[0].etree)); } 3620 #line 3621 "ldgram.c" /* yacc.c:1661 */ 3621 break; 3622 3623 case 241: 3624 #line 963 "ldgram.y" /* yacc.c:1661 */ 3625 { (yyval.etree) = exp_binop (ANDAND , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3626 #line 3627 "ldgram.c" /* yacc.c:1661 */ 3627 break; 3628 3629 case 242: 3630 #line 965 "ldgram.y" /* yacc.c:1661 */ 3631 { (yyval.etree) = exp_binop (OROR , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3632 #line 3633 "ldgram.c" /* yacc.c:1661 */ 3633 break; 3634 3635 case 243: 3636 #line 967 "ldgram.y" /* yacc.c:1661 */ 3637 { (yyval.etree) = exp_nameop (DEFINED, (yyvsp[-1].name)); } 3638 #line 3639 "ldgram.c" /* yacc.c:1661 */ 3639 break; 3640 3641 case 244: 3642 #line 969 "ldgram.y" /* yacc.c:1661 */ 3643 { (yyval.etree) = exp_bigintop ((yyvsp[0].bigint).integer, (yyvsp[0].bigint).str); } 3644 #line 3645 "ldgram.c" /* yacc.c:1661 */ 3645 break; 3646 3647 case 245: 3648 #line 971 "ldgram.y" /* yacc.c:1661 */ 3649 { (yyval.etree) = exp_nameop (SIZEOF_HEADERS,0); } 3650 #line 3651 "ldgram.c" /* yacc.c:1661 */ 3651 break; 3652 3653 case 246: 3654 #line 974 "ldgram.y" /* yacc.c:1661 */ 3655 { (yyval.etree) = exp_nameop (ALIGNOF,(yyvsp[-1].name)); } 3656 #line 3657 "ldgram.c" /* yacc.c:1661 */ 3657 break; 3658 3659 case 247: 3660 #line 976 "ldgram.y" /* yacc.c:1661 */ 3661 { (yyval.etree) = exp_nameop (SIZEOF,(yyvsp[-1].name)); } 3662 #line 3663 "ldgram.c" /* yacc.c:1661 */ 3663 break; 3664 3665 case 248: 3666 #line 978 "ldgram.y" /* yacc.c:1661 */ 3667 { (yyval.etree) = exp_nameop (ADDR,(yyvsp[-1].name)); } 3668 #line 3669 "ldgram.c" /* yacc.c:1661 */ 3669 break; 3670 3671 case 249: 3672 #line 980 "ldgram.y" /* yacc.c:1661 */ 3673 { (yyval.etree) = exp_nameop (LOADADDR,(yyvsp[-1].name)); } 3674 #line 3675 "ldgram.c" /* yacc.c:1661 */ 3675 break; 3676 3677 case 250: 3678 #line 982 "ldgram.y" /* yacc.c:1661 */ 3679 { (yyval.etree) = exp_nameop (CONSTANT,(yyvsp[-1].name)); } 3680 #line 3681 "ldgram.c" /* yacc.c:1661 */ 3681 break; 3682 3683 case 251: 3684 #line 984 "ldgram.y" /* yacc.c:1661 */ 3685 { (yyval.etree) = exp_unop (ABSOLUTE, (yyvsp[-1].etree)); } 3686 #line 3687 "ldgram.c" /* yacc.c:1661 */ 3687 break; 3688 3689 case 252: 3690 #line 986 "ldgram.y" /* yacc.c:1661 */ 3691 { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); } 3692 #line 3693 "ldgram.c" /* yacc.c:1661 */ 3693 break; 3694 3695 case 253: 3696 #line 988 "ldgram.y" /* yacc.c:1661 */ 3697 { (yyval.etree) = exp_binop (ALIGN_K,(yyvsp[-3].etree),(yyvsp[-1].etree)); } 3698 #line 3699 "ldgram.c" /* yacc.c:1661 */ 3699 break; 3700 3701 case 254: 3702 #line 990 "ldgram.y" /* yacc.c:1661 */ 3703 { (yyval.etree) = exp_binop (DATA_SEGMENT_ALIGN, (yyvsp[-3].etree), (yyvsp[-1].etree)); } 3704 #line 3705 "ldgram.c" /* yacc.c:1661 */ 3705 break; 3706 3707 case 255: 3708 #line 992 "ldgram.y" /* yacc.c:1661 */ 3709 { (yyval.etree) = exp_binop (DATA_SEGMENT_RELRO_END, (yyvsp[-1].etree), (yyvsp[-3].etree)); } 3710 #line 3711 "ldgram.c" /* yacc.c:1661 */ 3711 break; 3712 3713 case 256: 3714 #line 994 "ldgram.y" /* yacc.c:1661 */ 3715 { (yyval.etree) = exp_unop (DATA_SEGMENT_END, (yyvsp[-1].etree)); } 3716 #line 3717 "ldgram.c" /* yacc.c:1661 */ 3717 break; 3718 3719 case 257: 3720 #line 996 "ldgram.y" /* yacc.c:1661 */ 3721 { /* The operands to the expression node are 3722 placed in the opposite order from the way 3723 in which they appear in the script as 3724 that allows us to reuse more code in 3725 fold_binary. */ 3726 (yyval.etree) = exp_binop (SEGMENT_START, 3727 (yyvsp[-1].etree), 3728 exp_nameop (NAME, (yyvsp[-3].name))); } 3729 #line 3730 "ldgram.c" /* yacc.c:1661 */ 3730 break; 3731 3732 case 258: 3733 #line 1005 "ldgram.y" /* yacc.c:1661 */ 3734 { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); } 3735 #line 3736 "ldgram.c" /* yacc.c:1661 */ 3736 break; 3737 3738 case 259: 3739 #line 1007 "ldgram.y" /* yacc.c:1661 */ 3740 { (yyval.etree) = exp_nameop (NAME,(yyvsp[0].name)); } 3741 #line 3742 "ldgram.c" /* yacc.c:1661 */ 3742 break; 3743 3744 case 260: 3745 #line 1009 "ldgram.y" /* yacc.c:1661 */ 3746 { (yyval.etree) = exp_binop (MAX_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); } 3747 #line 3748 "ldgram.c" /* yacc.c:1661 */ 3748 break; 3749 3750 case 261: 3751 #line 1011 "ldgram.y" /* yacc.c:1661 */ 3752 { (yyval.etree) = exp_binop (MIN_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); } 3753 #line 3754 "ldgram.c" /* yacc.c:1661 */ 3754 break; 3755 3756 case 262: 3757 #line 1013 "ldgram.y" /* yacc.c:1661 */ 3758 { (yyval.etree) = exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name)); } 3759 #line 3760 "ldgram.c" /* yacc.c:1661 */ 3760 break; 3761 3762 case 263: 3763 #line 1015 "ldgram.y" /* yacc.c:1661 */ 3764 { (yyval.etree) = exp_nameop (ORIGIN, (yyvsp[-1].name)); } 3765 #line 3766 "ldgram.c" /* yacc.c:1661 */ 3766 break; 3767 3768 case 264: 3769 #line 1017 "ldgram.y" /* yacc.c:1661 */ 3770 { (yyval.etree) = exp_nameop (LENGTH, (yyvsp[-1].name)); } 3771 #line 3772 "ldgram.c" /* yacc.c:1661 */ 3772 break; 3773 3774 case 265: 3775 #line 1019 "ldgram.y" /* yacc.c:1661 */ 3776 { (yyval.etree) = exp_unop (LOG2CEIL, (yyvsp[-1].etree)); } 3777 #line 3778 "ldgram.c" /* yacc.c:1661 */ 3778 break; 3779 3780 case 266: 3781 #line 1024 "ldgram.y" /* yacc.c:1661 */ 3782 { (yyval.name) = (yyvsp[0].name); } 3783 #line 3784 "ldgram.c" /* yacc.c:1661 */ 3784 break; 3785 3786 case 267: 3787 #line 1025 "ldgram.y" /* yacc.c:1661 */ 3788 { (yyval.name) = 0; } 3789 #line 3790 "ldgram.c" /* yacc.c:1661 */ 3790 break; 3791 3792 case 268: 3793 #line 1029 "ldgram.y" /* yacc.c:1661 */ 3794 { (yyval.etree) = (yyvsp[-1].etree); } 3795 #line 3796 "ldgram.c" /* yacc.c:1661 */ 3796 break; 3797 3798 case 269: 3799 #line 1030 "ldgram.y" /* yacc.c:1661 */ 3800 { (yyval.etree) = 0; } 3801 #line 3802 "ldgram.c" /* yacc.c:1661 */ 3802 break; 3803 3804 case 270: 3805 #line 1034 "ldgram.y" /* yacc.c:1661 */ 3806 { (yyval.etree) = (yyvsp[-1].etree); } 3807 #line 3808 "ldgram.c" /* yacc.c:1661 */ 3808 break; 3809 3810 case 271: 3811 #line 1035 "ldgram.y" /* yacc.c:1661 */ 3812 { (yyval.etree) = 0; } 3813 #line 3814 "ldgram.c" /* yacc.c:1661 */ 3814 break; 3815 3816 case 272: 3817 #line 1039 "ldgram.y" /* yacc.c:1661 */ 3818 { (yyval.token) = ALIGN_WITH_INPUT; } 3819 #line 3820 "ldgram.c" /* yacc.c:1661 */ 3820 break; 3821 3822 case 273: 3823 #line 1040 "ldgram.y" /* yacc.c:1661 */ 3824 { (yyval.token) = 0; } 3825 #line 3826 "ldgram.c" /* yacc.c:1661 */ 3826 break; 3827 3828 case 274: 3829 #line 1044 "ldgram.y" /* yacc.c:1661 */ 3830 { (yyval.etree) = (yyvsp[-1].etree); } 3831 #line 3832 "ldgram.c" /* yacc.c:1661 */ 3832 break; 3833 3834 case 275: 3835 #line 1045 "ldgram.y" /* yacc.c:1661 */ 3836 { (yyval.etree) = 0; } 3837 #line 3838 "ldgram.c" /* yacc.c:1661 */ 3838 break; 3839 3840 case 276: 3841 #line 1049 "ldgram.y" /* yacc.c:1661 */ 3842 { (yyval.token) = ONLY_IF_RO; } 3843 #line 3844 "ldgram.c" /* yacc.c:1661 */ 3844 break; 3845 3846 case 277: 3847 #line 1050 "ldgram.y" /* yacc.c:1661 */ 3848 { (yyval.token) = ONLY_IF_RW; } 3849 #line 3850 "ldgram.c" /* yacc.c:1661 */ 3850 break; 3851 3852 case 278: 3853 #line 1051 "ldgram.y" /* yacc.c:1661 */ 3854 { (yyval.token) = SPECIAL; } 3855 #line 3856 "ldgram.c" /* yacc.c:1661 */ 3856 break; 3857 3858 case 279: 3859 #line 1052 "ldgram.y" /* yacc.c:1661 */ 3860 { (yyval.token) = 0; } 3861 #line 3862 "ldgram.c" /* yacc.c:1661 */ 3862 break; 3863 3864 case 280: 3865 #line 1055 "ldgram.y" /* yacc.c:1661 */ 3866 { ldlex_expression(); } 3867 #line 3868 "ldgram.c" /* yacc.c:1661 */ 3868 break; 3869 3870 case 281: 3871 #line 1060 "ldgram.y" /* yacc.c:1661 */ 3872 { ldlex_popstate (); ldlex_script (); } 3873 #line 3874 "ldgram.c" /* yacc.c:1661 */ 3874 break; 3875 3876 case 282: 3877 #line 1063 "ldgram.y" /* yacc.c:1661 */ 3878 { 3879 lang_enter_output_section_statement((yyvsp[-9].name), (yyvsp[-7].etree), 3880 sectype, 3881 (yyvsp[-5].etree), (yyvsp[-3].etree), (yyvsp[-6].etree), (yyvsp[-1].token), (yyvsp[-4].token)); 3882 } 3883 #line 3884 "ldgram.c" /* yacc.c:1661 */ 3884 break; 3885 3886 case 283: 3887 #line 1069 "ldgram.y" /* yacc.c:1661 */ 3888 { ldlex_popstate (); ldlex_expression (); } 3889 #line 3890 "ldgram.c" /* yacc.c:1661 */ 3890 break; 3891 3892 case 284: 3893 #line 1071 "ldgram.y" /* yacc.c:1661 */ 3894 { 3895 ldlex_popstate (); 3896 lang_leave_output_section_statement ((yyvsp[0].fill), (yyvsp[-3].name), (yyvsp[-1].section_phdr), (yyvsp[-2].name)); 3897 } 3898 #line 3899 "ldgram.c" /* yacc.c:1661 */ 3899 break; 3900 3901 case 285: 3902 #line 1076 "ldgram.y" /* yacc.c:1661 */ 3903 {} 3904 #line 3905 "ldgram.c" /* yacc.c:1661 */ 3905 break; 3906 3907 case 286: 3908 #line 1078 "ldgram.y" /* yacc.c:1661 */ 3909 { ldlex_expression (); } 3910 #line 3911 "ldgram.c" /* yacc.c:1661 */ 3911 break; 3912 3913 case 287: 3914 #line 1080 "ldgram.y" /* yacc.c:1661 */ 3915 { ldlex_popstate (); ldlex_script (); } 3916 #line 3917 "ldgram.c" /* yacc.c:1661 */ 3917 break; 3918 3919 case 288: 3920 #line 1082 "ldgram.y" /* yacc.c:1661 */ 3921 { 3922 lang_enter_overlay ((yyvsp[-5].etree), (yyvsp[-2].etree)); 3923 } 3924 #line 3925 "ldgram.c" /* yacc.c:1661 */ 3925 break; 3926 3927 case 289: 3928 #line 1087 "ldgram.y" /* yacc.c:1661 */ 3929 { ldlex_popstate (); ldlex_expression (); } 3930 #line 3931 "ldgram.c" /* yacc.c:1661 */ 3931 break; 3932 3933 case 290: 3934 #line 1089 "ldgram.y" /* yacc.c:1661 */ 3935 { 3936 ldlex_popstate (); 3937 lang_leave_overlay ((yyvsp[-11].etree), (int) (yyvsp[-12].integer), 3938 (yyvsp[0].fill), (yyvsp[-3].name), (yyvsp[-1].section_phdr), (yyvsp[-2].name)); 3939 } 3940 #line 3941 "ldgram.c" /* yacc.c:1661 */ 3941 break; 3942 3943 case 292: 3944 #line 1099 "ldgram.y" /* yacc.c:1661 */ 3945 { ldlex_expression (); } 3946 #line 3947 "ldgram.c" /* yacc.c:1661 */ 3947 break; 3948 3949 case 293: 3950 #line 1101 "ldgram.y" /* yacc.c:1661 */ 3951 { 3952 ldlex_popstate (); 3953 lang_add_assignment (exp_assign (".", (yyvsp[0].etree), FALSE)); 3954 } 3955 #line 3956 "ldgram.c" /* yacc.c:1661 */ 3956 break; 3957 3958 case 295: 3959 #line 1107 "ldgram.y" /* yacc.c:1661 */ 3960 { ldlex_script (); ldfile_open_command_file((yyvsp[0].name)); } 3961 #line 3962 "ldgram.c" /* yacc.c:1661 */ 3962 break; 3963 3964 case 296: 3965 #line 1109 "ldgram.y" /* yacc.c:1661 */ 3966 { ldlex_popstate (); } 3967 #line 3968 "ldgram.c" /* yacc.c:1661 */ 3968 break; 3969 3970 case 297: 3971 #line 1113 "ldgram.y" /* yacc.c:1661 */ 3972 { sectype = noload_section; } 3973 #line 3974 "ldgram.c" /* yacc.c:1661 */ 3974 break; 3975 3976 case 298: 3977 #line 1114 "ldgram.y" /* yacc.c:1661 */ 3978 { sectype = noalloc_section; } 3979 #line 3980 "ldgram.c" /* yacc.c:1661 */ 3980 break; 3981 3982 case 299: 3983 #line 1115 "ldgram.y" /* yacc.c:1661 */ 3984 { sectype = noalloc_section; } 3985 #line 3986 "ldgram.c" /* yacc.c:1661 */ 3986 break; 3987 3988 case 300: 3989 #line 1116 "ldgram.y" /* yacc.c:1661 */ 3990 { sectype = noalloc_section; } 3991 #line 3992 "ldgram.c" /* yacc.c:1661 */ 3992 break; 3993 3994 case 301: 3995 #line 1117 "ldgram.y" /* yacc.c:1661 */ 3996 { sectype = noalloc_section; } 3997 #line 3998 "ldgram.c" /* yacc.c:1661 */ 3998 break; 3999 4000 case 303: 4001 #line 1122 "ldgram.y" /* yacc.c:1661 */ 4002 { sectype = normal_section; } 4003 #line 4004 "ldgram.c" /* yacc.c:1661 */ 4004 break; 4005 4006 case 304: 4007 #line 1123 "ldgram.y" /* yacc.c:1661 */ 4008 { sectype = normal_section; } 4009 #line 4010 "ldgram.c" /* yacc.c:1661 */ 4010 break; 4011 4012 case 305: 4013 #line 1127 "ldgram.y" /* yacc.c:1661 */ 4014 { (yyval.etree) = (yyvsp[-2].etree); } 4015 #line 4016 "ldgram.c" /* yacc.c:1661 */ 4016 break; 4017 4018 case 306: 4019 #line 1128 "ldgram.y" /* yacc.c:1661 */ 4020 { (yyval.etree) = (etree_type *)NULL; } 4021 #line 4022 "ldgram.c" /* yacc.c:1661 */ 4022 break; 4023 4024 case 307: 4025 #line 1133 "ldgram.y" /* yacc.c:1661 */ 4026 { (yyval.etree) = (yyvsp[-3].etree); } 4027 #line 4028 "ldgram.c" /* yacc.c:1661 */ 4028 break; 4029 4030 case 308: 4031 #line 1135 "ldgram.y" /* yacc.c:1661 */ 4032 { (yyval.etree) = (yyvsp[-7].etree); } 4033 #line 4034 "ldgram.c" /* yacc.c:1661 */ 4034 break; 4035 4036 case 309: 4037 #line 1139 "ldgram.y" /* yacc.c:1661 */ 4038 { (yyval.etree) = (yyvsp[-1].etree); } 4039 #line 4040 "ldgram.c" /* yacc.c:1661 */ 4040 break; 4041 4042 case 310: 4043 #line 1140 "ldgram.y" /* yacc.c:1661 */ 4044 { (yyval.etree) = (etree_type *) NULL; } 4045 #line 4046 "ldgram.c" /* yacc.c:1661 */ 4046 break; 4047 4048 case 311: 4049 #line 1145 "ldgram.y" /* yacc.c:1661 */ 4050 { (yyval.integer) = 0; } 4051 #line 4052 "ldgram.c" /* yacc.c:1661 */ 4052 break; 4053 4054 case 312: 4055 #line 1147 "ldgram.y" /* yacc.c:1661 */ 4056 { (yyval.integer) = 1; } 4057 #line 4058 "ldgram.c" /* yacc.c:1661 */ 4058 break; 4059 4060 case 313: 4061 #line 1152 "ldgram.y" /* yacc.c:1661 */ 4062 { (yyval.name) = (yyvsp[0].name); } 4063 #line 4064 "ldgram.c" /* yacc.c:1661 */ 4064 break; 4065 4066 case 314: 4067 #line 1153 "ldgram.y" /* yacc.c:1661 */ 4068 { (yyval.name) = DEFAULT_MEMORY_REGION; } 4069 #line 4070 "ldgram.c" /* yacc.c:1661 */ 4070 break; 4071 4072 case 315: 4073 #line 1158 "ldgram.y" /* yacc.c:1661 */ 4074 { 4075 (yyval.section_phdr) = NULL; 4076 } 4077 #line 4078 "ldgram.c" /* yacc.c:1661 */ 4078 break; 4079 4080 case 316: 4081 #line 1162 "ldgram.y" /* yacc.c:1661 */ 4082 { 4083 struct lang_output_section_phdr_list *n; 4084 4085 n = ((struct lang_output_section_phdr_list *) 4086 xmalloc (sizeof *n)); 4087 n->name = (yyvsp[0].name); 4088 n->used = FALSE; 4089 n->next = (yyvsp[-2].section_phdr); 4090 (yyval.section_phdr) = n; 4091 } 4092 #line 4093 "ldgram.c" /* yacc.c:1661 */ 4093 break; 4094 4095 case 318: 4096 #line 1178 "ldgram.y" /* yacc.c:1661 */ 4097 { 4098 ldlex_script (); 4099 lang_enter_overlay_section ((yyvsp[0].name)); 4100 } 4101 #line 4102 "ldgram.c" /* yacc.c:1661 */ 4102 break; 4103 4104 case 319: 4105 #line 1183 "ldgram.y" /* yacc.c:1661 */ 4106 { ldlex_popstate (); ldlex_expression (); } 4107 #line 4108 "ldgram.c" /* yacc.c:1661 */ 4108 break; 4109 4110 case 320: 4111 #line 1185 "ldgram.y" /* yacc.c:1661 */ 4112 { 4113 ldlex_popstate (); 4114 lang_leave_overlay_section ((yyvsp[0].fill), (yyvsp[-1].section_phdr)); 4115 } 4116 #line 4117 "ldgram.c" /* yacc.c:1661 */ 4117 break; 4118 4119 case 325: 4120 #line 1202 "ldgram.y" /* yacc.c:1661 */ 4121 { ldlex_expression (); } 4122 #line 4123 "ldgram.c" /* yacc.c:1661 */ 4123 break; 4124 4125 case 326: 4126 #line 1203 "ldgram.y" /* yacc.c:1661 */ 4127 { ldlex_popstate (); } 4128 #line 4129 "ldgram.c" /* yacc.c:1661 */ 4129 break; 4130 4131 case 327: 4132 #line 1205 "ldgram.y" /* yacc.c:1661 */ 4133 { 4134 lang_new_phdr ((yyvsp[-5].name), (yyvsp[-3].etree), (yyvsp[-2].phdr).filehdr, (yyvsp[-2].phdr).phdrs, (yyvsp[-2].phdr).at, 4135 (yyvsp[-2].phdr).flags); 4136 } 4137 #line 4138 "ldgram.c" /* yacc.c:1661 */ 4138 break; 4139 4140 case 328: 4141 #line 1213 "ldgram.y" /* yacc.c:1661 */ 4142 { 4143 (yyval.etree) = (yyvsp[0].etree); 4144 4145 if ((yyvsp[0].etree)->type.node_class == etree_name 4146 && (yyvsp[0].etree)->type.node_code == NAME) 4147 { 4148 const char *s; 4149 unsigned int i; 4150 static const char * const phdr_types[] = 4151 { 4152 "PT_NULL", "PT_LOAD", "PT_DYNAMIC", 4153 "PT_INTERP", "PT_NOTE", "PT_SHLIB", 4154 "PT_PHDR", "PT_TLS" 4155 }; 4156 4157 s = (yyvsp[0].etree)->name.name; 4158 for (i = 0; 4159 i < sizeof phdr_types / sizeof phdr_types[0]; 4160 i++) 4161 if (strcmp (s, phdr_types[i]) == 0) 4162 { 4163 (yyval.etree) = exp_intop (i); 4164 break; 4165 } 4166 if (i == sizeof phdr_types / sizeof phdr_types[0]) 4167 { 4168 if (strcmp (s, "PT_GNU_EH_FRAME") == 0) 4169 (yyval.etree) = exp_intop (0x6474e550); 4170 else if (strcmp (s, "PT_GNU_STACK") == 0) 4171 (yyval.etree) = exp_intop (0x6474e551); 4172 else 4173 { 4174 einfo (_("\ 4175 %X%P:%S: unknown phdr type `%s' (try integer literal)\n"), 4176 NULL, s); 4177 (yyval.etree) = exp_intop (0); 4178 } 4179 } 4180 } 4181 } 4182 #line 4183 "ldgram.c" /* yacc.c:1661 */ 4183 break; 4184 4185 case 329: 4186 #line 1257 "ldgram.y" /* yacc.c:1661 */ 4187 { 4188 memset (&(yyval.phdr), 0, sizeof (struct phdr_info)); 4189 } 4190 #line 4191 "ldgram.c" /* yacc.c:1661 */ 4191 break; 4192 4193 case 330: 4194 #line 1261 "ldgram.y" /* yacc.c:1661 */ 4195 { 4196 (yyval.phdr) = (yyvsp[0].phdr); 4197 if (strcmp ((yyvsp[-2].name), "FILEHDR") == 0 && (yyvsp[-1].etree) == NULL) 4198 (yyval.phdr).filehdr = TRUE; 4199 else if (strcmp ((yyvsp[-2].name), "PHDRS") == 0 && (yyvsp[-1].etree) == NULL) 4200 (yyval.phdr).phdrs = TRUE; 4201 else if (strcmp ((yyvsp[-2].name), "FLAGS") == 0 && (yyvsp[-1].etree) != NULL) 4202 (yyval.phdr).flags = (yyvsp[-1].etree); 4203 else 4204 einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), 4205 NULL, (yyvsp[-2].name)); 4206 } 4207 #line 4208 "ldgram.c" /* yacc.c:1661 */ 4208 break; 4209 4210 case 331: 4211 #line 1274 "ldgram.y" /* yacc.c:1661 */ 4212 { 4213 (yyval.phdr) = (yyvsp[0].phdr); 4214 (yyval.phdr).at = (yyvsp[-2].etree); 4215 } 4216 #line 4217 "ldgram.c" /* yacc.c:1661 */ 4217 break; 4218 4219 case 332: 4220 #line 1282 "ldgram.y" /* yacc.c:1661 */ 4221 { 4222 (yyval.etree) = NULL; 4223 } 4224 #line 4225 "ldgram.c" /* yacc.c:1661 */ 4225 break; 4226 4227 case 333: 4228 #line 1286 "ldgram.y" /* yacc.c:1661 */ 4229 { 4230 (yyval.etree) = (yyvsp[-1].etree); 4231 } 4232 #line 4233 "ldgram.c" /* yacc.c:1661 */ 4233 break; 4234 4235 case 334: 4236 #line 1292 "ldgram.y" /* yacc.c:1661 */ 4237 { 4238 ldlex_version_file (); 4239 PUSH_ERROR (_("dynamic list")); 4240 } 4241 #line 4242 "ldgram.c" /* yacc.c:1661 */ 4242 break; 4243 4244 case 335: 4245 #line 1297 "ldgram.y" /* yacc.c:1661 */ 4246 { 4247 ldlex_popstate (); 4248 POP_ERROR (); 4249 } 4250 #line 4251 "ldgram.c" /* yacc.c:1661 */ 4251 break; 4252 4253 case 339: 4254 #line 1314 "ldgram.y" /* yacc.c:1661 */ 4255 { 4256 lang_append_dynamic_list ((yyvsp[-1].versyms)); 4257 } 4258 #line 4259 "ldgram.c" /* yacc.c:1661 */ 4259 break; 4260 4261 case 340: 4262 #line 1322 "ldgram.y" /* yacc.c:1661 */ 4263 { 4264 ldlex_version_file (); 4265 PUSH_ERROR (_("VERSION script")); 4266 } 4267 #line 4268 "ldgram.c" /* yacc.c:1661 */ 4268 break; 4269 4270 case 341: 4271 #line 1327 "ldgram.y" /* yacc.c:1661 */ 4272 { 4273 ldlex_popstate (); 4274 POP_ERROR (); 4275 } 4276 #line 4277 "ldgram.c" /* yacc.c:1661 */ 4277 break; 4278 4279 case 342: 4280 #line 1336 "ldgram.y" /* yacc.c:1661 */ 4281 { 4282 ldlex_version_script (); 4283 } 4284 #line 4285 "ldgram.c" /* yacc.c:1661 */ 4285 break; 4286 4287 case 343: 4288 #line 1340 "ldgram.y" /* yacc.c:1661 */ 4289 { 4290 ldlex_popstate (); 4291 } 4292 #line 4293 "ldgram.c" /* yacc.c:1661 */ 4293 break; 4294 4295 case 346: 4296 #line 1352 "ldgram.y" /* yacc.c:1661 */ 4297 { 4298 lang_register_vers_node (NULL, (yyvsp[-2].versnode), NULL); 4299 } 4300 #line 4301 "ldgram.c" /* yacc.c:1661 */ 4301 break; 4302 4303 case 347: 4304 #line 1356 "ldgram.y" /* yacc.c:1661 */ 4305 { 4306 lang_register_vers_node ((yyvsp[-4].name), (yyvsp[-2].versnode), NULL); 4307 } 4308 #line 4309 "ldgram.c" /* yacc.c:1661 */ 4309 break; 4310 4311 case 348: 4312 #line 1360 "ldgram.y" /* yacc.c:1661 */ 4313 { 4314 lang_register_vers_node ((yyvsp[-5].name), (yyvsp[-3].versnode), (yyvsp[-1].deflist)); 4315 } 4316 #line 4317 "ldgram.c" /* yacc.c:1661 */ 4317 break; 4318 4319 case 349: 4320 #line 1367 "ldgram.y" /* yacc.c:1661 */ 4321 { 4322 (yyval.deflist) = lang_add_vers_depend (NULL, (yyvsp[0].name)); 4323 } 4324 #line 4325 "ldgram.c" /* yacc.c:1661 */ 4325 break; 4326 4327 case 350: 4328 #line 1371 "ldgram.y" /* yacc.c:1661 */ 4329 { 4330 (yyval.deflist) = lang_add_vers_depend ((yyvsp[-1].deflist), (yyvsp[0].name)); 4331 } 4332 #line 4333 "ldgram.c" /* yacc.c:1661 */ 4333 break; 4334 4335 case 351: 4336 #line 1378 "ldgram.y" /* yacc.c:1661 */ 4337 { 4338 (yyval.versnode) = lang_new_vers_node (NULL, NULL); 4339 } 4340 #line 4341 "ldgram.c" /* yacc.c:1661 */ 4341 break; 4342 4343 case 352: 4344 #line 1382 "ldgram.y" /* yacc.c:1661 */ 4345 { 4346 (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL); 4347 } 4348 #line 4349 "ldgram.c" /* yacc.c:1661 */ 4349 break; 4350 4351 case 353: 4352 #line 1386 "ldgram.y" /* yacc.c:1661 */ 4353 { 4354 (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL); 4355 } 4356 #line 4357 "ldgram.c" /* yacc.c:1661 */ 4357 break; 4358 4359 case 354: 4360 #line 1390 "ldgram.y" /* yacc.c:1661 */ 4361 { 4362 (yyval.versnode) = lang_new_vers_node (NULL, (yyvsp[-1].versyms)); 4363 } 4364 #line 4365 "ldgram.c" /* yacc.c:1661 */ 4365 break; 4366 4367 case 355: 4368 #line 1394 "ldgram.y" /* yacc.c:1661 */ 4369 { 4370 (yyval.versnode) = lang_new_vers_node ((yyvsp[-5].versyms), (yyvsp[-1].versyms)); 4371 } 4372 #line 4373 "ldgram.c" /* yacc.c:1661 */ 4373 break; 4374 4375 case 356: 4376 #line 1401 "ldgram.y" /* yacc.c:1661 */ 4377 { 4378 (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, FALSE); 4379 } 4380 #line 4381 "ldgram.c" /* yacc.c:1661 */ 4381 break; 4382 4383 case 357: 4384 #line 1405 "ldgram.y" /* yacc.c:1661 */ 4385 { 4386 (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, TRUE); 4387 } 4388 #line 4389 "ldgram.c" /* yacc.c:1661 */ 4389 break; 4390 4391 case 358: 4392 #line 1409 "ldgram.y" /* yacc.c:1661 */ 4393 { 4394 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, FALSE); 4395 } 4396 #line 4397 "ldgram.c" /* yacc.c:1661 */ 4397 break; 4398 4399 case 359: 4400 #line 1413 "ldgram.y" /* yacc.c:1661 */ 4401 { 4402 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, TRUE); 4403 } 4404 #line 4405 "ldgram.c" /* yacc.c:1661 */ 4405 break; 4406 4407 case 360: 4408 #line 1417 "ldgram.y" /* yacc.c:1661 */ 4409 { 4410 (yyval.name) = ldgram_vers_current_lang; 4411 ldgram_vers_current_lang = (yyvsp[-1].name); 4412 } 4413 #line 4414 "ldgram.c" /* yacc.c:1661 */ 4414 break; 4415 4416 case 361: 4417 #line 1422 "ldgram.y" /* yacc.c:1661 */ 4418 { 4419 struct bfd_elf_version_expr *pat; 4420 for (pat = (yyvsp[-2].versyms); pat->next != NULL; pat = pat->next); 4421 pat->next = (yyvsp[-8].versyms); 4422 (yyval.versyms) = (yyvsp[-2].versyms); 4423 ldgram_vers_current_lang = (yyvsp[-3].name); 4424 } 4425 #line 4426 "ldgram.c" /* yacc.c:1661 */ 4426 break; 4427 4428 case 362: 4429 #line 1430 "ldgram.y" /* yacc.c:1661 */ 4430 { 4431 (yyval.name) = ldgram_vers_current_lang; 4432 ldgram_vers_current_lang = (yyvsp[-1].name); 4433 } 4434 #line 4435 "ldgram.c" /* yacc.c:1661 */ 4435 break; 4436 4437 case 363: 4438 #line 1435 "ldgram.y" /* yacc.c:1661 */ 4439 { 4440 (yyval.versyms) = (yyvsp[-2].versyms); 4441 ldgram_vers_current_lang = (yyvsp[-3].name); 4442 } 4443 #line 4444 "ldgram.c" /* yacc.c:1661 */ 4444 break; 4445 4446 case 364: 4447 #line 1440 "ldgram.y" /* yacc.c:1661 */ 4448 { 4449 (yyval.versyms) = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, FALSE); 4450 } 4451 #line 4452 "ldgram.c" /* yacc.c:1661 */ 4452 break; 4453 4454 case 365: 4455 #line 1444 "ldgram.y" /* yacc.c:1661 */ 4456 { 4457 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "global", ldgram_vers_current_lang, FALSE); 4458 } 4459 #line 4460 "ldgram.c" /* yacc.c:1661 */ 4460 break; 4461 4462 case 366: 4463 #line 1448 "ldgram.y" /* yacc.c:1661 */ 4464 { 4465 (yyval.versyms) = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, FALSE); 4466 } 4467 #line 4468 "ldgram.c" /* yacc.c:1661 */ 4468 break; 4469 4470 case 367: 4471 #line 1452 "ldgram.y" /* yacc.c:1661 */ 4472 { 4473 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "local", ldgram_vers_current_lang, FALSE); 4474 } 4475 #line 4476 "ldgram.c" /* yacc.c:1661 */ 4476 break; 4477 4478 case 368: 4479 #line 1456 "ldgram.y" /* yacc.c:1661 */ 4480 { 4481 (yyval.versyms) = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, FALSE); 4482 } 4483 #line 4484 "ldgram.c" /* yacc.c:1661 */ 4484 break; 4485 4486 case 369: 4487 #line 1460 "ldgram.y" /* yacc.c:1661 */ 4488 { 4489 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "extern", ldgram_vers_current_lang, FALSE); 4490 } 4491 #line 4492 "ldgram.c" /* yacc.c:1661 */ 4492 break; 4493 4494 4495 #line 4496 "ldgram.c" /* yacc.c:1661 */ 4496 default: break; 4497 } 4498 /* User semantic actions sometimes alter yychar, and that requires 4499 that yytoken be updated with the new translation. We take the 4500 approach of translating immediately before every use of yytoken. 4501 One alternative is translating here after every semantic action, 4502 but that translation would be missed if the semantic action invokes 4503 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 4504 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 4505 incorrect destructor might then be invoked immediately. In the 4506 case of YYERROR or YYBACKUP, subsequent parser actions might lead 4507 to an incorrect destructor call or verbose syntax error message 4508 before the lookahead is translated. */ 4509 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 4510 4511 YYPOPSTACK (yylen); 4512 yylen = 0; 4513 YY_STACK_PRINT (yyss, yyssp); 4514 4515 *++yyvsp = yyval; 4516 4517 /* Now 'shift' the result of the reduction. Determine what state 4518 that goes to, based on the state we popped back to and the rule 4519 number reduced by. */ 4520 4521 yyn = yyr1[yyn]; 4522 4523 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 4524 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 4525 yystate = yytable[yystate]; 4526 else 4527 yystate = yydefgoto[yyn - YYNTOKENS]; 4528 4529 goto yynewstate; 4530 4531 4532 /*--------------------------------------. 4533 | yyerrlab -- here on detecting error. | 4534 `--------------------------------------*/ 4535 yyerrlab: 4536 /* Make sure we have latest lookahead translation. See comments at 4537 user semantic actions for why this is necessary. */ 4538 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 4539 4540 /* If not already recovering from an error, report this error. */ 4541 if (!yyerrstatus) 4542 { 4543 ++yynerrs; 4544 #if ! YYERROR_VERBOSE 4545 yyerror (YY_("syntax error")); 4546 #else 4547 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 4548 yyssp, yytoken) 4549 { 4550 char const *yymsgp = YY_("syntax error"); 4551 int yysyntax_error_status; 4552 yysyntax_error_status = YYSYNTAX_ERROR; 4553 if (yysyntax_error_status == 0) 4554 yymsgp = yymsg; 4555 else if (yysyntax_error_status == 1) 4556 { 4557 if (yymsg != yymsgbuf) 4558 YYSTACK_FREE (yymsg); 4559 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 4560 if (!yymsg) 4561 { 4562 yymsg = yymsgbuf; 4563 yymsg_alloc = sizeof yymsgbuf; 4564 yysyntax_error_status = 2; 4565 } 4566 else 4567 { 4568 yysyntax_error_status = YYSYNTAX_ERROR; 4569 yymsgp = yymsg; 4570 } 4571 } 4572 yyerror (yymsgp); 4573 if (yysyntax_error_status == 2) 4574 goto yyexhaustedlab; 4575 } 4576 # undef YYSYNTAX_ERROR 4577 #endif 4578 } 4579 4580 4581 4582 if (yyerrstatus == 3) 4583 { 4584 /* If just tried and failed to reuse lookahead token after an 4585 error, discard it. */ 4586 4587 if (yychar <= YYEOF) 4588 { 4589 /* Return failure if at end of input. */ 4590 if (yychar == YYEOF) 4591 YYABORT; 4592 } 4593 else 4594 { 4595 yydestruct ("Error: discarding", 4596 yytoken, &yylval); 4597 yychar = YYEMPTY; 4598 } 4599 } 4600 4601 /* Else will try to reuse lookahead token after shifting the error 4602 token. */ 4603 goto yyerrlab1; 4604 4605 4606 /*---------------------------------------------------. 4607 | yyerrorlab -- error raised explicitly by YYERROR. | 4608 `---------------------------------------------------*/ 4609 yyerrorlab: 4610 4611 /* Pacify compilers like GCC when the user code never invokes 4612 YYERROR and the label yyerrorlab therefore never appears in user 4613 code. */ 4614 if (/*CONSTCOND*/ 0) 4615 goto yyerrorlab; 4616 4617 /* Do not reclaim the symbols of the rule whose action triggered 4618 this YYERROR. */ 4619 YYPOPSTACK (yylen); 4620 yylen = 0; 4621 YY_STACK_PRINT (yyss, yyssp); 4622 yystate = *yyssp; 4623 goto yyerrlab1; 4624 4625 4626 /*-------------------------------------------------------------. 4627 | yyerrlab1 -- common code for both syntax error and YYERROR. | 4628 `-------------------------------------------------------------*/ 4629 yyerrlab1: 4630 yyerrstatus = 3; /* Each real token shifted decrements this. */ 4631 4632 for (;;) 4633 { 4634 yyn = yypact[yystate]; 4635 if (!yypact_value_is_default (yyn)) 4636 { 4637 yyn += YYTERROR; 4638 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 4639 { 4640 yyn = yytable[yyn]; 4641 if (0 < yyn) 4642 break; 4643 } 4644 } 4645 4646 /* Pop the current state because it cannot handle the error token. */ 4647 if (yyssp == yyss) 4648 YYABORT; 4649 4650 4651 yydestruct ("Error: popping", 4652 yystos[yystate], yyvsp); 4653 YYPOPSTACK (1); 4654 yystate = *yyssp; 4655 YY_STACK_PRINT (yyss, yyssp); 4656 } 4657 4658 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4659 *++yyvsp = yylval; 4660 YY_IGNORE_MAYBE_UNINITIALIZED_END 4661 4662 4663 /* Shift the error token. */ 4664 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 4665 4666 yystate = yyn; 4667 goto yynewstate; 4668 4669 4670 /*-------------------------------------. 4671 | yyacceptlab -- YYACCEPT comes here. | 4672 `-------------------------------------*/ 4673 yyacceptlab: 4674 yyresult = 0; 4675 goto yyreturn; 4676 4677 /*-----------------------------------. 4678 | yyabortlab -- YYABORT comes here. | 4679 `-----------------------------------*/ 4680 yyabortlab: 4681 yyresult = 1; 4682 goto yyreturn; 4683 4684 #if !defined yyoverflow || YYERROR_VERBOSE 4685 /*-------------------------------------------------. 4686 | yyexhaustedlab -- memory exhaustion comes here. | 4687 `-------------------------------------------------*/ 4688 yyexhaustedlab: 4689 yyerror (YY_("memory exhausted")); 4690 yyresult = 2; 4691 /* Fall through. */ 4692 #endif 4693 4694 yyreturn: 4695 if (yychar != YYEMPTY) 4696 { 4697 /* Make sure we have latest lookahead translation. See comments at 4698 user semantic actions for why this is necessary. */ 4699 yytoken = YYTRANSLATE (yychar); 4700 yydestruct ("Cleanup: discarding lookahead", 4701 yytoken, &yylval); 4702 } 4703 /* Do not reclaim the symbols of the rule whose action triggered 4704 this YYABORT or YYACCEPT. */ 4705 YYPOPSTACK (yylen); 4706 YY_STACK_PRINT (yyss, yyssp); 4707 while (yyssp != yyss) 4708 { 4709 yydestruct ("Cleanup: popping", 4710 yystos[*yyssp], yyvsp); 4711 YYPOPSTACK (1); 4712 } 4713 #ifndef yyoverflow 4714 if (yyss != yyssa) 4715 YYSTACK_FREE (yyss); 4716 #endif 4717 #if YYERROR_VERBOSE 4718 if (yymsg != yymsgbuf) 4719 YYSTACK_FREE (yymsg); 4720 #endif 4721 return yyresult; 4722 } 4723 #line 1470 "ldgram.y" /* yacc.c:1906 */ 4724 4725 void 4726 yyerror(arg) 4727 const char *arg; 4728 { 4729 if (ldfile_assumed_script) 4730 einfo (_("%P:%s: file format not recognized; treating as linker script\n"), 4731 ldlex_filename ()); 4732 if (error_index > 0 && error_index < ERROR_NAME_MAX) 4733 einfo ("%P%F:%S: %s in %s\n", NULL, arg, error_names[error_index - 1]); 4734 else 4735 einfo ("%P%F:%S: %s\n", NULL, arg); 4736 } 4737