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