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