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