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