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