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