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