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