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