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