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