1 /* A Bison parser, made by GNU Bison 2.1. */
3 /* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA. */
21 /* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
26 /* Written by Richard Stallman by simplifying the original so called
27 ``semantic'' parser. */
29 /* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local
31 variables, as they might otherwise be expanded by user macros.
32 There are some unavoidable exceptions within include files to
33 define necessary library symbols; they are noted "INFRINGES ON
34 USER NAME SPACE" below. */
36 /* Identify Bison output. */
40 #define YYBISON_VERSION "2.1"
43 #define YYSKELETON_NAME "yacc.c"
48 /* Using locations. */
49 #define YYLSP_NEEDED 0
56 /* Put the tokens into the symbol table, so that GDB and other debuggers
93 DATA_SEGMENT_ALIGN
= 292,
94 DATA_SEGMENT_RELRO_END
= 293,
95 DATA_SEGMENT_END
= 294,
97 SORT_BY_ALIGNMENT
= 296,
100 FORCE_COMMON_ALLOCATION
= 299,
102 INHIBIT_COMMON_ALLOCATION
= 301,
132 CREATE_OBJECT_SYMBOLS
= 331,
141 PROVIDE_HIDDEN
= 340,
161 INPUT_MRI_SCRIPT
= 360,
167 VERS_IDENTIFIER
= 366,
171 INPUT_VERSION_SCRIPT
= 370,
178 INPUT_DYNAMIC_LIST
= 377
216 #define DATA_SEGMENT_ALIGN 292
217 #define DATA_SEGMENT_RELRO_END 293
218 #define DATA_SEGMENT_END 294
219 #define SORT_BY_NAME 295
220 #define SORT_BY_ALIGNMENT 296
221 #define SIZEOF_HEADERS 297
222 #define OUTPUT_FORMAT 298
223 #define FORCE_COMMON_ALLOCATION 299
224 #define OUTPUT_ARCH 300
225 #define INHIBIT_COMMON_ALLOCATION 301
226 #define SEGMENT_START 302
236 #define SEARCH_DIR 312
251 #define NOCROSSREFS 327
255 #define CREATE_OBJECT_SYMBOLS 331
259 #define CONSTRUCTORS 335
264 #define PROVIDE_HIDDEN 340
265 #define AS_NEEDED 341
278 #define DEFSYMEND 354
283 #define INPUT_SCRIPT 359
284 #define INPUT_MRI_SCRIPT 360
285 #define INPUT_DEFSYM 361
290 #define VERS_IDENTIFIER 366
294 #define INPUT_VERSION_SCRIPT 370
296 #define ONLY_IF_RO 372
297 #define ONLY_IF_RW 373
299 #define EXCLUDE_FILE 375
301 #define INPUT_DYNAMIC_LIST 377
306 /* Copy the first part of user declarations. */
313 #define DONTDECLARE_MALLOC
334 static enum section_type sectype
;
335 static lang_memory_region_type
*region
;
337 bfd_boolean ldgram_had_keep
= FALSE
;
338 char *ldgram_vers_current_lang
= NULL
;
340 #define ERROR_NAME_MAX 20
341 static char *error_names
[ERROR_NAME_MAX
];
342 static int error_index
;
343 #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
344 #define POP_ERROR() error_index--;
347 /* Enabling traces. */
352 /* Enabling verbose error messages. */
353 #ifdef YYERROR_VERBOSE
354 # undef YYERROR_VERBOSE
355 # define YYERROR_VERBOSE 1
357 # define YYERROR_VERBOSE 0
360 /* Enabling the token table. */
361 #ifndef YYTOKEN_TABLE
362 # define YYTOKEN_TABLE 0
365 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
367 typedef union YYSTYPE
{
377 struct wildcard_spec wildcard
;
378 struct wildcard_list
*wildcard_list
;
379 struct name_list
*name_list
;
381 union etree_union
*etree
;
386 union etree_union
*at
;
387 union etree_union
*flags
;
389 struct lang_nocrossref
*nocrossref
;
390 struct lang_output_section_phdr_list
*section_phdr
;
391 struct bfd_elf_version_deps
*deflist
;
392 struct bfd_elf_version_expr
*versyms
;
393 struct bfd_elf_version_tree
*versnode
;
395 /* Line 196 of yacc.c. */
397 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
398 # define YYSTYPE_IS_DECLARED 1
399 # define YYSTYPE_IS_TRIVIAL 1
404 /* Copy the second part of user declarations. */
407 /* Line 219 of yacc.c. */
410 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
411 # define YYSIZE_T __SIZE_TYPE__
413 #if ! defined (YYSIZE_T) && defined (size_t)
414 # define YYSIZE_T size_t
416 #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
417 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
418 # define YYSIZE_T size_t
420 #if ! defined (YYSIZE_T)
421 # define YYSIZE_T unsigned int
427 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
428 # define YY_(msgid) dgettext ("bison-runtime", msgid)
432 # define YY_(msgid) msgid
436 #if ! defined (yyoverflow) || YYERROR_VERBOSE
438 /* The parser invokes alloca or malloc; define the necessary symbols. */
440 # ifdef YYSTACK_USE_ALLOCA
441 # if YYSTACK_USE_ALLOCA
443 # define YYSTACK_ALLOC __builtin_alloca
445 # define YYSTACK_ALLOC alloca
446 # if defined (__STDC__) || defined (__cplusplus)
447 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
448 # define YYINCLUDED_STDLIB_H
454 # ifdef YYSTACK_ALLOC
455 /* Pacify GCC's `empty if-body' warning. */
456 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
457 # ifndef YYSTACK_ALLOC_MAXIMUM
458 /* The OS might guarantee only one guard page at the bottom of the stack,
459 and a page size can be as small as 4096 bytes. So we cannot safely
460 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
461 to allow for a few compiler-allocated temporary stack slots. */
462 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
465 # define YYSTACK_ALLOC YYMALLOC
466 # define YYSTACK_FREE YYFREE
467 # ifndef YYSTACK_ALLOC_MAXIMUM
468 # define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
474 # define YYMALLOC malloc
475 # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
476 && (defined (__STDC__) || defined (__cplusplus)))
477 void *malloc (YYSIZE_T
); /* INFRINGES ON USER NAME SPACE */
482 # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
483 && (defined (__STDC__) || defined (__cplusplus)))
484 void free (void *); /* INFRINGES ON USER NAME SPACE */
491 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
494 #if (! defined (yyoverflow) \
495 && (! defined (__cplusplus) \
496 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
498 /* A type that is properly aligned for any stack member. */
505 /* The size of the maximum gap between one aligned stack and the next. */
506 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
508 /* The size of an array large to enough to hold all stacks, each with
510 # define YYSTACK_BYTES(N) \
511 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
512 + YYSTACK_GAP_MAXIMUM)
514 /* Copy COUNT objects from FROM to TO. The source and destination do
517 # if defined (__GNUC__) && 1 < __GNUC__
518 # define YYCOPY(To, From, Count) \
519 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
521 # define YYCOPY(To, From, Count) \
525 for (yyi = 0; yyi < (Count); yyi++) \
526 (To)[yyi] = (From)[yyi]; \
532 /* Relocate STACK from its old location to the new one. The
533 local variables YYSIZE and YYSTACKSIZE give the old and new number of
534 elements in the stack, and YYPTR gives the new location of the
535 stack. Advance YYPTR to a properly aligned location for the next
537 # define YYSTACK_RELOCATE(Stack) \
540 YYSIZE_T yynewbytes; \
541 YYCOPY (&yyptr->Stack, Stack, yysize); \
542 Stack = &yyptr->Stack; \
543 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
544 yyptr += yynewbytes / sizeof (*yyptr); \
550 #if defined (__STDC__) || defined (__cplusplus)
551 typedef signed char yysigned_char
;
553 typedef short int yysigned_char
;
556 /* YYFINAL -- State number of the termination state. */
558 /* YYLAST -- Last index in YYTABLE. */
561 /* YYNTOKENS -- Number of terminals. */
562 #define YYNTOKENS 146
563 /* YYNNTS -- Number of nonterminals. */
565 /* YYNRULES -- Number of rules. */
567 /* YYNRULES -- Number of states. */
568 #define YYNSTATES 757
570 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
572 #define YYMAXUTOK 377
574 #define YYTRANSLATE(YYX) \
575 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
577 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
578 static const unsigned char yytranslate
[] =
580 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 144, 2, 2, 2, 34, 21, 2,
584 37, 141, 32, 30, 139, 31, 2, 33, 2, 2,
585 2, 2, 2, 2, 2, 2, 2, 2, 16, 140,
586 24, 6, 25, 15, 2, 2, 2, 2, 2, 2,
587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
589 2, 142, 2, 143, 20, 2, 2, 2, 2, 2,
590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
592 2, 2, 2, 56, 19, 57, 145, 2, 2, 2,
593 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
595 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
596 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
598 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
599 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
600 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
601 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
602 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
603 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
604 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
605 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
606 5, 7, 8, 9, 10, 11, 12, 13, 14, 17,
607 18, 22, 23, 26, 27, 28, 29, 35, 36, 38,
608 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
609 49, 50, 51, 52, 53, 54, 55, 58, 59, 60,
610 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
611 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
612 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
613 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
614 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
615 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
616 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
617 131, 132, 133, 134, 135, 136, 137, 138
621 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
623 static const unsigned short int yyprhs
[] =
625 0, 0, 3, 6, 9, 12, 15, 18, 20, 21,
626 26, 27, 30, 34, 35, 38, 43, 45, 47, 50,
627 52, 57, 62, 66, 69, 74, 78, 83, 88, 93,
628 98, 103, 106, 109, 112, 117, 122, 125, 128, 131,
629 134, 135, 141, 144, 145, 149, 152, 153, 155, 159,
630 161, 165, 166, 168, 172, 173, 176, 178, 181, 185,
631 186, 189, 192, 193, 195, 197, 199, 201, 203, 205,
632 207, 209, 211, 213, 218, 223, 228, 233, 242, 247,
633 249, 251, 256, 257, 263, 268, 269, 275, 280, 285,
634 289, 293, 295, 299, 302, 304, 308, 311, 312, 318,
635 319, 327, 328, 335, 340, 343, 346, 347, 352, 355,
636 356, 364, 366, 368, 370, 372, 378, 383, 388, 396,
637 404, 412, 420, 429, 432, 434, 438, 440, 442, 446,
638 451, 453, 454, 460, 463, 465, 467, 469, 474, 476,
639 481, 486, 487, 496, 497, 503, 506, 508, 509, 511,
640 513, 515, 517, 519, 521, 523, 526, 527, 529, 531,
641 533, 535, 537, 539, 541, 543, 545, 547, 551, 555,
642 562, 569, 571, 572, 577, 579, 580, 584, 586, 587,
643 595, 596, 602, 606, 610, 611, 615, 617, 620, 622,
644 625, 630, 635, 639, 643, 645, 650, 654, 655, 657,
645 659, 660, 663, 667, 668, 671, 674, 678, 683, 686,
646 689, 692, 696, 700, 704, 708, 712, 716, 720, 724,
647 728, 732, 736, 740, 744, 748, 752, 756, 762, 766,
648 770, 775, 777, 779, 784, 789, 794, 799, 804, 809,
649 814, 821, 828, 835, 840, 847, 852, 854, 861, 868,
650 875, 880, 885, 889, 890, 895, 896, 901, 902, 907,
651 908, 910, 912, 914, 915, 916, 917, 918, 919, 920,
652 940, 941, 942, 943, 944, 945, 964, 965, 966, 974,
653 975, 981, 983, 985, 987, 989, 991, 995, 996, 999,
654 1003, 1006, 1013, 1024, 1027, 1029, 1030, 1032, 1035, 1036,
655 1037, 1041, 1042, 1043, 1044, 1045, 1057, 1062, 1063, 1066,
656 1067, 1068, 1075, 1077, 1078, 1082, 1088, 1089, 1093, 1094,
657 1097, 1099, 1102, 1107, 1110, 1111, 1114, 1115, 1121, 1123,
658 1126, 1131, 1137, 1144, 1146, 1149, 1150, 1153, 1158, 1163,
659 1172, 1174, 1176, 1180, 1184, 1185, 1195, 1196, 1204, 1206,
660 1210, 1212, 1216, 1218, 1222, 1223
663 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
664 static const short int yyrhs
[] =
666 147, 0, -1, 120, 163, -1, 121, 151, -1, 131,
667 260, -1, 138, 255, -1, 122, 149, -1, 4, -1,
668 -1, 150, 4, 6, 216, -1, -1, 152, 153, -1,
669 153, 154, 108, -1, -1, 103, 216, -1, 103, 216,
670 139, 216, -1, 4, -1, 104, -1, 110, 156, -1,
671 109, -1, 114, 4, 6, 216, -1, 114, 4, 139,
672 216, -1, 114, 4, 216, -1, 113, 4, -1, 105,
673 4, 139, 216, -1, 105, 4, 216, -1, 105, 4,
674 6, 216, -1, 38, 4, 6, 216, -1, 38, 4,
675 139, 216, -1, 97, 4, 6, 216, -1, 97, 4,
676 139, 216, -1, 106, 158, -1, 107, 157, -1, 111,
677 4, -1, 117, 4, 139, 4, -1, 117, 4, 139,
678 3, -1, 116, 216, -1, 118, 3, -1, 123, 159,
679 -1, 124, 160, -1, -1, 64, 148, 155, 153, 36,
680 -1, 125, 4, -1, -1, 156, 139, 4, -1, 156,
681 4, -1, -1, 4, -1, 157, 139, 4, -1, 4,
682 -1, 158, 139, 4, -1, -1, 4, -1, 159, 139,
683 4, -1, -1, 161, 162, -1, 4, -1, 162, 4,
684 -1, 162, 139, 4, -1, -1, 164, 165, -1, 165,
685 166, -1, -1, 196, -1, 173, -1, 247, -1, 207,
686 -1, 208, -1, 210, -1, 212, -1, 175, -1, 262,
687 -1, 140, -1, 72, 37, 4, 141, -1, 73, 37,
688 148, 141, -1, 95, 37, 148, 141, -1, 59, 37,
689 4, 141, -1, 59, 37, 4, 139, 4, 139, 4,
690 141, -1, 61, 37, 4, 141, -1, 60, -1, 62,
691 -1, 93, 37, 169, 141, -1, -1, 94, 167, 37,
692 169, 141, -1, 74, 37, 148, 141, -1, -1, 64,
693 148, 168, 165, 36, -1, 88, 37, 213, 141, -1,
694 124, 37, 160, 141, -1, 48, 49, 4, -1, 48,
695 50, 4, -1, 4, -1, 169, 139, 4, -1, 169,
696 4, -1, 5, -1, 169, 139, 5, -1, 169, 5,
697 -1, -1, 102, 37, 170, 169, 141, -1, -1, 169,
698 139, 102, 37, 171, 169, 141, -1, -1, 169, 102,
699 37, 172, 169, 141, -1, 46, 56, 174, 57, -1,
700 174, 222, -1, 174, 175, -1, -1, 75, 37, 4,
701 141, -1, 194, 193, -1, -1, 112, 176, 37, 216,
702 139, 4, 141, -1, 4, -1, 32, -1, 15, -1,
703 177, -1, 136, 37, 179, 141, 177, -1, 54, 37,
704 177, 141, -1, 55, 37, 177, 141, -1, 54, 37,
705 55, 37, 177, 141, 141, -1, 54, 37, 54, 37,
706 177, 141, 141, -1, 55, 37, 54, 37, 177, 141,
707 141, -1, 55, 37, 55, 37, 177, 141, 141, -1,
708 54, 37, 136, 37, 179, 141, 177, 141, -1, 179,
709 177, -1, 177, -1, 180, 195, 178, -1, 178, -1,
710 4, -1, 142, 180, 143, -1, 178, 37, 180, 141,
711 -1, 181, -1, -1, 132, 37, 183, 181, 141, -1,
712 194, 193, -1, 92, -1, 140, -1, 96, -1, 54,
713 37, 96, 141, -1, 182, -1, 189, 37, 214, 141,
714 -1, 90, 37, 190, 141, -1, -1, 112, 185, 37,
715 216, 139, 4, 141, 193, -1, -1, 64, 148, 186,
716 188, 36, -1, 187, 184, -1, 184, -1, -1, 187,
717 -1, 41, -1, 42, -1, 43, -1, 44, -1, 45,
718 -1, 214, -1, 6, 190, -1, -1, 14, -1, 13,
719 -1, 12, -1, 11, -1, 10, -1, 9, -1, 8,
720 -1, 7, -1, 140, -1, 139, -1, 4, 6, 214,
721 -1, 4, 192, 214, -1, 100, 37, 4, 6, 214,
722 141, -1, 101, 37, 4, 6, 214, 141, -1, 139,
723 -1, -1, 65, 56, 197, 57, -1, 198, -1, -1,
724 198, 195, 199, -1, 199, -1, -1, 4, 200, 204,
725 16, 202, 195, 203, -1, -1, 64, 148, 201, 197,
726 36, -1, 89, 6, 214, -1, 91, 6, 214, -1,
727 -1, 37, 205, 141, -1, 206, -1, 205, 206, -1,
728 4, -1, 144, 4, -1, 83, 37, 148, 141, -1,
729 84, 37, 209, 141, -1, 84, 37, 141, -1, 209,
730 195, 148, -1, 148, -1, 85, 37, 211, 141, -1,
731 211, 195, 148, -1, -1, 86, -1, 87, -1, -1,
732 4, 213, -1, 4, 139, 213, -1, -1, 215, 216,
733 -1, 31, 216, -1, 37, 216, 141, -1, 76, 37,
734 216, 141, -1, 144, 216, -1, 30, 216, -1, 145,
735 216, -1, 216, 32, 216, -1, 216, 33, 216, -1,
736 216, 34, 216, -1, 216, 30, 216, -1, 216, 31,
737 216, -1, 216, 29, 216, -1, 216, 28, 216, -1,
738 216, 23, 216, -1, 216, 22, 216, -1, 216, 27,
739 216, -1, 216, 26, 216, -1, 216, 24, 216, -1,
740 216, 25, 216, -1, 216, 21, 216, -1, 216, 20,
741 216, -1, 216, 19, 216, -1, 216, 15, 216, 16,
742 216, -1, 216, 18, 216, -1, 216, 17, 216, -1,
743 71, 37, 4, 141, -1, 3, -1, 58, -1, 78,
744 37, 4, 141, -1, 77, 37, 4, 141, -1, 79,
745 37, 4, 141, -1, 80, 37, 4, 141, -1, 137,
746 37, 4, 141, -1, 106, 37, 216, 141, -1, 38,
747 37, 216, 141, -1, 38, 37, 216, 139, 216, 141,
748 -1, 51, 37, 216, 139, 216, 141, -1, 52, 37,
749 216, 139, 216, 141, -1, 53, 37, 216, 141, -1,
750 63, 37, 4, 139, 216, 141, -1, 39, 37, 216,
751 141, -1, 4, -1, 81, 37, 216, 139, 216, 141,
752 -1, 82, 37, 216, 139, 216, 141, -1, 112, 37,
753 216, 139, 4, 141, -1, 89, 37, 4, 141, -1,
754 91, 37, 4, 141, -1, 98, 25, 4, -1, -1,
755 98, 37, 216, 141, -1, -1, 38, 37, 216, 141,
756 -1, -1, 99, 37, 216, 141, -1, -1, 133, -1,
757 134, -1, 135, -1, -1, -1, -1, -1, -1, -1,
758 4, 223, 238, 218, 219, 220, 224, 221, 56, 225,
759 188, 57, 226, 241, 217, 242, 191, 227, 195, -1,
760 -1, -1, -1, -1, -1, 70, 228, 239, 240, 218,
761 220, 229, 56, 230, 243, 57, 231, 241, 217, 242,
762 191, 232, 195, -1, -1, -1, 94, 233, 238, 234,
763 56, 174, 57, -1, -1, 64, 148, 235, 174, 36,
764 -1, 66, -1, 67, -1, 68, -1, 69, -1, 70,
765 -1, 37, 236, 141, -1, -1, 37, 141, -1, 216,
766 237, 16, -1, 237, 16, -1, 40, 37, 216, 141,
767 237, 16, -1, 40, 37, 216, 141, 39, 37, 216,
768 141, 237, 16, -1, 216, 16, -1, 16, -1, -1,
769 88, -1, 25, 4, -1, -1, -1, 242, 16, 4,
770 -1, -1, -1, -1, -1, 243, 4, 244, 56, 188,
771 57, 245, 242, 191, 246, 195, -1, 47, 56, 248,
772 57, -1, -1, 248, 249, -1, -1, -1, 4, 250,
773 252, 253, 251, 140, -1, 216, -1, -1, 4, 254,
774 253, -1, 98, 37, 216, 141, 253, -1, -1, 37,
775 216, 141, -1, -1, 256, 257, -1, 258, -1, 257,
776 258, -1, 56, 259, 57, 140, -1, 268, 140, -1,
777 -1, 261, 264, -1, -1, 263, 130, 56, 264, 57,
778 -1, 265, -1, 264, 265, -1, 56, 267, 57, 140,
779 -1, 126, 56, 267, 57, 140, -1, 126, 56, 267,
780 57, 266, 140, -1, 126, -1, 266, 126, -1, -1,
781 268, 140, -1, 128, 16, 268, 140, -1, 129, 16,
782 268, 140, -1, 128, 16, 268, 140, 129, 16, 268,
783 140, -1, 127, -1, 4, -1, 268, 140, 127, -1,
784 268, 140, 4, -1, -1, 268, 140, 124, 4, 56,
785 269, 268, 271, 57, -1, -1, 124, 4, 56, 270,
786 268, 271, 57, -1, 128, -1, 268, 140, 128, -1,
787 129, -1, 268, 140, 129, -1, 124, -1, 268, 140,
791 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
792 static const unsigned short int yyrline
[] =
794 0, 160, 160, 161, 162, 163, 164, 168, 172, 172,
795 182, 182, 195, 196, 200, 201, 202, 205, 208, 209,
796 210, 212, 214, 216, 218, 220, 222, 224, 226, 228,
797 230, 232, 233, 234, 236, 238, 240, 242, 244, 245,
798 247, 246, 250, 252, 256, 257, 258, 262, 264, 268,
799 270, 275, 276, 277, 282, 282, 287, 289, 291, 296,
800 296, 302, 303, 308, 309, 310, 311, 312, 313, 314,
801 315, 316, 317, 318, 320, 322, 324, 327, 329, 331,
802 333, 335, 337, 336, 340, 343, 342, 346, 350, 351,
803 353, 358, 361, 364, 367, 370, 373, 377, 376, 381,
804 380, 385, 384, 391, 395, 396, 397, 401, 403, 404,
805 404, 412, 416, 420, 427, 433, 439, 445, 451, 457,
806 463, 469, 475, 484, 493, 504, 513, 524, 532, 536,
807 543, 545, 544, 551, 552, 556, 557, 562, 567, 568,
808 573, 577, 577, 581, 580, 587, 588, 591, 593, 597,
809 599, 601, 603, 605, 610, 617, 619, 623, 625, 627,
810 629, 631, 633, 635, 637, 642, 642, 647, 651, 659,
811 663, 671, 671, 675, 678, 678, 681, 682, 687, 686,
812 692, 691, 698, 706, 714, 715, 719, 720, 724, 726,
813 731, 736, 737, 742, 744, 750, 752, 754, 758, 760,
814 766, 769, 778, 789, 789, 795, 797, 799, 801, 803,
815 805, 808, 810, 812, 814, 816, 818, 820, 822, 824,
816 826, 828, 830, 832, 834, 836, 838, 840, 842, 844,
817 846, 848, 850, 853, 855, 857, 859, 861, 863, 865,
818 867, 869, 871, 873, 875, 884, 886, 888, 890, 892,
819 894, 896, 902, 903, 907, 908, 912, 913, 917, 918,
820 922, 923, 924, 925, 928, 932, 935, 941, 943, 928,
821 950, 952, 954, 959, 961, 949, 971, 973, 971, 979,
822 978, 985, 986, 987, 988, 989, 993, 994, 995, 999,
823 1000, 1005, 1006, 1011, 1012, 1017, 1018, 1023, 1025, 1030,
824 1033, 1046, 1050, 1055, 1057, 1048, 1065, 1068, 1070, 1074,
825 1075, 1074, 1084, 1129, 1132, 1144, 1153, 1156, 1163, 1163,
826 1175, 1176, 1180, 1184, 1193, 1193, 1207, 1207, 1217, 1218,
827 1222, 1226, 1230, 1237, 1241, 1249, 1252, 1256, 1260, 1264,
828 1271, 1275, 1279, 1283, 1288, 1287, 1301, 1300, 1310, 1314,
829 1318, 1322, 1326, 1330, 1336, 1338
833 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
834 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
835 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
836 static const char *const yytname
[] =
838 "$end", "error", "$undefined", "INT", "NAME", "LNAME", "'='", "OREQ",
839 "ANDEQ", "RSHIFTEQ", "LSHIFTEQ", "DIVEQ", "MULTEQ", "MINUSEQ", "PLUSEQ",
840 "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "NE", "EQ", "'<'",
841 "'>'", "GE", "LE", "RSHIFT", "LSHIFT", "'+'", "'-'", "'*'", "'/'", "'%'",
842 "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND", "QUAD", "SQUAD",
843 "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS", "INSERT_K", "AFTER",
844 "BEFORE", "DATA_SEGMENT_ALIGN", "DATA_SEGMENT_RELRO_END",
845 "DATA_SEGMENT_END", "SORT_BY_NAME", "SORT_BY_ALIGNMENT", "'{'", "'}'",
846 "SIZEOF_HEADERS", "OUTPUT_FORMAT", "FORCE_COMMON_ALLOCATION",
847 "OUTPUT_ARCH", "INHIBIT_COMMON_ALLOCATION", "SEGMENT_START", "INCLUDE",
848 "MEMORY", "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "DEFINED",
849 "TARGET_K", "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF", "ALIGNOF",
850 "ADDR", "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL", "SYSLIB",
851 "FLOAT", "NOFLOAT", "NOCROSSREFS", "ORIGIN", "FILL", "LENGTH",
852 "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT", "CONSTRUCTORS",
853 "ALIGNMOD", "AT", "SUBALIGN", "PROVIDE", "PROVIDE_HIDDEN", "AS_NEEDED",
854 "CHIP", "LIST", "SECT", "ABSOLUTE", "LOAD", "NEWLINE", "ENDWORD",
855 "ORDER", "NAMEWORD", "ASSERT_K", "FORMAT", "PUBLIC", "DEFSYMEND", "BASE",
856 "ALIAS", "TRUNCATE", "REL", "INPUT_SCRIPT", "INPUT_MRI_SCRIPT",
857 "INPUT_DEFSYM", "CASE", "EXTERN", "START", "VERS_TAG", "VERS_IDENTIFIER",
858 "GLOBAL", "LOCAL", "VERSIONK", "INPUT_VERSION_SCRIPT", "KEEP",
859 "ONLY_IF_RO", "ONLY_IF_RW", "SPECIAL", "EXCLUDE_FILE", "CONSTANT",
860 "INPUT_DYNAMIC_LIST", "','", "';'", "')'", "'['", "']'", "'!'", "'~'",
861 "$accept", "file", "filename", "defsym_expr", "@1", "mri_script_file",
862 "@2", "mri_script_lines", "mri_script_command", "@3", "ordernamelist",
863 "mri_load_name_list", "mri_abs_name_list", "casesymlist",
864 "extern_name_list", "@4", "extern_name_list_body", "script_file", "@5",
865 "ifile_list", "ifile_p1", "@6", "@7", "input_list", "@8", "@9", "@10",
866 "sections", "sec_or_group_p1", "statement_anywhere", "@11",
867 "wildcard_name", "wildcard_spec", "exclude_name_list", "file_NAME_list",
868 "input_section_spec_no_keep", "input_section_spec", "@12", "statement",
869 "@13", "@14", "statement_list", "statement_list_opt", "length",
870 "fill_exp", "fill_opt", "assign_op", "end", "assignment", "opt_comma",
871 "memory", "memory_spec_list_opt", "memory_spec_list", "memory_spec",
872 "@15", "@16", "origin_spec", "length_spec", "attributes_opt",
873 "attributes_list", "attributes_string", "startup", "high_level_library",
874 "high_level_library_NAME_list", "low_level_library",
875 "low_level_library_NAME_list", "floating_point_support",
876 "nocrossref_list", "mustbe_exp", "@17", "exp", "memspec_at_opt",
877 "opt_at", "opt_align", "opt_subalign", "sect_constraint", "section",
878 "@18", "@19", "@20", "@21", "@22", "@23", "@24", "@25", "@26", "@27",
879 "@28", "@29", "@30", "type", "atype", "opt_exp_with_type",
880 "opt_exp_without_type", "opt_nocrossrefs", "memspec_opt", "phdr_opt",
881 "overlay_section", "@31", "@32", "@33", "phdrs", "phdr_list", "phdr",
882 "@34", "@35", "phdr_type", "phdr_qualifiers", "phdr_val",
883 "dynamic_list_file", "@36", "dynamic_list_nodes", "dynamic_list_node",
884 "dynamic_list_tag", "version_script_file", "@37", "version", "@38",
885 "vers_nodes", "vers_node", "verdep", "vers_tag", "vers_defns", "@39",
886 "@40", "opt_semicolon", 0
891 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
893 static const unsigned short int yytoknum
[] =
895 0, 256, 257, 258, 259, 260, 61, 261, 262, 263,
896 264, 265, 266, 267, 268, 63, 58, 269, 270, 124,
897 94, 38, 271, 272, 60, 62, 273, 274, 275, 276,
898 43, 45, 42, 47, 37, 277, 278, 40, 279, 280,
899 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
900 291, 292, 293, 294, 295, 296, 123, 125, 297, 298,
901 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
902 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
903 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
904 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
905 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
906 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
907 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
908 369, 370, 371, 372, 373, 374, 375, 376, 377, 44,
909 59, 41, 91, 93, 33, 126
913 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
914 static const unsigned short int yyr1
[] =
916 0, 146, 147, 147, 147, 147, 147, 148, 150, 149,
917 152, 151, 153, 153, 154, 154, 154, 154, 154, 154,
918 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
919 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
920 155, 154, 154, 154, 156, 156, 156, 157, 157, 158,
921 158, 159, 159, 159, 161, 160, 162, 162, 162, 164,
922 163, 165, 165, 166, 166, 166, 166, 166, 166, 166,
923 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
924 166, 166, 167, 166, 166, 168, 166, 166, 166, 166,
925 166, 169, 169, 169, 169, 169, 169, 170, 169, 171,
926 169, 172, 169, 173, 174, 174, 174, 175, 175, 176,
927 175, 177, 177, 177, 178, 178, 178, 178, 178, 178,
928 178, 178, 178, 179, 179, 180, 180, 181, 181, 181,
929 182, 183, 182, 184, 184, 184, 184, 184, 184, 184,
930 184, 185, 184, 186, 184, 187, 187, 188, 188, 189,
931 189, 189, 189, 189, 190, 191, 191, 192, 192, 192,
932 192, 192, 192, 192, 192, 193, 193, 194, 194, 194,
933 194, 195, 195, 196, 197, 197, 198, 198, 200, 199,
934 201, 199, 202, 203, 204, 204, 205, 205, 206, 206,
935 207, 208, 208, 209, 209, 210, 211, 211, 212, 212,
936 213, 213, 213, 215, 214, 216, 216, 216, 216, 216,
937 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
938 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
939 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
940 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
941 216, 216, 217, 217, 218, 218, 219, 219, 220, 220,
942 221, 221, 221, 221, 223, 224, 225, 226, 227, 222,
943 228, 229, 230, 231, 232, 222, 233, 234, 222, 235,
944 222, 236, 236, 236, 236, 236, 237, 237, 237, 238,
945 238, 238, 238, 239, 239, 240, 240, 241, 241, 242,
946 242, 243, 244, 245, 246, 243, 247, 248, 248, 250,
947 251, 249, 252, 253, 253, 253, 254, 254, 256, 255,
948 257, 257, 258, 259, 261, 260, 263, 262, 264, 264,
949 265, 265, 265, 266, 266, 267, 267, 267, 267, 267,
950 268, 268, 268, 268, 269, 268, 270, 268, 268, 268,
951 268, 268, 268, 268, 271, 271
954 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
955 static const unsigned char yyr2
[] =
957 0, 2, 2, 2, 2, 2, 2, 1, 0, 4,
958 0, 2, 3, 0, 2, 4, 1, 1, 2, 1,
959 4, 4, 3, 2, 4, 3, 4, 4, 4, 4,
960 4, 2, 2, 2, 4, 4, 2, 2, 2, 2,
961 0, 5, 2, 0, 3, 2, 0, 1, 3, 1,
962 3, 0, 1, 3, 0, 2, 1, 2, 3, 0,
963 2, 2, 0, 1, 1, 1, 1, 1, 1, 1,
964 1, 1, 1, 4, 4, 4, 4, 8, 4, 1,
965 1, 4, 0, 5, 4, 0, 5, 4, 4, 3,
966 3, 1, 3, 2, 1, 3, 2, 0, 5, 0,
967 7, 0, 6, 4, 2, 2, 0, 4, 2, 0,
968 7, 1, 1, 1, 1, 5, 4, 4, 7, 7,
969 7, 7, 8, 2, 1, 3, 1, 1, 3, 4,
970 1, 0, 5, 2, 1, 1, 1, 4, 1, 4,
971 4, 0, 8, 0, 5, 2, 1, 0, 1, 1,
972 1, 1, 1, 1, 1, 2, 0, 1, 1, 1,
973 1, 1, 1, 1, 1, 1, 1, 3, 3, 6,
974 6, 1, 0, 4, 1, 0, 3, 1, 0, 7,
975 0, 5, 3, 3, 0, 3, 1, 2, 1, 2,
976 4, 4, 3, 3, 1, 4, 3, 0, 1, 1,
977 0, 2, 3, 0, 2, 2, 3, 4, 2, 2,
978 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
979 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
980 4, 1, 1, 4, 4, 4, 4, 4, 4, 4,
981 6, 6, 6, 4, 6, 4, 1, 6, 6, 6,
982 4, 4, 3, 0, 4, 0, 4, 0, 4, 0,
983 1, 1, 1, 0, 0, 0, 0, 0, 0, 19,
984 0, 0, 0, 0, 0, 18, 0, 0, 7, 0,
985 5, 1, 1, 1, 1, 1, 3, 0, 2, 3,
986 2, 6, 10, 2, 1, 0, 1, 2, 0, 0,
987 3, 0, 0, 0, 0, 11, 4, 0, 2, 0,
988 0, 6, 1, 0, 3, 5, 0, 3, 0, 2,
989 1, 2, 4, 2, 0, 2, 0, 5, 1, 2,
990 4, 5, 6, 1, 2, 0, 2, 4, 4, 8,
991 1, 1, 3, 3, 0, 9, 0, 7, 1, 3,
995 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
996 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
997 means the default is an error. */
998 static const unsigned short int yydefact
[] =
1000 0, 59, 10, 8, 324, 318, 0, 2, 62, 3,
1001 13, 6, 0, 4, 0, 5, 0, 1, 60, 11,
1002 0, 335, 0, 325, 328, 0, 319, 320, 0, 0,
1003 0, 0, 0, 79, 0, 80, 0, 0, 0, 0,
1004 0, 0, 0, 0, 0, 198, 199, 0, 0, 82,
1005 0, 0, 0, 109, 0, 72, 61, 64, 70, 0,
1006 63, 66, 67, 68, 69, 65, 71, 0, 16, 0,
1007 0, 0, 0, 17, 0, 0, 0, 19, 46, 0,
1008 0, 0, 0, 0, 0, 51, 54, 0, 0, 0,
1009 341, 352, 340, 348, 350, 0, 0, 335, 329, 348,
1010 350, 0, 0, 321, 203, 164, 163, 162, 161, 160,
1011 159, 158, 157, 203, 106, 307, 0, 0, 0, 0,
1012 7, 85, 175, 0, 0, 0, 0, 0, 0, 197,
1013 200, 0, 0, 0, 0, 0, 0, 54, 166, 165,
1014 108, 0, 0, 40, 0, 231, 246, 0, 0, 0,
1015 0, 0, 0, 0, 0, 232, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 14, 0, 49, 31, 47, 32, 18, 33,
1018 23, 0, 36, 0, 37, 52, 38, 39, 0, 42,
1019 12, 9, 0, 0, 0, 0, 336, 0, 0, 323,
1020 167, 0, 168, 0, 0, 89, 90, 0, 0, 62,
1021 178, 0, 0, 172, 177, 0, 0, 0, 0, 0,
1022 192, 194, 172, 172, 200, 0, 91, 94, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
1024 0, 0, 209, 205, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1026 0, 0, 0, 0, 208, 210, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
1029 0, 45, 0, 0, 0, 22, 0, 0, 56, 55,
1030 346, 0, 0, 330, 343, 353, 342, 349, 351, 0,
1031 322, 204, 264, 103, 0, 270, 276, 105, 104, 309,
1032 306, 308, 0, 76, 78, 326, 184, 180, 173, 171,
1033 0, 73, 74, 84, 107, 190, 191, 0, 195, 0,
1034 200, 201, 87, 97, 93, 96, 0, 0, 81, 0,
1035 75, 203, 203, 0, 88, 0, 27, 28, 43, 29,
1036 30, 206, 0, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 229, 228, 226, 225, 224, 219, 218, 222,
1039 223, 221, 220, 217, 216, 214, 215, 211, 212, 213,
1040 15, 26, 24, 50, 48, 44, 20, 21, 35, 34,
1041 53, 57, 0, 0, 337, 338, 0, 333, 331, 0,
1042 287, 279, 0, 287, 0, 0, 86, 0, 0, 175,
1043 176, 193, 196, 202, 0, 101, 92, 95, 0, 83,
1044 0, 0, 0, 327, 41, 0, 239, 245, 0, 0,
1045 243, 0, 230, 207, 234, 233, 235, 236, 0, 0,
1046 250, 251, 238, 0, 237, 0, 58, 354, 351, 344,
1047 334, 332, 0, 0, 287, 0, 255, 106, 294, 0,
1048 295, 277, 312, 313, 0, 188, 0, 0, 186, 0,
1049 0, 0, 0, 99, 169, 170, 0, 0, 0, 0,
1050 0, 0, 0, 0, 227, 355, 0, 0, 0, 281,
1051 282, 283, 284, 285, 288, 0, 0, 0, 0, 290,
1052 0, 257, 0, 293, 296, 255, 0, 316, 0, 310,
1053 0, 189, 185, 187, 0, 172, 181, 98, 0, 0,
1054 110, 240, 241, 242, 244, 247, 248, 249, 347, 0,
1055 354, 286, 0, 289, 0, 0, 259, 280, 259, 106,
1056 0, 313, 0, 0, 77, 203, 0, 102, 0, 339,
1057 0, 287, 0, 0, 0, 265, 271, 0, 0, 314,
1058 0, 311, 182, 0, 179, 100, 345, 0, 0, 254,
1059 0, 0, 263, 0, 278, 317, 313, 203, 0, 291,
1060 256, 0, 260, 261, 262, 0, 272, 315, 183, 0,
1061 258, 266, 301, 287, 147, 0, 0, 127, 113, 112,
1062 149, 150, 151, 152, 153, 0, 0, 0, 0, 134,
1063 136, 141, 0, 0, 135, 0, 114, 0, 130, 138,
1064 146, 148, 0, 0, 0, 302, 273, 292, 0, 0,
1065 143, 203, 0, 131, 0, 111, 0, 126, 172, 0,
1066 145, 267, 203, 133, 0, 298, 0, 0, 0, 0,
1067 0, 0, 0, 0, 147, 0, 154, 0, 0, 124,
1068 0, 0, 128, 0, 172, 298, 0, 147, 0, 253,
1069 0, 0, 137, 0, 116, 0, 0, 117, 0, 140,
1070 0, 111, 0, 0, 123, 125, 129, 253, 139, 0,
1071 297, 0, 299, 0, 0, 0, 0, 0, 144, 0,
1072 132, 115, 299, 303, 0, 156, 0, 0, 0, 0,
1073 0, 0, 156, 299, 252, 203, 0, 274, 119, 118,
1074 0, 120, 121, 0, 268, 156, 155, 300, 172, 122,
1075 142, 172, 304, 275, 269, 172, 305
1078 /* YYDEFGOTO[NTERM-NUM]. */
1079 static const short int yydefgoto
[] =
1081 -1, 6, 121, 11, 12, 9, 10, 19, 88, 239,
1082 178, 177, 175, 186, 187, 188, 299, 7, 8, 18,
1083 56, 132, 209, 229, 434, 539, 492, 57, 203, 317,
1084 136, 636, 637, 680, 658, 638, 639, 678, 640, 652,
1085 674, 641, 642, 643, 675, 737, 113, 140, 59, 683,
1086 60, 212, 213, 214, 326, 429, 535, 584, 428, 487,
1087 488, 61, 62, 222, 63, 223, 64, 225, 676, 201,
1088 244, 712, 521, 556, 575, 605, 318, 420, 592, 614,
1089 685, 751, 422, 593, 612, 665, 748, 423, 526, 477,
1090 515, 475, 476, 480, 525, 689, 725, 615, 664, 733,
1091 755, 65, 204, 321, 424, 563, 483, 529, 561, 15,
1092 16, 26, 27, 101, 13, 14, 66, 67, 23, 24,
1093 419, 95, 96, 508, 413, 506
1096 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1098 #define YYPACT_NINF -701
1099 static const short int yypact
[] =
1101 209, -701, -701, -701, -701, -701, 41, -701, -701, -701,
1102 -701, -701, 61, -701, -26, -701, 21, -701, 789, 1540,
1103 65, 106, 58, -26, -701, 112, 21, -701, 558, 74,
1104 92, 247, 50, -701, 114, -701, 177, 136, 179, 190,
1105 194, 221, 239, 255, 278, -701, -701, 283, 296, -701,
1106 298, 302, 309, -701, 312, -701, -701, -701, -701, 143,
1107 -701, -701, -701, -701, -701, -701, -701, 121, -701, 323,
1108 177, 353, 623, -701, 354, 356, 360, -701, -701, 361,
1109 364, 366, 623, 367, 369, 371, -701, 374, 274, 623,
1110 -701, 380, -701, 372, 373, 333, 251, 106, -701, -701,
1111 -701, 337, 258, -701, -701, -701, -701, -701, -701, -701,
1112 -701, -701, -701, -701, -701, -701, 396, 397, 399, 400,
1113 -701, -701, 43, 401, 177, 177, 402, 177, 22, -701,
1114 405, 20, 375, 177, 406, 407, 381, -701, -701, -701,
1115 -701, 365, 32, -701, 45, -701, -701, 623, 623, 623,
1116 383, 385, 386, 388, 389, -701, 390, 394, 395, 404,
1117 408, 409, 410, 414, 415, 423, 425, 427, 428, 430,
1118 623, 623, 1335, 222, -701, 294, -701, 295, 39, -701,
1119 -701, 377, 1562, 297, -701, -701, 299, -701, 413, -701,
1120 -701, 1562, 418, 112, 112, 338, 214, 382, 339, 214,
1121 -701, 623, -701, 262, 33, -701, -701, 0, 301, -701,
1122 -701, 177, 420, 81, -701, 340, 343, 344, 345, 346,
1123 -701, -701, 105, 116, 40, 350, -701, -701, 443, 31,
1124 20, 352, 431, 486, 623, 357, -26, 623, 623, -701,
1125 623, 623, -701, -701, 798, 623, 623, 623, 623, 623,
1126 490, 495, 623, 496, 500, 501, 502, 623, 623, 503,
1127 504, 623, 623, 509, -701, -701, 623, 623, 623, 623,
1128 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
1129 623, 623, 623, 623, 623, 623, 623, 623, 1562, 511,
1130 513, -701, 514, 623, 623, 1562, 351, 516, -701, 84,
1131 -701, 387, 391, -701, -701, 524, -701, -701, -701, 98,
1132 -701, 1562, 558, -701, 177, -701, -701, -701, -701, -701,
1133 -701, -701, 525, -701, -701, 861, 497, -701, -701, -701,
1134 43, -701, -701, -701, -701, -701, -701, 177, -701, 177,
1135 405, -701, -701, -701, -701, -701, 499, 23, -701, 115,
1136 -701, -701, -701, 1360, -701, 6, 1562, 1562, 1563, 1562,
1137 1562, -701, 754, 985, 1380, 1400, 1005, 393, 392, 1025,
1138 398, 416, 421, 435, 1420, 1458, 436, 438, 1045, 1483,
1139 442, 1697, 1587, 1438, 1732, 965, 1523, 950, 950, 557,
1140 557, 557, 557, 276, 276, 230, 230, -701, -701, -701,
1141 1562, 1562, 1562, -701, -701, -701, 1562, 1562, -701, -701,
1142 -701, -701, 533, 112, 268, 214, 484, -701, -701, 103,
1143 472, -701, 543, 472, 623, 417, -701, 3, 526, 43,
1144 -701, -701, -701, -701, 20, -701, -701, -701, 518, -701,
1145 451, 452, 595, -701, -701, 623, -701, -701, 623, 623,
1146 -701, 623, -701, -701, -701, -701, -701, -701, 623, 623,
1147 -701, -701, -701, 596, -701, 623, -701, 462, 588, -701,
1148 -701, -701, 15, 570, 1674, 592, 512, -701, -701, 1717,
1149 523, -701, 1562, 30, 608, -701, 609, 2, -701, 529,
1150 579, 130, 20, -701, -701, -701, 492, 1065, 1085, 1110,
1151 1130, 1150, 1170, 506, 1562, 214, 574, 112, 112, -701,
1152 -701, -701, -701, -701, -701, 507, 623, 403, 620, -701,
1153 600, 605, 349, -701, -701, 512, 582, 613, 614, -701,
1154 515, -701, -701, -701, 651, 519, -701, -701, 140, 20,
1155 -701, -701, -701, -701, -701, -701, -701, -701, -701, 527,
1156 462, -701, 1190, -701, 623, 622, 564, -701, 564, -701,
1157 623, 30, 623, 528, -701, -701, 575, -701, 145, 214,
1158 612, 277, 1210, 623, 633, -701, -701, 571, 1235, -701,
1159 1255, -701, -701, 667, -701, -701, -701, 641, 663, -701,
1160 1275, 623, 156, 626, -701, -701, 30, -701, 623, -701,
1161 -701, 1295, -701, -701, -701, 628, -701, -701, -701, 1315,
1162 -701, -701, -701, 648, 702, 46, 673, 712, -701, -701,
1163 -701, -701, -701, -701, -701, 653, 654, 177, 655, -701,
1164 -701, -701, 656, 658, -701, 233, -701, 659, -701, -701,
1165 -701, 702, 640, 661, 143, -701, -701, -701, 57, 290,
1166 -701, -701, 670, -701, 122, -701, 671, -701, 48, 233,
1167 -701, -701, -701, -701, 657, 684, 674, 678, 569, 679,
1168 586, 691, 693, 590, 702, 591, -701, 623, 25, -701,
1169 16, 263, -701, 233, 182, 684, 597, 702, 729, 638,
1170 122, 122, -701, 122, -701, 122, 122, -701, 701, -701,
1171 1503, 598, 599, 122, -701, -701, -701, 638, -701, 685,
1172 -701, 716, -701, 607, 610, 17, 611, 617, -701, 746,
1173 -701, -701, -701, -701, 749, 54, 618, 621, 122, 624,
1174 629, 649, 54, -701, -701, -701, 750, -701, -701, -701,
1175 650, -701, -701, 143, -701, 54, -701, -701, 519, -701,
1176 -701, 519, -701, -701, -701, 519, -701
1179 /* YYPGOTO[NTERM-NUM]. */
1180 static const short int yypgoto
[] =
1182 -701, -701, -69, -701, -701, -701, -701, 522, -701, -701,
1183 -701, -701, -701, -701, 627, -701, -701, -701, -701, 546,
1184 -701, -701, -701, -215, -701, -701, -701, -701, -454, -13,
1185 -701, -51, -495, 70, 137, 111, -701, -701, 154, -701,
1186 -701, -701, -556, -701, 62, -609, -701, -635, -572, -210,
1187 -701, 370, -701, 470, -701, -701, -701, -701, -701, -701,
1188 314, -701, -701, -701, -701, -701, -701, -216, -102, -701,
1189 -72, 97, 280, -701, 248, -701, -701, -701, -701, -701,
1190 -701, -701, -701, -701, -701, -701, -701, -701, -701, -701,
1191 -701, -458, 384, -701, -701, 123, -700, -701, -701, -701,
1192 -701, -701, -701, -701, -701, -701, -701, -522, -701, -701,
1193 -701, -701, 783, -701, -701, -701, -701, -701, 576, -19,
1194 -701, 713, -11, -701, -701, 261
1197 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1198 positive, shift that token. If negative, reduce the rule which
1199 number is the opposite. If zero, do what YYDEFACT says.
1200 If YYTABLE_NINF, syntax error. */
1201 #define YYTABLE_NINF -327
1202 static const short int yytable
[] =
1204 172, 143, 200, 330, 98, 58, 485, 485, 341, 663,
1205 182, 202, 337, 339, 102, 349, 518, 191, 145, 146,
1206 655, 655, 732, 522, 226, 227, 120, 436, 437, 701,
1207 21, 618, 618, 745, 527, 344, 345, 319, 237, 579,
1208 618, 17, 644, 291, 224, 147, 148, 210, 619, 619,
1209 645, 240, 149, 150, 151, 216, 217, 619, 219, 221,
1210 735, 655, 21, 443, 231, 20, 152, 153, 154, 644,
1211 736, 89, 618, 155, 607, 242, 243, 25, 156, 656,
1212 626, 509, 510, 511, 512, 513, 157, 118, 411, 619,
1213 320, 158, 159, 160, 161, 162, 163, 164, 264, 265,
1214 22, 288, 644, 646, 165, 577, 166, 211, 750, 295,
1215 90, 666, 667, 588, 97, 644, 90, -174, 698, 344,
1216 345, 167, 228, 744, 433, 438, 655, 168, 528, 311,
1217 114, 709, 22, 346, 344, 345, 752, 618, -174, 322,
1218 657, 323, 327, 532, 344, 345, 486, 486, 115, 344,
1219 345, 119, 169, 668, 619, 616, 514, 703, 728, 170,
1220 171, 633, 353, 220, 657, 356, 357, 635, 359, 360,
1221 347, 238, 348, 362, 363, 364, 365, 366, 292, 340,
1222 369, 120, 301, 302, 241, 374, 375, 329, 705, 378,
1223 379, 682, 122, 669, 381, 382, 383, 384, 385, 386,
1224 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
1225 397, 398, 399, 400, 401, 402, 123, 346, 304, 491,
1226 329, 406, 407, 412, 417, 145, 146, 124, 286, 470,
1227 91, 125, 346, 92, 93, 94, 91, 655, 418, 92,
1228 99, 100, 346, 471, 329, 421, 336, 346, 618, 440,
1229 441, 141, 147, 148, 347, 329, 439, 338, 126, 149,
1230 150, 151, 282, 283, 284, 619, 312, 655, 431, 347,
1231 432, 537, 304, 152, 153, 154, 127, 538, 618, 347,
1232 155, 567, 138, 139, 347, 156, 585, 656, 626, 602,
1233 603, 604, 128, 157, 655, 619, 116, 117, 158, 159,
1234 160, 161, 162, 163, 164, 618, 280, 281, 282, 283,
1235 284, 165, 58, 166, 517, 129, 587, 666, 667, 313,
1236 130, 329, 619, 706, 568, 566, 314, 142, 167, 1,
1237 2, 3, 315, 131, 168, 133, 98, 41, 305, 134,
1238 4, 306, 307, 308, 671, 672, 135, 5, 474, 137,
1239 479, 474, 482, 312, 408, 409, 316, 144, 173, 169,
1240 174, 287, 51, 52, 176, 179, 170, 171, 180, 633,
1241 181, 183, 184, 497, 53, 185, 498, 499, 189, 500,
1242 145, 146, 190, 293, 192, 557, 501, 502, 193, 194,
1243 195, 196, 305, 504, 198, 306, 307, 468, 199, 669,
1244 205, 206, 467, 207, 208, 215, 218, 147, 148, 224,
1245 232, 233, 230, 314, 149, 150, 151, 298, 234, 315,
1246 245, 236, 246, 247, 41, 248, 249, 250, 152, 153,
1247 154, 251, 252, 289, 290, 155, 296, 351, 297, 309,
1248 156, 253, 324, 316, 552, 254, 255, 256, 157, 51,
1249 52, 257, 258, 158, 159, 160, 161, 162, 163, 164,
1250 259, 53, 260, 582, 261, 262, 165, 263, 166, 509,
1251 510, 511, 512, 513, 300, 145, 146, 328, 303, 310,
1252 343, 331, 572, 167, 332, 333, 334, 335, 578, 168,
1253 580, 342, 352, 350, 367, 608, 549, 550, 354, 368,
1254 370, 590, 147, 148, 371, 372, 373, 376, 377, 472,
1255 150, 151, 473, 380, 169, 403, 294, 404, 405, 601,
1256 410, 170, 171, 152, 153, 154, 609, 414, 416, 425,
1257 155, 415, 451, 452, 427, 156, 435, 466, 753, 454,
1258 469, 754, 489, 157, 514, 756, 145, 146, 158, 159,
1259 160, 161, 162, 163, 164, 493, 484, 455, 650, 478,
1260 686, 165, 456, 166, 104, 105, 106, 107, 108, 109,
1261 110, 111, 112, 147, 148, 312, 457, 460, 167, 461,
1262 149, 150, 151, 464, 168, 278, 279, 280, 281, 282,
1263 283, 284, 494, 495, 152, 153, 154, 670, 673, 496,
1264 503, 155, 505, 679, 507, 700, 156, 516, 519, 169,
1265 520, 524, 530, 531, 157, 536, 170, 171, 534, 158,
1266 159, 160, 161, 162, 163, 164, 145, 146, 594, 704,
1267 670, 548, 165, 540, 166, 314, 553, 554, 559, 713,
1268 714, 315, 679, 555, 716, 717, 41, 547, 551, 167,
1269 560, 562, 721, 147, 148, 168, 564, 565, 329, 573,
1270 149, 150, 151, 574, 704, 316, 583, 569, 581, 586,
1271 591, 51, 52, 597, 152, 153, 154, 740, 598, 599,
1272 169, 155, 606, 53, 611, 517, 156, 170, 171, 647,
1273 648, 649, 651, 653, 157, 654, 659, 661, 662, 158,
1274 159, 160, 161, 162, 163, 164, 617, 677, 681, 688,
1275 692, 690, 165, 687, 166, 691, 693, 618, 104, 105,
1276 106, 107, 108, 109, 110, 111, 112, 694, 695, 167,
1277 696, 697, 699, 710, 619, 168, 711, 718, 708, -127,
1278 720, 724, 723, 620, 621, 622, 623, 624, 726, -111,
1279 731, 727, 729, 734, 747, 325, 625, 626, 730, 738,
1280 169, 358, 739, 715, 235, 741, 627, 170, 171, 266,
1281 742, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1282 276, 277, 278, 279, 280, 281, 282, 283, 284, 702,
1283 743, 749, 628, 28, 629, 660, 684, 746, 630, 490,
1284 430, 533, 51, 52, 722, 558, 576, 481, 707, 103,
1285 197, 570, 355, 266, 631, 267, 268, 269, 270, 271,
1286 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1287 282, 283, 284, 0, 632, 29, 30, 31, 633, 0,
1288 0, 0, 634, 0, 635, 0, 0, 0, 32, 33,
1289 34, 35, 0, 36, 37, 0, 0, 0, 0, 0,
1290 0, 38, 39, 40, 41, 28, 0, 0, 0, 0,
1291 0, 0, 42, 43, 44, 45, 46, 47, 0, 0,
1292 0, 0, 48, 49, 50, 0, 0, 0, 0, 51,
1293 52, 0, 0, 445, 0, 446, 0, 426, 0, 0,
1294 0, 53, 0, 0, 0, 0, 0, 29, 30, 31,
1295 0, 0, 0, 54, 0, 0, 0, 0, 0, -326,
1296 32, 33, 34, 35, 0, 36, 37, 0, 0, 55,
1297 0, 0, 0, 38, 39, 40, 41, 0, 0, 361,
1298 0, 0, 0, 0, 42, 43, 44, 45, 46, 47,
1299 0, 0, 0, 0, 48, 49, 50, 0, 0, 0,
1300 0, 51, 52, 0, 0, 0, 0, 0, 0, 0,
1301 0, 0, 0, 53, 274, 275, 276, 277, 278, 279,
1302 280, 281, 282, 283, 284, 54, 271, 272, 273, 274,
1303 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1304 266, 55, 267, 268, 269, 270, 271, 272, 273, 274,
1305 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1306 266, 0, 267, 268, 269, 270, 271, 272, 273, 274,
1307 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1308 266, 0, 267, 268, 269, 270, 271, 272, 273, 274,
1309 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1310 266, 0, 267, 268, 269, 270, 271, 272, 273, 274,
1311 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1312 266, 0, 267, 268, 269, 270, 271, 272, 273, 274,
1313 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1314 266, 0, 267, 268, 269, 270, 271, 272, 273, 274,
1315 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1316 0, 0, 0, 0, 0, 266, 447, 267, 268, 269,
1317 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1318 280, 281, 282, 283, 284, 266, 450, 267, 268, 269,
1319 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1320 280, 281, 282, 283, 284, 266, 453, 267, 268, 269,
1321 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1322 280, 281, 282, 283, 284, 266, 462, 267, 268, 269,
1323 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1324 280, 281, 282, 283, 284, 266, 541, 267, 268, 269,
1325 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1326 280, 281, 282, 283, 284, 266, 542, 267, 268, 269,
1327 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1328 280, 281, 282, 283, 284, 0, 0, 0, 0, 0,
1329 266, 543, 267, 268, 269, 270, 271, 272, 273, 274,
1330 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1331 266, 544, 267, 268, 269, 270, 271, 272, 273, 274,
1332 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1333 266, 545, 267, 268, 269, 270, 271, 272, 273, 274,
1334 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1335 266, 546, 267, 268, 269, 270, 271, 272, 273, 274,
1336 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1337 266, 571, 267, 268, 269, 270, 271, 272, 273, 274,
1338 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1339 266, 589, 267, 268, 269, 270, 271, 272, 273, 274,
1340 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1341 0, 0, 0, 0, 0, 266, 595, 267, 268, 269,
1342 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1343 280, 281, 282, 283, 284, 266, 596, 267, 268, 269,
1344 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1345 280, 281, 282, 283, 284, 266, 600, 267, 268, 269,
1346 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1347 280, 281, 282, 283, 284, 266, 610, 267, 268, 269,
1348 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1349 280, 281, 282, 283, 284, 0, 613, 269, 270, 271,
1350 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1351 282, 283, 284, 266, 285, 267, 268, 269, 270, 271,
1352 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1353 282, 283, 284, 0, 0, 0, 0, 0, 266, 442,
1354 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
1355 277, 278, 279, 280, 281, 282, 283, 284, 266, 448,
1356 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
1357 277, 278, 279, 280, 281, 282, 283, 284, 0, 449,
1358 0, 0, 0, 0, 68, 272, 273, 274, 275, 276,
1359 277, 278, 279, 280, 281, 282, 283, 284, 0, 458,
1360 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
1361 0, 0, 0, 0, 0, 0, 0, 266, 69, 267,
1362 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1363 278, 279, 280, 281, 282, 283, 284, 459, 0, 444,
1364 0, 69, 0, 0, 70, 268, 269, 270, 271, 272,
1365 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1366 283, 284, 463, 0, 0, 0, 0, 70, 0, 0,
1367 0, 0, 0, 0, 0, 0, 0, 71, 0, 0,
1368 0, 0, 719, 72, 73, 74, 75, 76, -43, 77,
1369 78, 79, 0, 80, 81, 0, 82, 83, 84, 0,
1370 71, 0, 0, 85, 86, 87, 72, 73, 74, 75,
1371 76, 0, 77, 78, 79, 0, 80, 81, 0, 82,
1372 83, 84, 0, 0, 0, 0, 85, 86, 87, 266,
1373 0, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1374 276, 277, 278, 279, 280, 281, 282, 283, 284, 0,
1375 0, 517, 266, 465, 267, 268, 269, 270, 271, 272,
1376 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1377 283, 284, 266, 523, 267, 268, 269, 270, 271, 272,
1378 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1379 283, 284, 270, 271, 272, 273, 274, 275, 276, 277,
1380 278, 279, 280, 281, 282, 283, 284
1383 static const short int yycheck
[] =
1385 72, 70, 104, 213, 23, 18, 4, 4, 224, 644,
1386 82, 113, 222, 223, 25, 230, 474, 89, 3, 4,
1387 4, 4, 722, 477, 4, 5, 4, 4, 5, 4,
1388 56, 15, 15, 733, 4, 4, 5, 4, 6, 561,
1389 15, 0, 614, 4, 4, 30, 31, 4, 32, 32,
1390 4, 6, 37, 38, 39, 124, 125, 32, 127, 128,
1391 6, 4, 56, 57, 133, 4, 51, 52, 53, 641,
1392 16, 6, 15, 58, 596, 147, 148, 56, 63, 54,
1393 55, 66, 67, 68, 69, 70, 71, 37, 4, 32,
1394 57, 76, 77, 78, 79, 80, 81, 82, 170, 171,
1395 126, 173, 674, 57, 89, 559, 91, 64, 743, 181,
1396 4, 54, 55, 571, 56, 687, 4, 36, 674, 4,
1397 5, 106, 102, 732, 340, 102, 4, 112, 98, 201,
1398 56, 687, 126, 102, 4, 5, 745, 15, 57, 139,
1399 635, 141, 211, 141, 4, 5, 144, 144, 56, 4,
1400 5, 37, 137, 96, 32, 613, 141, 141, 141, 144,
1401 145, 136, 234, 141, 659, 237, 238, 142, 240, 241,
1402 139, 139, 141, 245, 246, 247, 248, 249, 139, 139,
1403 252, 4, 193, 194, 139, 257, 258, 139, 683, 261,
1404 262, 143, 56, 136, 266, 267, 268, 269, 270, 271,
1405 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1406 282, 283, 284, 285, 286, 287, 37, 102, 4, 434,
1407 139, 293, 294, 139, 126, 3, 4, 37, 6, 126,
1408 124, 37, 102, 127, 128, 129, 124, 4, 140, 127,
1409 128, 129, 102, 140, 139, 314, 141, 102, 15, 351,
1410 352, 130, 30, 31, 139, 139, 141, 141, 37, 37,
1411 38, 39, 32, 33, 34, 32, 4, 4, 337, 139,
1412 339, 141, 4, 51, 52, 53, 37, 492, 15, 139,
1413 58, 141, 139, 140, 139, 63, 141, 54, 55, 133,
1414 134, 135, 37, 71, 4, 32, 49, 50, 76, 77,
1415 78, 79, 80, 81, 82, 15, 30, 31, 32, 33,
1416 34, 89, 325, 91, 37, 37, 39, 54, 55, 57,
1417 37, 139, 32, 141, 539, 535, 64, 4, 106, 120,
1418 121, 122, 70, 37, 112, 37, 355, 75, 124, 37,
1419 131, 127, 128, 129, 54, 55, 37, 138, 420, 37,
1420 422, 423, 424, 4, 3, 4, 94, 4, 4, 137,
1421 4, 139, 100, 101, 4, 4, 144, 145, 4, 136,
1422 4, 4, 3, 445, 112, 4, 448, 449, 4, 451,
1423 3, 4, 108, 6, 4, 36, 458, 459, 16, 16,
1424 57, 140, 124, 465, 57, 127, 128, 129, 140, 136,
1425 4, 4, 413, 4, 4, 4, 4, 30, 31, 4,
1426 4, 4, 37, 64, 37, 38, 39, 4, 37, 70,
1427 37, 56, 37, 37, 75, 37, 37, 37, 51, 52,
1428 53, 37, 37, 139, 139, 58, 139, 6, 139, 57,
1429 63, 37, 141, 94, 516, 37, 37, 37, 71, 100,
1430 101, 37, 37, 76, 77, 78, 79, 80, 81, 82,
1431 37, 112, 37, 565, 37, 37, 89, 37, 91, 66,
1432 67, 68, 69, 70, 56, 3, 4, 57, 140, 140,
1433 37, 141, 554, 106, 141, 141, 141, 141, 560, 112,
1434 562, 141, 6, 141, 4, 597, 507, 508, 141, 4,
1435 4, 573, 30, 31, 4, 4, 4, 4, 4, 37,
1436 38, 39, 40, 4, 137, 4, 139, 4, 4, 591,
1437 4, 144, 145, 51, 52, 53, 598, 140, 4, 4,
1438 58, 140, 139, 141, 37, 63, 37, 4, 748, 141,
1439 56, 751, 16, 71, 141, 755, 3, 4, 76, 77,
1440 78, 79, 80, 81, 82, 37, 139, 141, 627, 16,
1441 662, 89, 141, 91, 6, 7, 8, 9, 10, 11,
1442 12, 13, 14, 30, 31, 4, 141, 141, 106, 141,
1443 37, 38, 39, 141, 112, 28, 29, 30, 31, 32,
1444 33, 34, 141, 141, 51, 52, 53, 648, 649, 4,
1445 4, 58, 140, 654, 16, 677, 63, 37, 16, 137,
1446 98, 88, 4, 4, 71, 36, 144, 145, 89, 76,
1447 77, 78, 79, 80, 81, 82, 3, 4, 57, 680,
1448 681, 57, 89, 141, 91, 64, 16, 37, 56, 690,
1449 691, 70, 693, 38, 695, 696, 75, 141, 141, 106,
1450 37, 37, 703, 30, 31, 112, 141, 6, 139, 37,
1451 37, 38, 39, 99, 715, 94, 91, 140, 140, 57,
1452 37, 100, 101, 6, 51, 52, 53, 728, 37, 16,
1453 137, 58, 56, 112, 56, 37, 63, 144, 145, 16,
1454 37, 37, 37, 37, 71, 37, 37, 57, 37, 76,
1455 77, 78, 79, 80, 81, 82, 4, 37, 37, 25,
1456 141, 37, 89, 56, 91, 37, 37, 15, 6, 7,
1457 8, 9, 10, 11, 12, 13, 14, 141, 37, 106,
1458 37, 141, 141, 4, 32, 112, 98, 36, 141, 141,
1459 141, 25, 57, 41, 42, 43, 44, 45, 141, 37,
1460 4, 141, 141, 4, 4, 209, 54, 55, 141, 141,
1461 137, 239, 141, 693, 137, 141, 64, 144, 145, 15,
1462 141, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1463 26, 27, 28, 29, 30, 31, 32, 33, 34, 678,
1464 141, 141, 90, 4, 92, 641, 659, 735, 96, 429,
1465 330, 487, 100, 101, 707, 525, 558, 423, 685, 26,
1466 97, 550, 236, 15, 112, 17, 18, 19, 20, 21,
1467 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1468 32, 33, 34, -1, 132, 46, 47, 48, 136, -1,
1469 -1, -1, 140, -1, 142, -1, -1, -1, 59, 60,
1470 61, 62, -1, 64, 65, -1, -1, -1, -1, -1,
1471 -1, 72, 73, 74, 75, 4, -1, -1, -1, -1,
1472 -1, -1, 83, 84, 85, 86, 87, 88, -1, -1,
1473 -1, -1, 93, 94, 95, -1, -1, -1, -1, 100,
1474 101, -1, -1, 139, -1, 141, -1, 36, -1, -1,
1475 -1, 112, -1, -1, -1, -1, -1, 46, 47, 48,
1476 -1, -1, -1, 124, -1, -1, -1, -1, -1, 130,
1477 59, 60, 61, 62, -1, 64, 65, -1, -1, 140,
1478 -1, -1, -1, 72, 73, 74, 75, -1, -1, 141,
1479 -1, -1, -1, -1, 83, 84, 85, 86, 87, 88,
1480 -1, -1, -1, -1, 93, 94, 95, -1, -1, -1,
1481 -1, 100, 101, -1, -1, -1, -1, -1, -1, -1,
1482 -1, -1, -1, 112, 24, 25, 26, 27, 28, 29,
1483 30, 31, 32, 33, 34, 124, 21, 22, 23, 24,
1484 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1485 15, 140, 17, 18, 19, 20, 21, 22, 23, 24,
1486 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1487 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1488 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1489 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1490 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1491 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1492 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1493 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1494 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1495 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1496 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1497 -1, -1, -1, -1, -1, 15, 141, 17, 18, 19,
1498 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1499 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1500 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1501 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1502 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1503 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1504 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1505 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1506 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1507 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1508 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1509 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
1510 15, 141, 17, 18, 19, 20, 21, 22, 23, 24,
1511 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1512 15, 141, 17, 18, 19, 20, 21, 22, 23, 24,
1513 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1514 15, 141, 17, 18, 19, 20, 21, 22, 23, 24,
1515 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1516 15, 141, 17, 18, 19, 20, 21, 22, 23, 24,
1517 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1518 15, 141, 17, 18, 19, 20, 21, 22, 23, 24,
1519 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1520 15, 141, 17, 18, 19, 20, 21, 22, 23, 24,
1521 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1522 -1, -1, -1, -1, -1, 15, 141, 17, 18, 19,
1523 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1524 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1525 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1526 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1527 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1528 30, 31, 32, 33, 34, 15, 141, 17, 18, 19,
1529 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1530 30, 31, 32, 33, 34, -1, 141, 19, 20, 21,
1531 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1532 32, 33, 34, 15, 139, 17, 18, 19, 20, 21,
1533 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1534 32, 33, 34, -1, -1, -1, -1, -1, 15, 139,
1535 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1536 27, 28, 29, 30, 31, 32, 33, 34, 15, 139,
1537 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1538 27, 28, 29, 30, 31, 32, 33, 34, -1, 139,
1539 -1, -1, -1, -1, 4, 22, 23, 24, 25, 26,
1540 27, 28, 29, 30, 31, 32, 33, 34, -1, 139,
1541 -1, -1, -1, -1, -1, -1, -1, 4, -1, -1,
1542 -1, -1, -1, -1, -1, -1, -1, 15, 38, 17,
1543 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1544 28, 29, 30, 31, 32, 33, 34, 139, -1, 36,
1545 -1, 38, -1, -1, 64, 18, 19, 20, 21, 22,
1546 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1547 33, 34, 139, -1, -1, -1, -1, 64, -1, -1,
1548 -1, -1, -1, -1, -1, -1, -1, 97, -1, -1,
1549 -1, -1, 139, 103, 104, 105, 106, 107, 108, 109,
1550 110, 111, -1, 113, 114, -1, 116, 117, 118, -1,
1551 97, -1, -1, 123, 124, 125, 103, 104, 105, 106,
1552 107, -1, 109, 110, 111, -1, 113, 114, -1, 116,
1553 117, 118, -1, -1, -1, -1, 123, 124, 125, 15,
1554 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1555 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
1556 -1, 37, 15, 16, 17, 18, 19, 20, 21, 22,
1557 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1558 33, 34, 15, 16, 17, 18, 19, 20, 21, 22,
1559 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1560 33, 34, 20, 21, 22, 23, 24, 25, 26, 27,
1561 28, 29, 30, 31, 32, 33, 34
1564 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1565 symbol of state STATE-NUM. */
1566 static const unsigned short int yystos
[] =
1568 0, 120, 121, 122, 131, 138, 147, 163, 164, 151,
1569 152, 149, 150, 260, 261, 255, 256, 0, 165, 153,
1570 4, 56, 126, 264, 265, 56, 257, 258, 4, 46,
1571 47, 48, 59, 60, 61, 62, 64, 65, 72, 73,
1572 74, 75, 83, 84, 85, 86, 87, 88, 93, 94,
1573 95, 100, 101, 112, 124, 140, 166, 173, 175, 194,
1574 196, 207, 208, 210, 212, 247, 262, 263, 4, 38,
1575 64, 97, 103, 104, 105, 106, 107, 109, 110, 111,
1576 113, 114, 116, 117, 118, 123, 124, 125, 154, 6,
1577 4, 124, 127, 128, 129, 267, 268, 56, 265, 128,
1578 129, 259, 268, 258, 6, 7, 8, 9, 10, 11,
1579 12, 13, 14, 192, 56, 56, 49, 50, 37, 37,
1580 4, 148, 56, 37, 37, 37, 37, 37, 37, 37,
1581 37, 37, 167, 37, 37, 37, 176, 37, 139, 140,
1582 193, 130, 4, 148, 4, 3, 4, 30, 31, 37,
1583 38, 39, 51, 52, 53, 58, 63, 71, 76, 77,
1584 78, 79, 80, 81, 82, 89, 91, 106, 112, 137,
1585 144, 145, 216, 4, 4, 158, 4, 157, 156, 4,
1586 4, 4, 216, 4, 3, 4, 159, 160, 161, 4,
1587 108, 216, 4, 16, 16, 57, 140, 267, 57, 140,
1588 214, 215, 214, 174, 248, 4, 4, 4, 4, 168,
1589 4, 64, 197, 198, 199, 4, 148, 148, 4, 148,
1590 141, 148, 209, 211, 4, 213, 4, 5, 102, 169,
1591 37, 148, 4, 4, 37, 160, 56, 6, 139, 155,
1592 6, 139, 216, 216, 216, 37, 37, 37, 37, 37,
1593 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1594 37, 37, 37, 37, 216, 216, 15, 17, 18, 19,
1595 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1596 30, 31, 32, 33, 34, 139, 6, 139, 216, 139,
1597 139, 4, 139, 6, 139, 216, 139, 139, 4, 162,
1598 56, 268, 268, 140, 4, 124, 127, 128, 129, 57,
1599 140, 216, 4, 57, 64, 70, 94, 175, 222, 4,
1600 57, 249, 139, 141, 141, 165, 200, 148, 57, 139,
1601 195, 141, 141, 141, 141, 141, 141, 195, 141, 195,
1602 139, 213, 141, 37, 4, 5, 102, 139, 141, 169,
1603 141, 6, 6, 216, 141, 264, 216, 216, 153, 216,
1604 216, 141, 216, 216, 216, 216, 216, 4, 4, 216,
1605 4, 4, 4, 4, 216, 216, 4, 4, 216, 216,
1606 4, 216, 216, 216, 216, 216, 216, 216, 216, 216,
1607 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
1608 216, 216, 216, 4, 4, 4, 216, 216, 3, 4,
1609 4, 4, 139, 270, 140, 140, 4, 126, 140, 266,
1610 223, 148, 228, 233, 250, 4, 36, 37, 204, 201,
1611 199, 148, 148, 213, 170, 37, 4, 5, 102, 141,
1612 214, 214, 139, 57, 36, 139, 141, 141, 139, 139,
1613 141, 139, 141, 141, 141, 141, 141, 141, 139, 139,
1614 141, 141, 141, 139, 141, 16, 4, 268, 129, 56,
1615 126, 140, 37, 40, 216, 237, 238, 235, 16, 216,
1616 239, 238, 216, 252, 139, 4, 144, 205, 206, 16,
1617 197, 169, 172, 37, 141, 141, 4, 216, 216, 216,
1618 216, 216, 216, 4, 216, 140, 271, 16, 269, 66,
1619 67, 68, 69, 70, 141, 236, 37, 37, 237, 16,
1620 98, 218, 174, 16, 88, 240, 234, 4, 98, 253,
1621 4, 4, 141, 206, 89, 202, 36, 141, 169, 171,
1622 141, 141, 141, 141, 141, 141, 141, 141, 57, 268,
1623 268, 141, 216, 16, 37, 38, 219, 36, 218, 56,
1624 37, 254, 37, 251, 141, 6, 195, 141, 169, 140,
1625 271, 141, 216, 37, 99, 220, 220, 174, 216, 253,
1626 216, 140, 214, 91, 203, 141, 57, 39, 237, 141,
1627 216, 37, 224, 229, 57, 141, 141, 6, 37, 16,
1628 141, 216, 133, 134, 135, 221, 56, 253, 214, 216,
1629 141, 56, 230, 141, 225, 243, 237, 4, 15, 32,
1630 41, 42, 43, 44, 45, 54, 55, 64, 90, 92,
1631 96, 112, 132, 136, 140, 142, 177, 178, 181, 182,
1632 184, 187, 188, 189, 194, 4, 57, 16, 37, 37,
1633 148, 37, 185, 37, 37, 4, 54, 178, 180, 37,
1634 184, 57, 37, 193, 244, 231, 54, 55, 96, 136,
1635 177, 54, 55, 177, 186, 190, 214, 37, 183, 177,
1636 179, 37, 143, 195, 180, 226, 214, 56, 25, 241,
1637 37, 37, 141, 37, 141, 37, 37, 141, 188, 141,
1638 216, 4, 181, 141, 177, 178, 141, 241, 141, 188,
1639 4, 98, 217, 177, 177, 179, 177, 177, 36, 139,
1640 141, 177, 217, 57, 25, 242, 141, 141, 141, 141,
1641 141, 4, 242, 245, 4, 6, 16, 191, 141, 141,
1642 177, 141, 141, 141, 191, 242, 190, 4, 232, 141,
1643 193, 227, 191, 195, 195, 246, 195
1646 #define yyerrok (yyerrstatus = 0)
1647 #define yyclearin (yychar = YYEMPTY)
1648 #define YYEMPTY (-2)
1651 #define YYACCEPT goto yyacceptlab
1652 #define YYABORT goto yyabortlab
1653 #define YYERROR goto yyerrorlab
1656 /* Like YYERROR except do call yyerror. This remains here temporarily
1657 to ease the transition to the new meaning of YYERROR, for GCC.
1658 Once GCC version 2 has supplanted version 1, this can go. */
1660 #define YYFAIL goto yyerrlab
1662 #define YYRECOVERING() (!!yyerrstatus)
1664 #define YYBACKUP(Token, Value) \
1666 if (yychar == YYEMPTY && yylen == 1) \
1670 yytoken = YYTRANSLATE (yychar); \
1676 yyerror (YY_("syntax error: cannot back up")); \
1683 #define YYERRCODE 256
1686 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1687 If N is 0, then set CURRENT to the empty location which ends
1688 the previous symbol: RHS[0] (always defined). */
1690 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1691 #ifndef YYLLOC_DEFAULT
1692 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1696 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1697 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1698 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1699 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1703 (Current).first_line = (Current).last_line = \
1704 YYRHSLOC (Rhs, 0).last_line; \
1705 (Current).first_column = (Current).last_column = \
1706 YYRHSLOC (Rhs, 0).last_column; \
1712 /* YY_LOCATION_PRINT -- Print the location on the stream.
1713 This macro was not mandated originally: define only if we know
1714 we won't break user code: when these are the locations we know. */
1716 #ifndef YY_LOCATION_PRINT
1717 # if YYLTYPE_IS_TRIVIAL
1718 # define YY_LOCATION_PRINT(File, Loc) \
1719 fprintf (File, "%d.%d-%d.%d", \
1720 (Loc).first_line, (Loc).first_column, \
1721 (Loc).last_line, (Loc).last_column)
1723 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1728 /* YYLEX -- calling `yylex' with the right arguments. */
1731 # define YYLEX yylex (YYLEX_PARAM)
1733 # define YYLEX yylex ()
1736 /* Enable debugging if requested. */
1740 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1741 # define YYFPRINTF fprintf
1744 # define YYDPRINTF(Args) \
1750 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1754 YYFPRINTF (stderr, "%s ", Title); \
1755 yysymprint (stderr, \
1757 YYFPRINTF (stderr, "\n"); \
1761 /*------------------------------------------------------------------.
1762 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1764 `------------------------------------------------------------------*/
1766 #if defined (__STDC__) || defined (__cplusplus)
1768 yy_stack_print (short int *bottom
, short int *top
)
1771 yy_stack_print (bottom
, top
)
1776 YYFPRINTF (stderr
, "Stack now");
1777 for (/* Nothing. */; bottom
<= top
; ++bottom
)
1778 YYFPRINTF (stderr
, " %d", *bottom
);
1779 YYFPRINTF (stderr
, "\n");
1782 # define YY_STACK_PRINT(Bottom, Top) \
1785 yy_stack_print ((Bottom), (Top)); \
1789 /*------------------------------------------------.
1790 | Report that the YYRULE is going to be reduced. |
1791 `------------------------------------------------*/
1793 #if defined (__STDC__) || defined (__cplusplus)
1795 yy_reduce_print (int yyrule
)
1798 yy_reduce_print (yyrule
)
1803 unsigned long int yylno
= yyrline
[yyrule
];
1804 YYFPRINTF (stderr
, "Reducing stack by rule %d (line %lu), ",
1806 /* Print the symbols being reduced, and their result. */
1807 for (yyi
= yyprhs
[yyrule
]; 0 <= yyrhs
[yyi
]; yyi
++)
1808 YYFPRINTF (stderr
, "%s ", yytname
[yyrhs
[yyi
]]);
1809 YYFPRINTF (stderr
, "-> %s\n", yytname
[yyr1
[yyrule
]]);
1812 # define YY_REDUCE_PRINT(Rule) \
1815 yy_reduce_print (Rule); \
1818 /* Nonzero means print parse trace. It is left uninitialized so that
1819 multiple parsers can coexist. */
1821 #else /* !YYDEBUG */
1822 # define YYDPRINTF(Args)
1823 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1824 # define YY_STACK_PRINT(Bottom, Top)
1825 # define YY_REDUCE_PRINT(Rule)
1826 #endif /* !YYDEBUG */
1829 /* YYINITDEPTH -- initial size of the parser's stacks. */
1831 # define YYINITDEPTH 200
1834 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1835 if the built-in stack extension method is used).
1837 Do not make this value too large; the results are undefined if
1838 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1839 evaluated with infinite-precision integer arithmetic. */
1842 # define YYMAXDEPTH 10000
1850 # if defined (__GLIBC__) && defined (_STRING_H)
1851 # define yystrlen strlen
1853 /* Return the length of YYSTR. */
1855 # if defined (__STDC__) || defined (__cplusplus)
1856 yystrlen (const char *yystr
)
1862 const char *yys
= yystr
;
1864 while (*yys
++ != '\0')
1867 return yys
- yystr
- 1;
1873 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
1874 # define yystpcpy stpcpy
1876 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1879 # if defined (__STDC__) || defined (__cplusplus)
1880 yystpcpy (char *yydest
, const char *yysrc
)
1882 yystpcpy (yydest
, yysrc
)
1888 const char *yys
= yysrc
;
1890 while ((*yyd
++ = *yys
++) != '\0')
1899 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1900 quotes and backslashes, so that it's suitable for yyerror. The
1901 heuristic is that double-quoting is unnecessary unless the string
1902 contains an apostrophe, a comma, or backslash (other than
1903 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1904 null, do not copy; instead, return the length of what the result
1907 yytnamerr (char *yyres
, const char *yystr
)
1912 char const *yyp
= yystr
;
1919 goto do_not_strip_quotes
;
1923 goto do_not_strip_quotes
;
1936 do_not_strip_quotes
: ;
1940 return yystrlen (yystr
);
1942 return yystpcpy (yyres
, yystr
) - yyres
;
1946 #endif /* YYERROR_VERBOSE */
1951 /*--------------------------------.
1952 | Print this symbol on YYOUTPUT. |
1953 `--------------------------------*/
1955 #if defined (__STDC__) || defined (__cplusplus)
1957 yysymprint (FILE *yyoutput
, int yytype
, YYSTYPE
*yyvaluep
)
1960 yysymprint (yyoutput
, yytype
, yyvaluep
)
1966 /* Pacify ``unused variable'' warnings. */
1969 if (yytype
< YYNTOKENS
)
1970 YYFPRINTF (yyoutput
, "token %s (", yytname
[yytype
]);
1972 YYFPRINTF (yyoutput
, "nterm %s (", yytname
[yytype
]);
1976 if (yytype
< YYNTOKENS
)
1977 YYPRINT (yyoutput
, yytoknum
[yytype
], *yyvaluep
);
1984 YYFPRINTF (yyoutput
, ")");
1987 #endif /* ! YYDEBUG */
1988 /*-----------------------------------------------.
1989 | Release the memory associated to this symbol. |
1990 `-----------------------------------------------*/
1992 #if defined (__STDC__) || defined (__cplusplus)
1994 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
)
1997 yydestruct (yymsg
, yytype
, yyvaluep
)
2003 /* Pacify ``unused variable'' warnings. */
2008 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
2019 /* Prevent warnings from -Wmissing-prototypes. */
2021 #ifdef YYPARSE_PARAM
2022 # if defined (__STDC__) || defined (__cplusplus)
2023 int yyparse (void *YYPARSE_PARAM
);
2027 #else /* ! YYPARSE_PARAM */
2028 #if defined (__STDC__) || defined (__cplusplus)
2033 #endif /* ! YYPARSE_PARAM */
2037 /* The look-ahead symbol. */
2040 /* The semantic value of the look-ahead symbol. */
2043 /* Number of syntax errors so far. */
2052 #ifdef YYPARSE_PARAM
2053 # if defined (__STDC__) || defined (__cplusplus)
2054 int yyparse (void *YYPARSE_PARAM
)
2056 int yyparse (YYPARSE_PARAM
)
2057 void *YYPARSE_PARAM
;
2059 #else /* ! YYPARSE_PARAM */
2060 #if defined (__STDC__) || defined (__cplusplus)
2074 /* Number of tokens to shift before error messages enabled. */
2076 /* Look-ahead token as an internal (translated) token number. */
2079 /* Three stacks and their tools:
2080 `yyss': related to states,
2081 `yyvs': related to semantic values,
2082 `yyls': related to locations.
2084 Refer to the stacks thru separate pointers, to allow yyoverflow
2085 to reallocate them elsewhere. */
2087 /* The state stack. */
2088 short int yyssa
[YYINITDEPTH
];
2089 short int *yyss
= yyssa
;
2092 /* The semantic value stack. */
2093 YYSTYPE yyvsa
[YYINITDEPTH
];
2094 YYSTYPE
*yyvs
= yyvsa
;
2099 #define YYPOPSTACK (yyvsp--, yyssp--)
2101 YYSIZE_T yystacksize
= YYINITDEPTH
;
2103 /* The variables used to return semantic value and location from the
2108 /* When reducing, the number of symbols on the RHS of the reduced
2112 YYDPRINTF ((stderr
, "Starting parse\n"));
2117 yychar
= YYEMPTY
; /* Cause a token to be read. */
2119 /* Initialize stack pointers.
2120 Waste one element of value and location stack
2121 so that they stay on the same level as the state stack.
2122 The wasted elements are never initialized. */
2129 /*------------------------------------------------------------.
2130 | yynewstate -- Push a new state, which is found in yystate. |
2131 `------------------------------------------------------------*/
2133 /* In all cases, when you get here, the value and location stacks
2134 have just been pushed. so pushing a state here evens the stacks.
2141 if (yyss
+ yystacksize
- 1 <= yyssp
)
2143 /* Get the current used size of the three stacks, in elements. */
2144 YYSIZE_T yysize
= yyssp
- yyss
+ 1;
2148 /* Give user a chance to reallocate the stack. Use copies of
2149 these so that the &'s don't force the real ones into
2151 YYSTYPE
*yyvs1
= yyvs
;
2152 short int *yyss1
= yyss
;
2155 /* Each stack pointer address is followed by the size of the
2156 data in use in that stack, in bytes. This used to be a
2157 conditional around just the two extra args, but that might
2158 be undefined if yyoverflow is a macro. */
2159 yyoverflow (YY_("memory exhausted"),
2160 &yyss1
, yysize
* sizeof (*yyssp
),
2161 &yyvs1
, yysize
* sizeof (*yyvsp
),
2168 #else /* no yyoverflow */
2169 # ifndef YYSTACK_RELOCATE
2170 goto yyexhaustedlab
;
2172 /* Extend the stack our own way. */
2173 if (YYMAXDEPTH
<= yystacksize
)
2174 goto yyexhaustedlab
;
2176 if (YYMAXDEPTH
< yystacksize
)
2177 yystacksize
= YYMAXDEPTH
;
2180 short int *yyss1
= yyss
;
2181 union yyalloc
*yyptr
=
2182 (union yyalloc
*) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize
));
2184 goto yyexhaustedlab
;
2185 YYSTACK_RELOCATE (yyss
);
2186 YYSTACK_RELOCATE (yyvs
);
2188 # undef YYSTACK_RELOCATE
2190 YYSTACK_FREE (yyss1
);
2193 #endif /* no yyoverflow */
2195 yyssp
= yyss
+ yysize
- 1;
2196 yyvsp
= yyvs
+ yysize
- 1;
2199 YYDPRINTF ((stderr
, "Stack size increased to %lu\n",
2200 (unsigned long int) yystacksize
));
2202 if (yyss
+ yystacksize
- 1 <= yyssp
)
2206 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
2215 /* Do appropriate processing given the current state. */
2216 /* Read a look-ahead token if we need one and don't already have one. */
2219 /* First try to decide what to do without reference to look-ahead token. */
2221 yyn
= yypact
[yystate
];
2222 if (yyn
== YYPACT_NINF
)
2225 /* Not known => get a look-ahead token if don't already have one. */
2227 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
2228 if (yychar
== YYEMPTY
)
2230 YYDPRINTF ((stderr
, "Reading a token: "));
2234 if (yychar
<= YYEOF
)
2236 yychar
= yytoken
= YYEOF
;
2237 YYDPRINTF ((stderr
, "Now at end of input.\n"));
2241 yytoken
= YYTRANSLATE (yychar
);
2242 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
2245 /* If the proper action on seeing token YYTOKEN is to reduce or to
2246 detect an error, take that action. */
2248 if (yyn
< 0 || YYLAST
< yyn
|| yycheck
[yyn
] != yytoken
)
2253 if (yyn
== 0 || yyn
== YYTABLE_NINF
)
2262 /* Shift the look-ahead token. */
2263 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
2265 /* Discard the token being shifted unless it is eof. */
2266 if (yychar
!= YYEOF
)
2272 /* Count tokens shifted since error; after three, turn off error
2281 /*-----------------------------------------------------------.
2282 | yydefault -- do the default action for the current state. |
2283 `-----------------------------------------------------------*/
2285 yyn
= yydefact
[yystate
];
2291 /*-----------------------------.
2292 | yyreduce -- Do a reduction. |
2293 `-----------------------------*/
2295 /* yyn is the number of a rule to reduce with. */
2298 /* If YYLEN is nonzero, implement the default value of the action:
2301 Otherwise, the following line sets YYVAL to garbage.
2302 This behavior is undocumented and Bison
2303 users should not rely upon it. Assigning to YYVAL
2304 unconditionally makes the parser a bit smaller, and it avoids a
2305 GCC warning that YYVAL may be used uninitialized. */
2306 yyval
= yyvsp
[1-yylen
];
2309 YY_REDUCE_PRINT (yyn
);
2313 #line 172 "ldgram.y"
2318 #line 174 "ldgram.y"
2321 lang_add_assignment(exp_assop((yyvsp
[-1].token
),(yyvsp
[-2].name
),(yyvsp
[0].etree
)));
2326 #line 182 "ldgram.y"
2328 ldlex_mri_script ();
2329 PUSH_ERROR (_("MRI style script"));
2334 #line 187 "ldgram.y"
2343 #line 202 "ldgram.y"
2345 einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),(yyvsp
[0].name
));
2350 #line 205 "ldgram.y"
2352 config
.map_filename
= "-";
2357 #line 211 "ldgram.y"
2358 { mri_public((yyvsp
[-2].name
), (yyvsp
[0].etree
)); }
2362 #line 213 "ldgram.y"
2363 { mri_public((yyvsp
[-2].name
), (yyvsp
[0].etree
)); }
2367 #line 215 "ldgram.y"
2368 { mri_public((yyvsp
[-1].name
), (yyvsp
[0].etree
)); }
2372 #line 217 "ldgram.y"
2373 { mri_format((yyvsp
[0].name
)); }
2377 #line 219 "ldgram.y"
2378 { mri_output_section((yyvsp
[-2].name
), (yyvsp
[0].etree
));}
2382 #line 221 "ldgram.y"
2383 { mri_output_section((yyvsp
[-1].name
), (yyvsp
[0].etree
));}
2387 #line 223 "ldgram.y"
2388 { mri_output_section((yyvsp
[-2].name
), (yyvsp
[0].etree
));}
2392 #line 225 "ldgram.y"
2393 { mri_align((yyvsp
[-2].name
),(yyvsp
[0].etree
)); }
2397 #line 227 "ldgram.y"
2398 { mri_align((yyvsp
[-2].name
),(yyvsp
[0].etree
)); }
2402 #line 229 "ldgram.y"
2403 { mri_alignmod((yyvsp
[-2].name
),(yyvsp
[0].etree
)); }
2407 #line 231 "ldgram.y"
2408 { mri_alignmod((yyvsp
[-2].name
),(yyvsp
[0].etree
)); }
2412 #line 235 "ldgram.y"
2413 { mri_name((yyvsp
[0].name
)); }
2417 #line 237 "ldgram.y"
2418 { mri_alias((yyvsp
[-2].name
),(yyvsp
[0].name
),0);}
2422 #line 239 "ldgram.y"
2423 { mri_alias ((yyvsp
[-2].name
), 0, (int) (yyvsp
[0].bigint
).integer
); }
2427 #line 241 "ldgram.y"
2428 { mri_base((yyvsp
[0].etree
)); }
2432 #line 243 "ldgram.y"
2433 { mri_truncate ((unsigned int) (yyvsp
[0].bigint
).integer
); }
2437 #line 247 "ldgram.y"
2438 { ldlex_script (); ldfile_open_command_file((yyvsp
[0].name
)); }
2442 #line 249 "ldgram.y"
2443 { ldlex_popstate (); }
2447 #line 251 "ldgram.y"
2448 { lang_add_entry ((yyvsp
[0].name
), FALSE
); }
2452 #line 256 "ldgram.y"
2453 { mri_order((yyvsp
[0].name
)); }
2457 #line 257 "ldgram.y"
2458 { mri_order((yyvsp
[0].name
)); }
2462 #line 263 "ldgram.y"
2463 { mri_load((yyvsp
[0].name
)); }
2467 #line 264 "ldgram.y"
2468 { mri_load((yyvsp
[0].name
)); }
2472 #line 269 "ldgram.y"
2473 { mri_only_load((yyvsp
[0].name
)); }
2477 #line 271 "ldgram.y"
2478 { mri_only_load((yyvsp
[0].name
)); }
2482 #line 275 "ldgram.y"
2483 { (yyval
.name
) = NULL
; }
2487 #line 282 "ldgram.y"
2488 { ldlex_expression (); }
2492 #line 284 "ldgram.y"
2493 { ldlex_popstate (); }
2497 #line 288 "ldgram.y"
2498 { ldlang_add_undef ((yyvsp
[0].name
)); }
2502 #line 290 "ldgram.y"
2503 { ldlang_add_undef ((yyvsp
[0].name
)); }
2507 #line 292 "ldgram.y"
2508 { ldlang_add_undef ((yyvsp
[0].name
)); }
2512 #line 296 "ldgram.y"
2517 #line 298 "ldgram.y"
2518 { ldlex_popstate(); }
2522 #line 319 "ldgram.y"
2523 { lang_add_target((yyvsp
[-1].name
)); }
2527 #line 321 "ldgram.y"
2528 { ldfile_add_library_path ((yyvsp
[-1].name
), FALSE
); }
2532 #line 323 "ldgram.y"
2533 { lang_add_output((yyvsp
[-1].name
), 1); }
2537 #line 325 "ldgram.y"
2538 { lang_add_output_format ((yyvsp
[-1].name
), (char *) NULL
,
2539 (char *) NULL
, 1); }
2543 #line 328 "ldgram.y"
2544 { lang_add_output_format ((yyvsp
[-5].name
), (yyvsp
[-3].name
), (yyvsp
[-1].name
), 1); }
2548 #line 330 "ldgram.y"
2549 { ldfile_set_output_arch ((yyvsp
[-1].name
), bfd_arch_unknown
); }
2553 #line 332 "ldgram.y"
2554 { command_line
.force_common_definition
= TRUE
; }
2558 #line 334 "ldgram.y"
2559 { command_line
.inhibit_common_definition
= TRUE
; }
2563 #line 337 "ldgram.y"
2564 { lang_enter_group (); }
2568 #line 339 "ldgram.y"
2569 { lang_leave_group (); }
2573 #line 341 "ldgram.y"
2574 { lang_add_map((yyvsp
[-1].name
)); }
2578 #line 343 "ldgram.y"
2579 { ldlex_script (); ldfile_open_command_file((yyvsp
[0].name
)); }
2583 #line 345 "ldgram.y"
2584 { ldlex_popstate (); }
2588 #line 347 "ldgram.y"
2590 lang_add_nocrossref ((yyvsp
[-1].nocrossref
));
2595 #line 352 "ldgram.y"
2596 { lang_add_insert ((yyvsp
[0].name
), 0); }
2600 #line 354 "ldgram.y"
2601 { lang_add_insert ((yyvsp
[0].name
), 1); }
2605 #line 359 "ldgram.y"
2606 { lang_add_input_file((yyvsp
[0].name
),lang_input_file_is_search_file_enum
,
2611 #line 362 "ldgram.y"
2612 { lang_add_input_file((yyvsp
[0].name
),lang_input_file_is_search_file_enum
,
2617 #line 365 "ldgram.y"
2618 { lang_add_input_file((yyvsp
[0].name
),lang_input_file_is_search_file_enum
,
2623 #line 368 "ldgram.y"
2624 { lang_add_input_file((yyvsp
[0].name
),lang_input_file_is_l_enum
,
2629 #line 371 "ldgram.y"
2630 { lang_add_input_file((yyvsp
[0].name
),lang_input_file_is_l_enum
,
2635 #line 374 "ldgram.y"
2636 { lang_add_input_file((yyvsp
[0].name
),lang_input_file_is_l_enum
,
2641 #line 377 "ldgram.y"
2642 { (yyval
.integer
) = as_needed
; as_needed
= TRUE
; }
2646 #line 379 "ldgram.y"
2647 { as_needed
= (yyvsp
[-2].integer
); }
2651 #line 381 "ldgram.y"
2652 { (yyval
.integer
) = as_needed
; as_needed
= TRUE
; }
2656 #line 383 "ldgram.y"
2657 { as_needed
= (yyvsp
[-2].integer
); }
2661 #line 385 "ldgram.y"
2662 { (yyval
.integer
) = as_needed
; as_needed
= TRUE
; }
2666 #line 387 "ldgram.y"
2667 { as_needed
= (yyvsp
[-2].integer
); }
2671 #line 402 "ldgram.y"
2672 { lang_add_entry ((yyvsp
[-1].name
), FALSE
); }
2676 #line 404 "ldgram.y"
2677 {ldlex_expression ();}
2681 #line 405 "ldgram.y"
2682 { ldlex_popstate ();
2683 lang_add_assignment (exp_assert ((yyvsp
[-3].etree
), (yyvsp
[-1].name
))); }
2687 #line 413 "ldgram.y"
2689 (yyval
.cname
) = (yyvsp
[0].name
);
2694 #line 417 "ldgram.y"
2696 (yyval
.cname
) = "*";
2701 #line 421 "ldgram.y"
2703 (yyval
.cname
) = "?";
2708 #line 428 "ldgram.y"
2710 (yyval
.wildcard
).name
= (yyvsp
[0].cname
);
2711 (yyval
.wildcard
).sorted
= none
;
2712 (yyval
.wildcard
).exclude_name_list
= NULL
;
2717 #line 434 "ldgram.y"
2719 (yyval
.wildcard
).name
= (yyvsp
[0].cname
);
2720 (yyval
.wildcard
).sorted
= none
;
2721 (yyval
.wildcard
).exclude_name_list
= (yyvsp
[-2].name_list
);
2726 #line 440 "ldgram.y"
2728 (yyval
.wildcard
).name
= (yyvsp
[-1].cname
);
2729 (yyval
.wildcard
).sorted
= by_name
;
2730 (yyval
.wildcard
).exclude_name_list
= NULL
;
2735 #line 446 "ldgram.y"
2737 (yyval
.wildcard
).name
= (yyvsp
[-1].cname
);
2738 (yyval
.wildcard
).sorted
= by_alignment
;
2739 (yyval
.wildcard
).exclude_name_list
= NULL
;
2744 #line 452 "ldgram.y"
2746 (yyval
.wildcard
).name
= (yyvsp
[-2].cname
);
2747 (yyval
.wildcard
).sorted
= by_name_alignment
;
2748 (yyval
.wildcard
).exclude_name_list
= NULL
;
2753 #line 458 "ldgram.y"
2755 (yyval
.wildcard
).name
= (yyvsp
[-2].cname
);
2756 (yyval
.wildcard
).sorted
= by_name
;
2757 (yyval
.wildcard
).exclude_name_list
= NULL
;
2762 #line 464 "ldgram.y"
2764 (yyval
.wildcard
).name
= (yyvsp
[-2].cname
);
2765 (yyval
.wildcard
).sorted
= by_alignment_name
;
2766 (yyval
.wildcard
).exclude_name_list
= NULL
;
2771 #line 470 "ldgram.y"
2773 (yyval
.wildcard
).name
= (yyvsp
[-2].cname
);
2774 (yyval
.wildcard
).sorted
= by_alignment
;
2775 (yyval
.wildcard
).exclude_name_list
= NULL
;
2780 #line 476 "ldgram.y"
2782 (yyval
.wildcard
).name
= (yyvsp
[-1].cname
);
2783 (yyval
.wildcard
).sorted
= by_name
;
2784 (yyval
.wildcard
).exclude_name_list
= (yyvsp
[-3].name_list
);
2789 #line 485 "ldgram.y"
2791 struct name_list
*tmp
;
2792 tmp
= (struct name_list
*) xmalloc (sizeof *tmp
);
2793 tmp
->name
= (yyvsp
[0].cname
);
2794 tmp
->next
= (yyvsp
[-1].name_list
);
2795 (yyval
.name_list
) = tmp
;
2800 #line 494 "ldgram.y"
2802 struct name_list
*tmp
;
2803 tmp
= (struct name_list
*) xmalloc (sizeof *tmp
);
2804 tmp
->name
= (yyvsp
[0].cname
);
2806 (yyval
.name_list
) = tmp
;
2811 #line 505 "ldgram.y"
2813 struct wildcard_list
*tmp
;
2814 tmp
= (struct wildcard_list
*) xmalloc (sizeof *tmp
);
2815 tmp
->next
= (yyvsp
[-2].wildcard_list
);
2816 tmp
->spec
= (yyvsp
[0].wildcard
);
2817 (yyval
.wildcard_list
) = tmp
;
2822 #line 514 "ldgram.y"
2824 struct wildcard_list
*tmp
;
2825 tmp
= (struct wildcard_list
*) xmalloc (sizeof *tmp
);
2827 tmp
->spec
= (yyvsp
[0].wildcard
);
2828 (yyval
.wildcard_list
) = tmp
;
2833 #line 525 "ldgram.y"
2835 struct wildcard_spec tmp
;
2836 tmp
.name
= (yyvsp
[0].name
);
2837 tmp
.exclude_name_list
= NULL
;
2839 lang_add_wild (&tmp
, NULL
, ldgram_had_keep
);
2844 #line 533 "ldgram.y"
2846 lang_add_wild (NULL
, (yyvsp
[-1].wildcard_list
), ldgram_had_keep
);
2851 #line 537 "ldgram.y"
2853 lang_add_wild (&(yyvsp
[-3].wildcard
), (yyvsp
[-1].wildcard_list
), ldgram_had_keep
);
2858 #line 545 "ldgram.y"
2859 { ldgram_had_keep
= TRUE
; }
2863 #line 547 "ldgram.y"
2864 { ldgram_had_keep
= FALSE
; }
2868 #line 553 "ldgram.y"
2870 lang_add_attribute(lang_object_symbols_statement_enum
);
2875 #line 558 "ldgram.y"
2878 lang_add_attribute(lang_constructors_statement_enum
);
2883 #line 563 "ldgram.y"
2885 constructors_sorted
= TRUE
;
2886 lang_add_attribute (lang_constructors_statement_enum
);
2891 #line 569 "ldgram.y"
2893 lang_add_data ((int) (yyvsp
[-3].integer
), (yyvsp
[-1].etree
));
2898 #line 574 "ldgram.y"
2900 lang_add_fill ((yyvsp
[-1].fill
));
2905 #line 577 "ldgram.y"
2906 {ldlex_expression ();}
2910 #line 578 "ldgram.y"
2911 { ldlex_popstate ();
2912 lang_add_assignment (exp_assert ((yyvsp
[-4].etree
), (yyvsp
[-2].name
))); }
2916 #line 581 "ldgram.y"
2917 { ldlex_script (); ldfile_open_command_file((yyvsp
[0].name
)); }
2921 #line 583 "ldgram.y"
2922 { ldlex_popstate (); }
2926 #line 598 "ldgram.y"
2927 { (yyval
.integer
) = (yyvsp
[0].token
); }
2931 #line 600 "ldgram.y"
2932 { (yyval
.integer
) = (yyvsp
[0].token
); }
2936 #line 602 "ldgram.y"
2937 { (yyval
.integer
) = (yyvsp
[0].token
); }
2941 #line 604 "ldgram.y"
2942 { (yyval
.integer
) = (yyvsp
[0].token
); }
2946 #line 606 "ldgram.y"
2947 { (yyval
.integer
) = (yyvsp
[0].token
); }
2951 #line 611 "ldgram.y"
2953 (yyval
.fill
) = exp_get_fill ((yyvsp
[0].etree
), 0, "fill value");
2958 #line 618 "ldgram.y"
2959 { (yyval
.fill
) = (yyvsp
[0].fill
); }
2963 #line 619 "ldgram.y"
2964 { (yyval
.fill
) = (fill_type
*) 0; }
2968 #line 624 "ldgram.y"
2969 { (yyval
.token
) = '+'; }
2973 #line 626 "ldgram.y"
2974 { (yyval
.token
) = '-'; }
2978 #line 628 "ldgram.y"
2979 { (yyval
.token
) = '*'; }
2983 #line 630 "ldgram.y"
2984 { (yyval
.token
) = '/'; }
2988 #line 632 "ldgram.y"
2989 { (yyval
.token
) = LSHIFT
; }
2993 #line 634 "ldgram.y"
2994 { (yyval
.token
) = RSHIFT
; }
2998 #line 636 "ldgram.y"
2999 { (yyval
.token
) = '&'; }
3003 #line 638 "ldgram.y"
3004 { (yyval
.token
) = '|'; }
3008 #line 648 "ldgram.y"
3010 lang_add_assignment (exp_assop ((yyvsp
[-1].token
), (yyvsp
[-2].name
), (yyvsp
[0].etree
)));
3015 #line 652 "ldgram.y"
3017 lang_add_assignment (exp_assop ('=', (yyvsp
[-2].name
),
3018 exp_binop ((yyvsp
[-1].token
),
3021 (yyvsp
[0].etree
))));
3026 #line 660 "ldgram.y"
3028 lang_add_assignment (exp_provide ((yyvsp
[-3].name
), (yyvsp
[-1].etree
), FALSE
));
3033 #line 664 "ldgram.y"
3035 lang_add_assignment (exp_provide ((yyvsp
[-3].name
), (yyvsp
[-1].etree
), TRUE
));
3040 #line 687 "ldgram.y"
3041 { region
= lang_memory_region_lookup ((yyvsp
[0].name
), TRUE
); }
3045 #line 690 "ldgram.y"
3050 #line 692 "ldgram.y"
3051 { ldlex_script (); ldfile_open_command_file((yyvsp
[0].name
)); }
3055 #line 694 "ldgram.y"
3056 { ldlex_popstate (); }
3060 #line 699 "ldgram.y"
3062 region
->origin
= exp_get_vma ((yyvsp
[0].etree
), 0, "origin");
3063 region
->current
= region
->origin
;
3068 #line 707 "ldgram.y"
3070 region
->length
= exp_get_vma ((yyvsp
[0].etree
), -1, "length");
3075 #line 714 "ldgram.y"
3076 { /* dummy action to avoid bison 1.25 error message */ }
3080 #line 725 "ldgram.y"
3081 { lang_set_flags (region
, (yyvsp
[0].name
), 0); }
3085 #line 727 "ldgram.y"
3086 { lang_set_flags (region
, (yyvsp
[0].name
), 1); }
3090 #line 732 "ldgram.y"
3091 { lang_startup((yyvsp
[-1].name
)); }
3095 #line 738 "ldgram.y"
3096 { ldemul_hll((char *)NULL
); }
3100 #line 743 "ldgram.y"
3101 { ldemul_hll((yyvsp
[0].name
)); }
3105 #line 745 "ldgram.y"
3106 { ldemul_hll((yyvsp
[0].name
)); }
3110 #line 753 "ldgram.y"
3111 { ldemul_syslib((yyvsp
[0].name
)); }
3115 #line 759 "ldgram.y"
3116 { lang_float(TRUE
); }
3120 #line 761 "ldgram.y"
3121 { lang_float(FALSE
); }
3125 #line 766 "ldgram.y"
3127 (yyval
.nocrossref
) = NULL
;
3132 #line 770 "ldgram.y"
3134 struct lang_nocrossref
*n
;
3136 n
= (struct lang_nocrossref
*) xmalloc (sizeof *n
);
3137 n
->name
= (yyvsp
[-1].name
);
3138 n
->next
= (yyvsp
[0].nocrossref
);
3139 (yyval
.nocrossref
) = n
;
3144 #line 779 "ldgram.y"
3146 struct lang_nocrossref
*n
;
3148 n
= (struct lang_nocrossref
*) xmalloc (sizeof *n
);
3149 n
->name
= (yyvsp
[-2].name
);
3150 n
->next
= (yyvsp
[0].nocrossref
);
3151 (yyval
.nocrossref
) = n
;
3156 #line 789 "ldgram.y"
3157 { ldlex_expression (); }
3161 #line 791 "ldgram.y"
3162 { ldlex_popstate (); (yyval
.etree
)=(yyvsp
[0].etree
);}
3166 #line 796 "ldgram.y"
3167 { (yyval
.etree
) = exp_unop ('-', (yyvsp
[0].etree
)); }
3171 #line 798 "ldgram.y"
3172 { (yyval
.etree
) = (yyvsp
[-1].etree
); }
3176 #line 800 "ldgram.y"
3177 { (yyval
.etree
) = exp_unop ((int) (yyvsp
[-3].integer
),(yyvsp
[-1].etree
)); }
3181 #line 802 "ldgram.y"
3182 { (yyval
.etree
) = exp_unop ('!', (yyvsp
[0].etree
)); }
3186 #line 804 "ldgram.y"
3187 { (yyval
.etree
) = (yyvsp
[0].etree
); }
3191 #line 806 "ldgram.y"
3192 { (yyval
.etree
) = exp_unop ('~', (yyvsp
[0].etree
));}
3196 #line 809 "ldgram.y"
3197 { (yyval
.etree
) = exp_binop ('*', (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3201 #line 811 "ldgram.y"
3202 { (yyval
.etree
) = exp_binop ('/', (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3206 #line 813 "ldgram.y"
3207 { (yyval
.etree
) = exp_binop ('%', (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3211 #line 815 "ldgram.y"
3212 { (yyval
.etree
) = exp_binop ('+', (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3216 #line 817 "ldgram.y"
3217 { (yyval
.etree
) = exp_binop ('-' , (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3221 #line 819 "ldgram.y"
3222 { (yyval
.etree
) = exp_binop (LSHIFT
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3226 #line 821 "ldgram.y"
3227 { (yyval
.etree
) = exp_binop (RSHIFT
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3231 #line 823 "ldgram.y"
3232 { (yyval
.etree
) = exp_binop (EQ
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3236 #line 825 "ldgram.y"
3237 { (yyval
.etree
) = exp_binop (NE
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3241 #line 827 "ldgram.y"
3242 { (yyval
.etree
) = exp_binop (LE
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3246 #line 829 "ldgram.y"
3247 { (yyval
.etree
) = exp_binop (GE
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3251 #line 831 "ldgram.y"
3252 { (yyval
.etree
) = exp_binop ('<' , (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3256 #line 833 "ldgram.y"
3257 { (yyval
.etree
) = exp_binop ('>' , (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3261 #line 835 "ldgram.y"
3262 { (yyval
.etree
) = exp_binop ('&' , (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3266 #line 837 "ldgram.y"
3267 { (yyval
.etree
) = exp_binop ('^' , (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3271 #line 839 "ldgram.y"
3272 { (yyval
.etree
) = exp_binop ('|' , (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3276 #line 841 "ldgram.y"
3277 { (yyval
.etree
) = exp_trinop ('?' , (yyvsp
[-4].etree
), (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3281 #line 843 "ldgram.y"
3282 { (yyval
.etree
) = exp_binop (ANDAND
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3286 #line 845 "ldgram.y"
3287 { (yyval
.etree
) = exp_binop (OROR
, (yyvsp
[-2].etree
), (yyvsp
[0].etree
)); }
3291 #line 847 "ldgram.y"
3292 { (yyval
.etree
) = exp_nameop (DEFINED
, (yyvsp
[-1].name
)); }
3296 #line 849 "ldgram.y"
3297 { (yyval
.etree
) = exp_bigintop ((yyvsp
[0].bigint
).integer
, (yyvsp
[0].bigint
).str
); }
3301 #line 851 "ldgram.y"
3302 { (yyval
.etree
) = exp_nameop (SIZEOF_HEADERS
,0); }
3306 #line 854 "ldgram.y"
3307 { (yyval
.etree
) = exp_nameop (ALIGNOF
,(yyvsp
[-1].name
)); }
3311 #line 856 "ldgram.y"
3312 { (yyval
.etree
) = exp_nameop (SIZEOF
,(yyvsp
[-1].name
)); }
3316 #line 858 "ldgram.y"
3317 { (yyval
.etree
) = exp_nameop (ADDR
,(yyvsp
[-1].name
)); }
3321 #line 860 "ldgram.y"
3322 { (yyval
.etree
) = exp_nameop (LOADADDR
,(yyvsp
[-1].name
)); }
3326 #line 862 "ldgram.y"
3327 { (yyval
.etree
) = exp_nameop (CONSTANT
,(yyvsp
[-1].name
)); }
3331 #line 864 "ldgram.y"
3332 { (yyval
.etree
) = exp_unop (ABSOLUTE
, (yyvsp
[-1].etree
)); }
3336 #line 866 "ldgram.y"
3337 { (yyval
.etree
) = exp_unop (ALIGN_K
,(yyvsp
[-1].etree
)); }
3341 #line 868 "ldgram.y"
3342 { (yyval
.etree
) = exp_binop (ALIGN_K
,(yyvsp
[-3].etree
),(yyvsp
[-1].etree
)); }
3346 #line 870 "ldgram.y"
3347 { (yyval
.etree
) = exp_binop (DATA_SEGMENT_ALIGN
, (yyvsp
[-3].etree
), (yyvsp
[-1].etree
)); }
3351 #line 872 "ldgram.y"
3352 { (yyval
.etree
) = exp_binop (DATA_SEGMENT_RELRO_END
, (yyvsp
[-1].etree
), (yyvsp
[-3].etree
)); }
3356 #line 874 "ldgram.y"
3357 { (yyval
.etree
) = exp_unop (DATA_SEGMENT_END
, (yyvsp
[-1].etree
)); }
3361 #line 876 "ldgram.y"
3362 { /* The operands to the expression node are
3363 placed in the opposite order from the way
3364 in which they appear in the script as
3365 that allows us to reuse more code in
3367 (yyval
.etree
) = exp_binop (SEGMENT_START
,
3369 exp_nameop (NAME
, (yyvsp
[-3].name
))); }
3373 #line 885 "ldgram.y"
3374 { (yyval
.etree
) = exp_unop (ALIGN_K
,(yyvsp
[-1].etree
)); }
3378 #line 887 "ldgram.y"
3379 { (yyval
.etree
) = exp_nameop (NAME
,(yyvsp
[0].name
)); }
3383 #line 889 "ldgram.y"
3384 { (yyval
.etree
) = exp_binop (MAX_K
, (yyvsp
[-3].etree
), (yyvsp
[-1].etree
) ); }
3388 #line 891 "ldgram.y"
3389 { (yyval
.etree
) = exp_binop (MIN_K
, (yyvsp
[-3].etree
), (yyvsp
[-1].etree
) ); }
3393 #line 893 "ldgram.y"
3394 { (yyval
.etree
) = exp_assert ((yyvsp
[-3].etree
), (yyvsp
[-1].name
)); }
3398 #line 895 "ldgram.y"
3399 { (yyval
.etree
) = exp_nameop (ORIGIN
, (yyvsp
[-1].name
)); }
3403 #line 897 "ldgram.y"
3404 { (yyval
.etree
) = exp_nameop (LENGTH
, (yyvsp
[-1].name
)); }
3408 #line 902 "ldgram.y"
3409 { (yyval
.name
) = (yyvsp
[0].name
); }
3413 #line 903 "ldgram.y"
3414 { (yyval
.name
) = 0; }
3418 #line 907 "ldgram.y"
3419 { (yyval
.etree
) = (yyvsp
[-1].etree
); }
3423 #line 908 "ldgram.y"
3424 { (yyval
.etree
) = 0; }
3428 #line 912 "ldgram.y"
3429 { (yyval
.etree
) = (yyvsp
[-1].etree
); }
3433 #line 913 "ldgram.y"
3434 { (yyval
.etree
) = 0; }
3438 #line 917 "ldgram.y"
3439 { (yyval
.etree
) = (yyvsp
[-1].etree
); }
3443 #line 918 "ldgram.y"
3444 { (yyval
.etree
) = 0; }
3448 #line 922 "ldgram.y"
3449 { (yyval
.token
) = ONLY_IF_RO
; }
3453 #line 923 "ldgram.y"
3454 { (yyval
.token
) = ONLY_IF_RW
; }
3458 #line 924 "ldgram.y"
3459 { (yyval
.token
) = SPECIAL
; }
3463 #line 925 "ldgram.y"
3464 { (yyval
.token
) = 0; }
3468 #line 928 "ldgram.y"
3469 { ldlex_expression(); }
3473 #line 932 "ldgram.y"
3474 { ldlex_popstate (); ldlex_script (); }
3478 #line 935 "ldgram.y"
3480 lang_enter_output_section_statement((yyvsp
[-8].name
), (yyvsp
[-6].etree
),
3482 (yyvsp
[-4].etree
), (yyvsp
[-3].etree
), (yyvsp
[-5].etree
), (yyvsp
[-1].token
));
3487 #line 941 "ldgram.y"
3488 { ldlex_popstate (); ldlex_expression (); }
3492 #line 943 "ldgram.y"
3495 lang_leave_output_section_statement ((yyvsp
[0].fill
), (yyvsp
[-3].name
), (yyvsp
[-1].section_phdr
), (yyvsp
[-2].name
));
3500 #line 948 "ldgram.y"
3505 #line 950 "ldgram.y"
3506 { ldlex_expression (); }
3510 #line 952 "ldgram.y"
3511 { ldlex_popstate (); ldlex_script (); }
3515 #line 954 "ldgram.y"
3517 lang_enter_overlay ((yyvsp
[-5].etree
), (yyvsp
[-2].etree
));
3522 #line 959 "ldgram.y"
3523 { ldlex_popstate (); ldlex_expression (); }
3527 #line 961 "ldgram.y"
3530 lang_leave_overlay ((yyvsp
[-11].etree
), (int) (yyvsp
[-12].integer
),
3531 (yyvsp
[0].fill
), (yyvsp
[-3].name
), (yyvsp
[-1].section_phdr
), (yyvsp
[-2].name
));
3536 #line 971 "ldgram.y"
3537 { ldlex_expression (); }
3541 #line 973 "ldgram.y"
3544 lang_add_assignment (exp_assop ('=', ".", (yyvsp
[0].etree
)));
3549 #line 979 "ldgram.y"
3550 { ldlex_script (); ldfile_open_command_file((yyvsp
[0].name
)); }
3554 #line 981 "ldgram.y"
3555 { ldlex_popstate (); }
3559 #line 985 "ldgram.y"
3560 { sectype
= noload_section
; }
3564 #line 986 "ldgram.y"
3565 { sectype
= noalloc_section
; }
3569 #line 987 "ldgram.y"
3570 { sectype
= noalloc_section
; }
3574 #line 988 "ldgram.y"
3575 { sectype
= noalloc_section
; }
3579 #line 989 "ldgram.y"
3580 { sectype
= noalloc_section
; }
3584 #line 994 "ldgram.y"
3585 { sectype
= normal_section
; }
3589 #line 995 "ldgram.y"
3590 { sectype
= normal_section
; }
3594 #line 999 "ldgram.y"
3595 { (yyval
.etree
) = (yyvsp
[-2].etree
); }
3599 #line 1000 "ldgram.y"
3600 { (yyval
.etree
) = (etree_type
*)NULL
; }
3604 #line 1005 "ldgram.y"
3605 { (yyval
.etree
) = (yyvsp
[-3].etree
); }
3609 #line 1007 "ldgram.y"
3610 { (yyval
.etree
) = (yyvsp
[-7].etree
); }
3614 #line 1011 "ldgram.y"
3615 { (yyval
.etree
) = (yyvsp
[-1].etree
); }
3619 #line 1012 "ldgram.y"
3620 { (yyval
.etree
) = (etree_type
*) NULL
; }
3624 #line 1017 "ldgram.y"
3625 { (yyval
.integer
) = 0; }
3629 #line 1019 "ldgram.y"
3630 { (yyval
.integer
) = 1; }
3634 #line 1024 "ldgram.y"
3635 { (yyval
.name
) = (yyvsp
[0].name
); }
3639 #line 1025 "ldgram.y"
3640 { (yyval
.name
) = DEFAULT_MEMORY_REGION
; }
3644 #line 1030 "ldgram.y"
3646 (yyval
.section_phdr
) = NULL
;
3651 #line 1034 "ldgram.y"
3653 struct lang_output_section_phdr_list
*n
;
3655 n
= ((struct lang_output_section_phdr_list
*)
3656 xmalloc (sizeof *n
));
3657 n
->name
= (yyvsp
[0].name
);
3659 n
->next
= (yyvsp
[-2].section_phdr
);
3660 (yyval
.section_phdr
) = n
;
3665 #line 1050 "ldgram.y"
3668 lang_enter_overlay_section ((yyvsp
[0].name
));
3673 #line 1055 "ldgram.y"
3674 { ldlex_popstate (); ldlex_expression (); }
3678 #line 1057 "ldgram.y"
3681 lang_leave_overlay_section ((yyvsp
[0].fill
), (yyvsp
[-1].section_phdr
));
3686 #line 1074 "ldgram.y"
3687 { ldlex_expression (); }
3691 #line 1075 "ldgram.y"
3692 { ldlex_popstate (); }
3696 #line 1077 "ldgram.y"
3698 lang_new_phdr ((yyvsp
[-5].name
), (yyvsp
[-3].etree
), (yyvsp
[-2].phdr
).filehdr
, (yyvsp
[-2].phdr
).phdrs
, (yyvsp
[-2].phdr
).at
,
3699 (yyvsp
[-2].phdr
).flags
);
3704 #line 1085 "ldgram.y"
3706 (yyval
.etree
) = (yyvsp
[0].etree
);
3708 if ((yyvsp
[0].etree
)->type
.node_class
== etree_name
3709 && (yyvsp
[0].etree
)->type
.node_code
== NAME
)
3713 static const char * const phdr_types
[] =
3715 "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
3716 "PT_INTERP", "PT_NOTE", "PT_SHLIB",
3720 s
= (yyvsp
[0].etree
)->name
.name
;
3722 i
< sizeof phdr_types
/ sizeof phdr_types
[0];
3724 if (strcmp (s
, phdr_types
[i
]) == 0)
3726 (yyval
.etree
) = exp_intop (i
);
3729 if (i
== sizeof phdr_types
/ sizeof phdr_types
[0])
3731 if (strcmp (s
, "PT_GNU_EH_FRAME") == 0)
3732 (yyval
.etree
) = exp_intop (0x6474e550);
3733 else if (strcmp (s
, "PT_GNU_STACK") == 0)
3734 (yyval
.etree
) = exp_intop (0x6474e551);
3738 %X%P:%S: unknown phdr type `%s' (try integer literal)\n"),
3740 (yyval
.etree
) = exp_intop (0);
3748 #line 1129 "ldgram.y"
3750 memset (&(yyval
.phdr
), 0, sizeof (struct phdr_info
));
3755 #line 1133 "ldgram.y"
3757 (yyval
.phdr
) = (yyvsp
[0].phdr
);
3758 if (strcmp ((yyvsp
[-2].name
), "FILEHDR") == 0 && (yyvsp
[-1].etree
) == NULL
)
3759 (yyval
.phdr
).filehdr
= TRUE
;
3760 else if (strcmp ((yyvsp
[-2].name
), "PHDRS") == 0 && (yyvsp
[-1].etree
) == NULL
)
3761 (yyval
.phdr
).phdrs
= TRUE
;
3762 else if (strcmp ((yyvsp
[-2].name
), "FLAGS") == 0 && (yyvsp
[-1].etree
) != NULL
)
3763 (yyval
.phdr
).flags
= (yyvsp
[-1].etree
);
3765 einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), (yyvsp
[-2].name
));
3770 #line 1145 "ldgram.y"
3772 (yyval
.phdr
) = (yyvsp
[0].phdr
);
3773 (yyval
.phdr
).at
= (yyvsp
[-2].etree
);
3778 #line 1153 "ldgram.y"
3780 (yyval
.etree
) = NULL
;
3785 #line 1157 "ldgram.y"
3787 (yyval
.etree
) = (yyvsp
[-1].etree
);
3792 #line 1163 "ldgram.y"
3794 ldlex_version_file ();
3795 PUSH_ERROR (_("dynamic list"));
3800 #line 1168 "ldgram.y"
3808 #line 1185 "ldgram.y"
3810 lang_append_dynamic_list ((yyvsp
[-1].versyms
));
3815 #line 1193 "ldgram.y"
3817 ldlex_version_file ();
3818 PUSH_ERROR (_("VERSION script"));
3823 #line 1198 "ldgram.y"
3831 #line 1207 "ldgram.y"
3833 ldlex_version_script ();
3838 #line 1211 "ldgram.y"
3845 #line 1223 "ldgram.y"
3847 lang_register_vers_node (NULL
, (yyvsp
[-2].versnode
), NULL
);
3852 #line 1227 "ldgram.y"
3854 lang_register_vers_node ((yyvsp
[-4].name
), (yyvsp
[-2].versnode
), NULL
);
3859 #line 1231 "ldgram.y"
3861 lang_register_vers_node ((yyvsp
[-5].name
), (yyvsp
[-3].versnode
), (yyvsp
[-1].deflist
));
3866 #line 1238 "ldgram.y"
3868 (yyval
.deflist
) = lang_add_vers_depend (NULL
, (yyvsp
[0].name
));
3873 #line 1242 "ldgram.y"
3875 (yyval
.deflist
) = lang_add_vers_depend ((yyvsp
[-1].deflist
), (yyvsp
[0].name
));
3880 #line 1249 "ldgram.y"
3882 (yyval
.versnode
) = lang_new_vers_node (NULL
, NULL
);
3887 #line 1253 "ldgram.y"
3889 (yyval
.versnode
) = lang_new_vers_node ((yyvsp
[-1].versyms
), NULL
);
3894 #line 1257 "ldgram.y"
3896 (yyval
.versnode
) = lang_new_vers_node ((yyvsp
[-1].versyms
), NULL
);
3901 #line 1261 "ldgram.y"
3903 (yyval
.versnode
) = lang_new_vers_node (NULL
, (yyvsp
[-1].versyms
));
3908 #line 1265 "ldgram.y"
3910 (yyval
.versnode
) = lang_new_vers_node ((yyvsp
[-5].versyms
), (yyvsp
[-1].versyms
));
3915 #line 1272 "ldgram.y"
3917 (yyval
.versyms
) = lang_new_vers_pattern (NULL
, (yyvsp
[0].name
), ldgram_vers_current_lang
, FALSE
);
3922 #line 1276 "ldgram.y"
3924 (yyval
.versyms
) = lang_new_vers_pattern (NULL
, (yyvsp
[0].name
), ldgram_vers_current_lang
, TRUE
);
3929 #line 1280 "ldgram.y"
3931 (yyval
.versyms
) = lang_new_vers_pattern ((yyvsp
[-2].versyms
), (yyvsp
[0].name
), ldgram_vers_current_lang
, FALSE
);
3936 #line 1284 "ldgram.y"
3938 (yyval
.versyms
) = lang_new_vers_pattern ((yyvsp
[-2].versyms
), (yyvsp
[0].name
), ldgram_vers_current_lang
, TRUE
);
3943 #line 1288 "ldgram.y"
3945 (yyval
.name
) = ldgram_vers_current_lang
;
3946 ldgram_vers_current_lang
= (yyvsp
[-1].name
);
3951 #line 1293 "ldgram.y"
3953 struct bfd_elf_version_expr
*pat
;
3954 for (pat
= (yyvsp
[-2].versyms
); pat
->next
!= NULL
; pat
= pat
->next
);
3955 pat
->next
= (yyvsp
[-8].versyms
);
3956 (yyval
.versyms
) = (yyvsp
[-2].versyms
);
3957 ldgram_vers_current_lang
= (yyvsp
[-3].name
);
3962 #line 1301 "ldgram.y"
3964 (yyval
.name
) = ldgram_vers_current_lang
;
3965 ldgram_vers_current_lang
= (yyvsp
[-1].name
);
3970 #line 1306 "ldgram.y"
3972 (yyval
.versyms
) = (yyvsp
[-2].versyms
);
3973 ldgram_vers_current_lang
= (yyvsp
[-3].name
);
3978 #line 1311 "ldgram.y"
3980 (yyval
.versyms
) = lang_new_vers_pattern (NULL
, "global", ldgram_vers_current_lang
, FALSE
);
3985 #line 1315 "ldgram.y"
3987 (yyval
.versyms
) = lang_new_vers_pattern ((yyvsp
[-2].versyms
), "global", ldgram_vers_current_lang
, FALSE
);
3992 #line 1319 "ldgram.y"
3994 (yyval
.versyms
) = lang_new_vers_pattern (NULL
, "local", ldgram_vers_current_lang
, FALSE
);
3999 #line 1323 "ldgram.y"
4001 (yyval
.versyms
) = lang_new_vers_pattern ((yyvsp
[-2].versyms
), "local", ldgram_vers_current_lang
, FALSE
);
4006 #line 1327 "ldgram.y"
4008 (yyval
.versyms
) = lang_new_vers_pattern (NULL
, "extern", ldgram_vers_current_lang
, FALSE
);
4013 #line 1331 "ldgram.y"
4015 (yyval
.versyms
) = lang_new_vers_pattern ((yyvsp
[-2].versyms
), "extern", ldgram_vers_current_lang
, FALSE
);
4023 /* Line 1126 of yacc.c. */
4024 #line 4025 "ldgram.c"
4030 YY_STACK_PRINT (yyss
, yyssp
);
4035 /* Now `shift' the result of the reduction. Determine what state
4036 that goes to, based on the state we popped back to and the rule
4037 number reduced by. */
4041 yystate
= yypgoto
[yyn
- YYNTOKENS
] + *yyssp
;
4042 if (0 <= yystate
&& yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
4043 yystate
= yytable
[yystate
];
4045 yystate
= yydefgoto
[yyn
- YYNTOKENS
];
4050 /*------------------------------------.
4051 | yyerrlab -- here on detecting error |
4052 `------------------------------------*/
4054 /* If not already recovering from an error, report this error. */
4059 yyn
= yypact
[yystate
];
4061 if (YYPACT_NINF
< yyn
&& yyn
< YYLAST
)
4063 int yytype
= YYTRANSLATE (yychar
);
4064 YYSIZE_T yysize0
= yytnamerr (0, yytname
[yytype
]);
4065 YYSIZE_T yysize
= yysize0
;
4067 int yysize_overflow
= 0;
4069 # define YYERROR_VERBOSE_ARGS_MAXIMUM 5
4070 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
4074 /* This is so xgettext sees the translatable formats that are
4075 constructed on the fly. */
4076 YY_("syntax error, unexpected %s");
4077 YY_("syntax error, unexpected %s, expecting %s");
4078 YY_("syntax error, unexpected %s, expecting %s or %s");
4079 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
4080 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
4084 static char const yyunexpected
[] = "syntax error, unexpected %s";
4085 static char const yyexpecting
[] = ", expecting %s";
4086 static char const yyor
[] = " or %s";
4087 char yyformat
[sizeof yyunexpected
4088 + sizeof yyexpecting
- 1
4089 + ((YYERROR_VERBOSE_ARGS_MAXIMUM
- 2)
4090 * (sizeof yyor
- 1))];
4091 char const *yyprefix
= yyexpecting
;
4093 /* Start YYX at -YYN if negative to avoid negative indexes in
4095 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
4097 /* Stay within bounds of both yycheck and yytname. */
4098 int yychecklim
= YYLAST
- yyn
;
4099 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
4102 yyarg
[0] = yytname
[yytype
];
4103 yyfmt
= yystpcpy (yyformat
, yyunexpected
);
4105 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
4106 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
)
4108 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
4112 yyformat
[sizeof yyunexpected
- 1] = '\0';
4115 yyarg
[yycount
++] = yytname
[yyx
];
4116 yysize1
= yysize
+ yytnamerr (0, yytname
[yyx
]);
4117 yysize_overflow
|= yysize1
< yysize
;
4119 yyfmt
= yystpcpy (yyfmt
, yyprefix
);
4123 yyf
= YY_(yyformat
);
4124 yysize1
= yysize
+ yystrlen (yyf
);
4125 yysize_overflow
|= yysize1
< yysize
;
4128 if (!yysize_overflow
&& yysize
<= YYSTACK_ALLOC_MAXIMUM
)
4129 yymsg
= (char *) YYSTACK_ALLOC (yysize
);
4132 /* Avoid sprintf, as that infringes on the user's name space.
4133 Don't have undefined behavior even if the translation
4134 produced a string with the wrong number of "%s"s. */
4137 while ((*yyp
= *yyf
))
4139 if (*yyp
== '%' && yyf
[1] == 's' && yyi
< yycount
)
4141 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
4151 YYSTACK_FREE (yymsg
);
4155 yyerror (YY_("syntax error"));
4156 goto yyexhaustedlab
;
4160 #endif /* YYERROR_VERBOSE */
4161 yyerror (YY_("syntax error"));
4166 if (yyerrstatus
== 3)
4168 /* If just tried and failed to reuse look-ahead token after an
4169 error, discard it. */
4171 if (yychar
<= YYEOF
)
4173 /* Return failure if at end of input. */
4174 if (yychar
== YYEOF
)
4179 yydestruct ("Error: discarding", yytoken
, &yylval
);
4184 /* Else will try to reuse look-ahead token after shifting the error
4189 /*---------------------------------------------------.
4190 | yyerrorlab -- error raised explicitly by YYERROR. |
4191 `---------------------------------------------------*/
4194 /* Pacify compilers like GCC when the user code never invokes
4195 YYERROR and the label yyerrorlab therefore never appears in user
4206 /*-------------------------------------------------------------.
4207 | yyerrlab1 -- common code for both syntax error and YYERROR. |
4208 `-------------------------------------------------------------*/
4210 yyerrstatus
= 3; /* Each real token shifted decrements this. */
4214 yyn
= yypact
[yystate
];
4215 if (yyn
!= YYPACT_NINF
)
4218 if (0 <= yyn
&& yyn
<= YYLAST
&& yycheck
[yyn
] == YYTERROR
)
4226 /* Pop the current state because it cannot handle the error token. */
4231 yydestruct ("Error: popping", yystos
[yystate
], yyvsp
);
4234 YY_STACK_PRINT (yyss
, yyssp
);
4243 /* Shift the error token. */
4244 YY_SYMBOL_PRINT ("Shifting", yystos
[yyn
], yyvsp
, yylsp
);
4250 /*-------------------------------------.
4251 | yyacceptlab -- YYACCEPT comes here. |
4252 `-------------------------------------*/
4257 /*-----------------------------------.
4258 | yyabortlab -- YYABORT comes here. |
4259 `-----------------------------------*/
4265 /*-------------------------------------------------.
4266 | yyexhaustedlab -- memory exhaustion comes here. |
4267 `-------------------------------------------------*/
4269 yyerror (YY_("memory exhausted"));
4275 if (yychar
!= YYEOF
&& yychar
!= YYEMPTY
)
4276 yydestruct ("Cleanup: discarding lookahead",
4278 while (yyssp
!= yyss
)
4280 yydestruct ("Cleanup: popping",
4281 yystos
[*yyssp
], yyvsp
);
4286 YYSTACK_FREE (yyss
);
4292 #line 1341 "ldgram.y"
4298 if (ldfile_assumed_script
)
4299 einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
4300 ldfile_input_filename
);
4301 if (error_index
> 0 && error_index
< ERROR_NAME_MAX
)
4302 einfo ("%P%F:%S: %s in %s\n", arg
, error_names
[error_index
-1]);
4304 einfo ("%P%F:%S: %s\n", arg
);