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