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