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