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