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