47 #define YYBISON_VERSION "3.0.2"
50 #define YYSKELETON_NAME "yacc.c"
81 #define parse_type(ps) builtin_type (parse_gdbarch (ps))
94 #define yymaxdepth ada_maxdepth
96 #define yyparse ada_parse_internal
98 #define yyerror ada_error
99 #define yylval ada_lval
100 #define yychar ada_char
101 #define yydebug ada_debug
102 #define yypact ada_pact
105 #define yydef ada_def
106 #define yychk ada_chk
107 #define yypgo ada_pgo
108 #define yyact ada_act
109 #define yyexca ada_exca
110 #define yyerrflag ada_errflag
111 #define yynerrs ada_nerrs
115 #define yy_yys ada_yys
116 #define yystate ada_state
117 #define yytmp ada_tmp
119 #define yy_yyv ada_yyv
120 #define yyval ada_val
121 #define yylloc ada_lloc
122 #define yyreds ada_reds
123 #define yytoks ada_toks
124 #define yyname ada_name
125 #define yyrule ada_rule
126 #define yyss ada_yyss
127 #define yysslim ada_yysslim
128 #define yyssp ada_yyssp
129 #define yystacksize ada_yystacksize
130 #define yyvs ada_yyvs
131 #define yyvsp ada_yyvsp
137 #define YYFPRINTF parser_fprintf
151 static struct stoken empty_stoken = {
"", 0 };
159 static int yylex (
void);
166 const struct block *,
const char *,
int,
182 const struct block *,
char *,
int);
203 #line 204 "ada-exp.c"
206 # if defined __cplusplus && 201103L <= __cplusplus
207 # define YY_NULLPTR nullptr
209 # define YY_NULLPTR 0
214 #ifdef YYERROR_VERBOSE
215 # undef YYERROR_VERBOSE
216 # define YYERROR_VERBOSE 1
218 # define YYERROR_VERBOSE 0
288 #define TRUEKEYWORD 262
289 #define FALSEKEYWORD 263
290 #define COLONCOLON 264
295 #define SPECIAL_VARIABLE 269
315 #define TICK_ACCESS 289
316 #define TICK_ADDRESS 290
317 #define TICK_FIRST 291
318 #define TICK_LAST 292
319 #define TICK_LENGTH 293
322 #define TICK_MODULUS 296
324 #define TICK_RANGE 298
325 #define TICK_SIZE 299
332 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
336 #line 175 "ada-exp.y"
353 #line 354 "ada-exp.c"
355 # define YYSTYPE_IS_TRIVIAL 1
356 # define YYSTYPE_IS_DECLARED 1
368 #line 369 "ada-exp.c"
399 # ifdef __SIZE_TYPE__
400 # define YYSIZE_T __SIZE_TYPE__
401 # elif defined size_t
402 # define YYSIZE_T size_t
403 # elif ! defined YYSIZE_T
405 # define YYSIZE_T size_t
407 # define YYSIZE_T unsigned int
411 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
414 # if defined YYENABLE_NLS && YYENABLE_NLS
416 # include <libintl.h>
417 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
421 # define YY_(Msgid) Msgid
426 # if (defined __GNUC__ \
427 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
428 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
429 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
431 # define YY_ATTRIBUTE(Spec)
435 #ifndef YY_ATTRIBUTE_PURE
436 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
439 #ifndef YY_ATTRIBUTE_UNUSED
440 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
443 #if !defined _Noreturn \
444 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
445 # if defined _MSC_VER && 1200 <= _MSC_VER
446 # define _Noreturn __declspec (noreturn)
448 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
453 #if ! defined lint || defined __GNUC__
454 # define YYUSE(E) ((void) (E))
459 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
461 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
462 _Pragma ("GCC diagnostic push") \
463 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
464 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
465 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
466 _Pragma ("GCC diagnostic pop")
468 # define YY_INITIAL_VALUE(Value) Value
470 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
471 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
472 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
474 #ifndef YY_INITIAL_VALUE
475 # define YY_INITIAL_VALUE(Value)
479 #if ! defined yyoverflow || YYERROR_VERBOSE
483 # ifdef YYSTACK_USE_ALLOCA
484 # if YYSTACK_USE_ALLOCA
486 # define YYSTACK_ALLOC __builtin_alloca
487 # elif defined __BUILTIN_VA_ARG_INCR
490 # define YYSTACK_ALLOC __alloca
491 # elif defined _MSC_VER
492 # define alloca _alloca
494 # define YYSTACK_ALLOC alloca
495 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
498 # ifndef EXIT_SUCCESS
499 # define EXIT_SUCCESS 0
506 # ifdef YYSTACK_ALLOC
508 # define YYSTACK_FREE(Ptr) do { ; } while (0)
509 # ifndef YYSTACK_ALLOC_MAXIMUM
514 # define YYSTACK_ALLOC_MAXIMUM 4032
517 # define YYSTACK_ALLOC YYMALLOC
518 # define YYSTACK_FREE YYFREE
519 # ifndef YYSTACK_ALLOC_MAXIMUM
520 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
522 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
523 && ! ((defined YYMALLOC || defined xmalloc) \
524 && (defined YYFREE || defined xfree)))
526 # ifndef EXIT_SUCCESS
527 # define EXIT_SUCCESS 0
531 # define YYMALLOC xmalloc
532 # if ! defined xmalloc && ! defined EXIT_SUCCESS
537 # define YYFREE xfree
538 # if ! defined xfree && ! defined EXIT_SUCCESS
546 #if (! defined yyoverflow \
547 && (! defined __cplusplus \
548 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
558 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
562 # define YYSTACK_BYTES(N) \
563 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
564 + YYSTACK_GAP_MAXIMUM)
566 # define YYCOPY_NEEDED 1
573 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
576 YYSIZE_T yynewbytes; \
577 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
578 Stack = &yyptr->Stack_alloc; \
579 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
580 yyptr += yynewbytes / sizeof (*yyptr); \
586 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
590 # if defined __GNUC__ && 1 < __GNUC__
591 # define YYCOPY(Dst, Src, Count) \
592 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
594 # define YYCOPY(Dst, Src, Count) \
598 for (yyi = 0; yyi < (Count); yyi++) \
599 (Dst)[yyi] = (Src)[yyi]; \
618 #define YYNSTATES 233
623 #define YYMAXUTOK 303
625 #define YYTRANSLATE(YYX) \
626 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
632 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
635 2, 2, 2, 2, 2, 2, 2, 2, 32, 64,
636 58, 63, 34, 30, 65, 31, 57, 35, 2, 2,
637 2, 2, 2, 2, 2, 2, 2, 2, 2, 62,
638 23, 21, 24, 2, 29, 2, 2, 2, 2, 2,
639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
641 2, 59, 2, 68, 2, 2, 2, 2, 2, 2,
642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
644 2, 2, 2, 66, 43, 67, 2, 2, 2, 2,
645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
650 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
653 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
657 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
658 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
659 15, 16, 17, 18, 19, 20, 22, 25, 26, 27,
660 28, 33, 36, 37, 38, 39, 40, 41, 42, 44,
661 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
669 0, 240, 240, 244, 245, 247, 252, 256, 261, 267,
670 286, 286, 298, 302, 304, 312, 323, 333, 337, 340,
671 343, 347, 351, 355, 359, 362, 364, 366, 368, 372,
672 385, 389, 393, 397, 401, 405, 409, 413, 417, 421,
673 424, 428, 432, 436, 438, 443, 451, 455, 461, 472,
674 476, 480, 484, 485, 486, 487, 488, 489, 493, 495,
675 500, 502, 507, 509, 514, 516, 520, 522, 534, 536,
676 543, 546, 549, 552, 554, 556, 558, 560, 562, 564,
677 568, 570, 575, 585, 587, 594, 598, 606, 614, 618,
678 624, 626, 630, 634, 636, 638, 646, 657, 659, 664,
679 673, 674, 680, 685, 691, 700, 701, 702, 706, 711,
680 726, 725, 728, 731, 730, 737, 736, 739, 742, 741,
685 #if YYDEBUG || YYERROR_VERBOSE || 0
690 "$end",
"error",
"$undefined",
"INT",
"NULL_PTR",
"CHARLIT",
"FLOAT",
691 "TRUEKEYWORD",
"FALSEKEYWORD",
"COLONCOLON",
"STRING",
"NAME",
"DOT_ID",
692 "DOT_ALL",
"SPECIAL_VARIABLE",
"ASSIGN",
"_AND_",
"OR",
"XOR",
"THEN",
693 "ELSE",
"'='",
"NOTEQUAL",
"'<'",
"'>'",
"LEQ",
"GEQ",
"IN",
"DOTDOT",
694 "'@'",
"'+'",
"'-'",
"'&'",
"UNARY",
"'*'",
"'/'",
"MOD",
"REM",
695 "STARSTAR",
"ABS",
"NOT",
"VAR",
"ARROW",
"'|'",
"TICK_ACCESS",
696 "TICK_ADDRESS",
"TICK_FIRST",
"TICK_LAST",
"TICK_LENGTH",
"TICK_MAX",
697 "TICK_MIN",
"TICK_MODULUS",
"TICK_POS",
"TICK_RANGE",
"TICK_SIZE",
698 "TICK_TAG",
"TICK_VAL",
"'.'",
"'('",
"'['",
"NEW",
"OTHERS",
"';'",
699 "')'",
"'\\''",
"','",
"'{'",
"'}'",
"']'",
"$accept",
"start",
"exp1",
700 "primary",
"$@1",
"save_qualifier",
"simple_exp",
"arglist",
"relation",
701 "exp",
"and_exp",
"and_then_exp",
"or_exp",
"or_else_exp",
"xor_exp",
702 "tick_arglist",
"type_prefix",
"opt_type_prefix",
"var_or_type",
"block",
703 "aggregate",
"aggregate_component_list",
"positional_list",
704 "component_groups",
"others",
"component_group",
705 "component_associations",
"$@2",
"$@3",
"$@4",
"$@5",
YY_NULLPTR
712 static const yytype_uint16
yytoknum[] =
714 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
715 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
716 275, 61, 276, 60, 62, 277, 278, 279, 280, 64,
717 43, 45, 38, 281, 42, 47, 282, 283, 284, 285,
718 286, 287, 288, 124, 289, 290, 291, 292, 293, 294,
719 295, 296, 297, 298, 299, 300, 301, 46, 40, 91,
720 302, 303, 59, 41, 39, 44, 123, 125, 93
724 #define YYPACT_NINF -104
726 #define yypact_value_is_default(Yystate) \
727 (!!((Yystate) == (-104)))
729 #define YYTABLE_NINF -83
731 #define yytable_value_is_error(Yytable_value) \
738 430, -104, -104, -104, -104, -104, -104, -104, 3, -104,
739 430, 430, 544, 544, 430, 430, 289, 44, 49, 26,
740 -53, -2, 679, 86, -104, 50, 55, 48, 57, 74,
741 -28, -1, 275, 61, -104, -104, -104, 577, 219, 219,
742 9, 9, 219, 219, 54, 58, -31, 616, 42, 45,
743 289, -104, -104, 46, -104, -104, 43, -104, 430, -104,
744 -104, 430, -104, -104, 59, 59, 59, -104, -104, 277,
745 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
746 430, 430, 430, 430, 430, 430, 430, 89, 353, 392,
747 430, 430, 94, 430, 100, 430, -104, 63, 64, 65,
748 67, 277, -104, 15, -104, -104, 430, -104, 430, 430,
749 468, -104, -104, 62, -104, 289, 544, -104, -104, 125,
750 -104, -104, -104, -4, 639, -57, -104, 70, 117, 117,
751 117, 117, 117, 117, 149, 563, 174, 549, 219, 219,
752 219, 91, 91, 91, 91, 91, 430, 430, -104, 430,
753 -104, -104, -104, 430, -104, 430, -104, 430, 430, 430,
754 430, 659, -38, -104, -104, -104, 430, 468, -104, 339,
755 -104, 692, -104, -104, -104, 9, 69, 430, 430, -104,
756 506, -104, 59, 430, 561, 708, 211, -104, -104, -104,
757 -104, 81, 99, 102, 93, 430, -104, 72, -104, -104,
758 -104, -104, -104, -104, 105, 82, -104, -104, 117, 59,
759 430, -104, 430, 430, -104, 214, 430, 430, 468, -104,
760 430, -104, 117, 106, 107, -104, 109, -104, -104, -104,
769 84, 85, 88, 86, 87, 90, 91, 89, 93, 17,
770 84, 84, 84, 84, 84, 84, 84, 0, 0, 0,
771 2, 19, 39, 52, 3, 53, 54, 55, 56, 57,
772 83, 0, 16, 0, 18, 97, 95, 19, 21, 20,
773 121, 120, 23, 22, 93, 0, 0, 39, 3, 0,
774 84, 100, 105, 106, 109, 92, 0, 1, 84, 7,
775 6, 84, 68, 69, 80, 80, 80, 73, 74, 84,
776 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
777 84, 84, 84, 84, 84, 84, 84, 0, 84, 84,
778 84, 84, 0, 84, 0, 84, 79, 0, 0, 0,
779 0, 84, 12, 94, 110, 115, 84, 15, 84, 84,
780 84, 103, 99, 101, 102, 84, 84, 4, 5, 0,
781 70, 71, 72, 93, 39, 0, 25, 0, 40, 41,
782 50, 51, 42, 49, 19, 0, 16, 35, 36, 38,
783 37, 31, 32, 34, 33, 30, 84, 84, 58, 84,
784 62, 66, 59, 84, 63, 84, 67, 84, 84, 84,
785 84, 39, 0, 10, 98, 96, 84, 84, 108, 0,
786 112, 0, 117, 104, 107, 29, 0, 84, 84, 8,
787 84, 122, 80, 84, 19, 0, 16, 60, 64, 61,
788 65, 0, 0, 0, 0, 84, 9, 0, 111, 116,
789 113, 118, 81, 26, 0, 93, 27, 44, 43, 80,
790 84, 78, 84, 84, 77, 0, 84, 84, 84, 13,
791 84, 47, 46, 0, 0, 14, 0, 114, 119, 28,
798 -104, -104, 157, 17, -104, -104, 4, 75, -54, 0,
799 -104, -104, -104, -104, -104, -64, -104, -104, -15, -104,
800 -104, -104, -104, -46, -104, -104, -103, -104, -104, -104,
807 -1, 19, 20, 37, 197, 163, 22, 125, 23, 126,
808 25, 26, 27, 28, 29, 120, 30, 31, 32, 33,
809 34, 49, 50, 51, 52, 53, 54, 166, 217, 167,
818 24, 121, 122, 56, 114, 35, 179, 172, 180, 58,
819 59, 60, 35, 61, 38, 39, 48, 21, 42, 43,
820 47, 59, 60, 96, 164, 196, 57, 180, 97, 40,
821 41, 58, 107, 21, 148, 150, 151, 152, 177, 154,
822 36, 156, 62, 63, 64, 65, 66, 36, 98, 99,
823 113, 100, 67, 68, 47, 55, 69, 70, 117, 165,
824 8, 118, 136, 35, 199, 93, 91, 69, 70, 174,
825 127, 92, 103, 124, 94, 128, 129, 130, 131, 132,
826 133, 135, 137, 138, 139, 140, 141, 142, 143, 144,
827 145, 35, 95, 187, 134, 188, 104, 105, 36, 189,
828 106, 190, 88, 89, 90, 161, 168, 111, 112, 170,
829 116, 115, 169, 153, 171, 228, 146, 119, 207, 171,
830 155, 157, 158, 159, 220, 160, 36, 173, 176, 86,
831 216, 186, 202, 175, 78, 79, 80, 81, 181, 82,
832 83, 84, 85, 86, 211, 221, 78, 79, 80, 81,
833 185, 82, 83, 84, 85, 86, 214, 191, 192, 193,
834 194, 59, 60, 184, 212, 0, 198, 213, 219, 230,
835 231, 171, 232, 46, -45, 0, 162, 203, 0, 0,
836 206, 0, 204, 0, 0, 0, 0, 208, 0, 0,
837 -45, -45, -45, 62, 63, 64, 65, 66, 0, 215,
838 0, 0, 182, 67, 68, 0, 0, 69, 70, 0,
839 0, -48, 223, 224, 222, 0, 226, 227, 0, 0,
840 229, 0, 171, -82, -82, -82, -82, -48, -48, -48,
841 -82, 0, 101, 0, 0, 0, -45, -45, 102, -45,
842 0, 0, -45, 78, 79, 80, 81, 0, 82, 83,
843 84, 85, 86, 82, 83, 84, 85, 86, 0, 0,
844 -82, -82, -82, -82, 0, 0, 0, -82, 0, 101,
845 0, 0, 0, -48, -48, 102, -48, 225, 0, -48,
846 1, 2, 3, 4, 5, 6, 0, 7, 123, 0,
847 0, 9, 1, 2, 3, 4, 5, 6, 0, 7,
848 44, 0, 0, 9, 0, 0, 0, 10, 11, 12,
849 0, 13, 0, 0, 0, 0, 14, 15, 0, 10,
850 11, 12, 0, 13, -82, -82, -82, -82, 14, 15,
851 0, -82, 0, 101, 0, 16, 0, 17, 0, 102,
852 -24, 0, -24, 18, 0, 0, 0, 16, 0, 17,
853 45, 0, 0, 0, 0, 18, 1, 2, 3, 4,
854 5, 6, 0, 7, 8, 0, 0, 9, 78, 79,
855 80, 81, 147, 82, 83, 84, 85, 86, 0, 0,
856 0, 200, 201, 10, 11, 12, 0, 13, 0, 0,
857 0, 0, 14, 15, 0, 1, 2, 3, 4, 5,
858 6, 0, 7, 8, 0, 0, 9, 0, 0, 0,
859 0, 16, 149, 17, 0, 0, 0, 0, 0, 18,
860 0, 0, 10, 11, 12, 0, 13, 0, 0, 0,
861 0, 14, 15, 1, 2, 3, 4, 5, 6, 0,
862 7, 8, 0, 0, 9, 0, 0, 0, 0, 0,
863 16, 0, 17, 0, 0, 0, 0, 0, 18, 0,
864 10, 11, 12, 0, 13, 0, 0, 0, 0, 14,
865 15, 1, 2, 3, 4, 5, 6, 0, 7, 44,
866 0, 0, 9, 0, 0, 0, 0, 0, 16, 0,
867 17, 0, 0, 0, 0, 0, 18, 0, 10, 11,
868 12, 0, 13, 0, 0, 0, 0, 14, 15, 1,
869 2, 3, 4, 5, 6, 0, 7, 205, 0, 0,
870 9, 0, 0, 0, 0, 0, 16, 0, 17, 0,
871 0, 0, 0, 0, 18, 0, 10, 11, 12, 0,
872 13, 0, 0, 0, 0, 14, 15, 1, 2, 3,
873 4, 5, 6, 0, 7, 8, 0, 0, 9, 0,
874 0, 0, 0, 0, 16, 0, 17, 0, 0, 0,
875 0, 0, 18, 59, 60, 0, 12, 0, 13, 79,
876 80, 81, 0, 82, 83, 84, 85, 86, 0, 59,
877 60, 183, 78, 79, 80, 81, 0, 82, 83, 84,
878 85, 86, 16, 0, 17, 62, 63, 64, 65, 66,
879 18, 0, 0, 0, 209, 67, 68, 0, 0, 69,
880 70, 62, 63, 64, 65, 66, 0, 0, 0, 0,
881 0, 67, 68, 0, 0, 69, 70, 71, 72, 73,
882 74, 75, 76, 77, 108, 78, 79, 80, 81, 0,
883 82, 83, 84, 85, 86, 0, 87, 0, 109, 110,
884 71, 72, 73, 74, 75, 76, 77, 178, 78, 79,
885 80, 81, 0, 82, 83, 84, 85, 86, 0, 87,
886 71, 72, 73, 74, 75, 76, 77, 195, 78, 79,
887 80, 81, 0, 82, 83, 84, 85, 86, 0, 87,
888 71, 72, 73, 74, 75, 76, 77, 0, 78, 79,
889 80, 81, 0, 82, 83, 84, 85, 86, 0, 87,
890 108, 78, 79, 80, 81, 0, 82, 83, 84, 85,
891 86, 0, 0, 0, 109, 110, 210, 78, 79, 80,
892 81, 0, 82, 83, 84, 85, 86
897 0, 65, 66, 18, 50, 9, 63, 110, 65, 62,
898 12, 13, 9, 15, 10, 11, 16, 0, 14, 15,
899 16, 12, 13, 51, 9, 63, 0, 65, 56, 12,
900 13, 62, 63, 16, 88, 89, 90, 91, 42, 93,
901 44, 95, 44, 45, 46, 47, 48, 44, 49, 50,
902 50, 52, 54, 55, 50, 11, 58, 59, 58, 44,
903 11, 61, 77, 9, 167, 17, 16, 58, 59, 115,
904 70, 16, 11, 69, 17, 71, 72, 73, 74, 75,
905 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
906 86, 9, 18, 147, 77, 149, 42, 43, 44, 153,
907 42, 155, 16, 17, 18, 101, 106, 65, 63, 109,
908 67, 65, 108, 19, 110, 218, 27, 58, 182, 115,
909 20, 58, 58, 58, 42, 58, 44, 65, 3, 38,
910 58, 146, 63, 116, 29, 30, 31, 32, 68, 34,
911 35, 36, 37, 38, 63, 209, 29, 30, 31, 32,
912 146, 34, 35, 36, 37, 38, 63, 157, 158, 159,
913 160, 12, 13, 146, 65, -1, 166, 65, 63, 63,
914 63, 167, 63, 16, 0, -1, 101, 177, -1, -1,
915 180, -1, 178, -1, -1, -1, -1, 183, -1, -1,
916 16, 17, 18, 44, 45, 46, 47, 48, -1, 195,
917 -1, -1, 53, 54, 55, -1, -1, 58, 59, -1,
918 -1, 0, 212, 213, 210, -1, 216, 217, -1, -1,
919 220, -1, 218, 49, 50, 51, 52, 16, 17, 18,
920 56, -1, 58, -1, -1, -1, 62, 63, 64, 65,
921 -1, -1, 68, 29, 30, 31, 32, -1, 34, 35,
922 36, 37, 38, 34, 35, 36, 37, 38, -1, -1,
923 49, 50, 51, 52, -1, -1, -1, 56, -1, 58,
924 -1, -1, -1, 62, 63, 64, 65, 63, -1, 68,
925 3, 4, 5, 6, 7, 8, -1, 10, 11, -1,
926 -1, 14, 3, 4, 5, 6, 7, 8, -1, 10,
927 11, -1, -1, 14, -1, -1, -1, 30, 31, 32,
928 -1, 34, -1, -1, -1, -1, 39, 40, -1, 30,
929 31, 32, -1, 34, 49, 50, 51, 52, 39, 40,
930 -1, 56, -1, 58, -1, 58, -1, 60, -1, 64,
931 63, -1, 65, 66, -1, -1, -1, 58, -1, 60,
932 61, -1, -1, -1, -1, 66, 3, 4, 5, 6,
933 7, 8, -1, 10, 11, -1, -1, 14, 29, 30,
934 31, 32, 19, 34, 35, 36, 37, 38, -1, -1,
935 -1, 42, 43, 30, 31, 32, -1, 34, -1, -1,
936 -1, -1, 39, 40, -1, 3, 4, 5, 6, 7,
937 8, -1, 10, 11, -1, -1, 14, -1, -1, -1,
938 -1, 58, 20, 60, -1, -1, -1, -1, -1, 66,
939 -1, -1, 30, 31, 32, -1, 34, -1, -1, -1,
940 -1, 39, 40, 3, 4, 5, 6, 7, 8, -1,
941 10, 11, -1, -1, 14, -1, -1, -1, -1, -1,
942 58, -1, 60, -1, -1, -1, -1, -1, 66, -1,
943 30, 31, 32, -1, 34, -1, -1, -1, -1, 39,
944 40, 3, 4, 5, 6, 7, 8, -1, 10, 11,
945 -1, -1, 14, -1, -1, -1, -1, -1, 58, -1,
946 60, -1, -1, -1, -1, -1, 66, -1, 30, 31,
947 32, -1, 34, -1, -1, -1, -1, 39, 40, 3,
948 4, 5, 6, 7, 8, -1, 10, 11, -1, -1,
949 14, -1, -1, -1, -1, -1, 58, -1, 60, -1,
950 -1, -1, -1, -1, 66, -1, 30, 31, 32, -1,
951 34, -1, -1, -1, -1, 39, 40, 3, 4, 5,
952 6, 7, 8, -1, 10, 11, -1, -1, 14, -1,
953 -1, -1, -1, -1, 58, -1, 60, -1, -1, -1,
954 -1, -1, 66, 12, 13, -1, 32, -1, 34, 30,
955 31, 32, -1, 34, 35, 36, 37, 38, -1, 12,
956 13, 28, 29, 30, 31, 32, -1, 34, 35, 36,
957 37, 38, 58, -1, 60, 44, 45, 46, 47, 48,
958 66, -1, -1, -1, 53, 54, 55, -1, -1, 58,
959 59, 44, 45, 46, 47, 48, -1, -1, -1, -1,
960 -1, 54, 55, -1, -1, 58, 59, 21, 22, 23,
961 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
962 34, 35, 36, 37, 38, -1, 40, -1, 42, 43,
963 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
964 31, 32, -1, 34, 35, 36, 37, 38, -1, 40,
965 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
966 31, 32, -1, 34, 35, 36, 37, 38, -1, 40,
967 21, 22, 23, 24, 25, 26, 27, -1, 29, 30,
968 31, 32, -1, 34, 35, 36, 37, 38, -1, 40,
969 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
970 38, -1, -1, -1, 42, 43, 28, 29, 30, 31,
971 32, -1, 34, 35, 36, 37, 38
978 0, 3, 4, 5, 6, 7, 8, 10, 11, 14,
979 30, 31, 32, 34, 39, 40, 58, 60, 66, 70,
980 71, 72, 75, 77, 78, 79, 80, 81, 82, 83,
981 85, 86, 87, 88, 89, 9, 44, 72, 75, 75,
982 72, 72, 75, 75, 11, 61, 71, 75, 78, 90,
983 91, 92, 93, 94, 95, 11, 87, 0, 62, 12,
984 13, 15, 44, 45, 46, 47, 48, 54, 55, 58,
985 59, 21, 22, 23, 24, 25, 26, 27, 29, 30,
986 31, 32, 34, 35, 36, 37, 38, 40, 16, 17,
987 18, 16, 16, 17, 17, 18, 51, 56, 49, 50,
988 52, 58, 64, 11, 42, 43, 42, 63, 28, 42,
989 43, 65, 63, 78, 92, 65, 67, 78, 78, 58,
990 84, 84, 84, 11, 75, 76, 78, 78, 75, 75,
991 75, 75, 75, 75, 72, 75, 87, 75, 75, 75,
992 75, 75, 75, 75, 75, 75, 27, 19, 77, 20,
993 77, 77, 77, 19, 77, 20, 77, 58, 58, 58,
994 58, 75, 76, 74, 9, 44, 96, 98, 78, 75,
995 78, 75, 95, 65, 92, 72, 3, 42, 28, 63,
996 65, 68, 53, 28, 72, 75, 87, 77, 77, 77,
997 77, 78, 78, 78, 78, 28, 63, 73, 78, 95,
998 42, 43, 63, 78, 75, 11, 78, 84, 75, 53,
999 28, 63, 65, 65, 63, 75, 58, 97, 99, 63,
1000 42, 84, 75, 78, 78, 63, 78, 78, 95, 78,
1007 0, 69, 70, 71, 71, 71, 72, 72, 72, 72,
1008 73, 72, 74, 72, 72, 72, 72, 72, 72, 75,
1009 75, 75, 75, 75, 76, 76, 76, 76, 76, 72,
1010 75, 75, 75, 75, 75, 75, 75, 75, 75, 77,
1011 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
1012 77, 77, 78, 78, 78, 78, 78, 78, 79, 79,
1013 80, 80, 81, 81, 82, 82, 83, 83, 72, 72,
1014 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1015 84, 84, 85, 86, 86, 72, 72, 72, 72, 72,
1016 72, 72, 72, 87, 87, 87, 87, 88, 88, 89,
1017 90, 90, 90, 91, 91, 92, 92, 92, 93, 94,
1018 96, 95, 95, 97, 95, 98, 95, 95, 99, 95,
1025 0, 2, 1, 1, 3, 3, 2, 2, 4, 4,
1026 0, 7, 0, 6, 6, 3, 1, 1, 1, 1,
1027 2, 2, 2, 2, 0, 1, 3, 3, 5, 4,
1028 3, 3, 3, 3, 3, 3, 3, 3, 3, 1,
1029 3, 3, 3, 5, 5, 3, 6, 6, 4, 3,
1030 3, 3, 1, 1, 1, 1, 1, 1, 3, 3,
1031 4, 4, 3, 3, 4, 4, 3, 3, 2, 2,
1032 3, 3, 3, 2, 2, 7, 7, 5, 5, 2,
1033 0, 3, 1, 1, 0, 1, 1, 1, 1, 1,
1034 1, 1, 2, 1, 2, 2, 3, 2, 3, 3,
1035 1, 2, 2, 2, 3, 1, 1, 3, 3, 1,
1036 0, 4, 3, 0, 6, 0, 4, 3, 0, 6,
1041 #define yyerrok (yyerrstatus = 0)
1042 #define yyclearin (yychar = YYEMPTY)
1043 #define YYEMPTY (-2)
1046 #define YYACCEPT goto yyacceptlab
1047 #define YYABORT goto yyabortlab
1048 #define YYERROR goto yyerrorlab
1051 #define YYRECOVERING() (!!yyerrstatus)
1053 #define YYBACKUP(Token, Value) \
1055 if (yychar == YYEMPTY) \
1059 YYPOPSTACK (yylen); \
1065 yyerror (YY_("syntax error: cannot back up")); \
1072 #define YYERRCODE 256
1081 # define YYFPRINTF fprintf
1084 # define YYDPRINTF(Args) \
1091 #ifndef YY_LOCATION_PRINT
1092 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1096 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1100 YYFPRINTF (stderr, "%s ", Title); \
1101 yy_symbol_print (stderr, \
1103 YYFPRINTF (stderr, "\n"); \
1115 FILE *yyo = yyoutput;
1121 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1135 yytype <
YYNTOKENS ?
"token" :
"nterm", yytname[yytype]);
1150 for (; yybottom <= yytop; yybottom++)
1152 int yybot = *yybottom;
1158 # define YY_STACK_PRINT(Bottom, Top) \
1161 yy_stack_print ((Bottom), (Top)); \
1172 unsigned long int yylno = yyrline[
yyrule];
1173 int yynrhs = yyr2[
yyrule];
1175 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1178 for (yyi = 0; yyi < yynrhs; yyi++)
1182 yystos[yyssp[yyi + 1 - yynrhs]],
1183 &(yyvsp[(yyi + 1) - (yynrhs)])
1189 # define YY_REDUCE_PRINT(Rule) \
1192 yy_reduce_print (yyssp, yyvsp, Rule); \
1199 # define YYDPRINTF(Args)
1200 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1201 # define YY_STACK_PRINT(Bottom, Top)
1202 # define YY_REDUCE_PRINT(Rule)
1208 # define YYINITDEPTH 200
1219 # define YYMAXDEPTH 10000
1226 # if defined __GLIBC__ && defined _STRING_H
1227 # define yystrlen strlen
1231 yystrlen (
const char *yystr)
1234 for (yylen = 0; yystr[
yylen]; yylen++)
1242 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1243 # define yystpcpy stpcpy
1248 yystpcpy (
char *yydest,
const char *yysrc)
1251 const char *yys = yysrc;
1253 while ((*yyd++ = *yys++) !=
'\0')
1270 yytnamerr (
char *yyres,
const char *yystr)
1275 char const *yyp = yystr;
1282 goto do_not_strip_quotes;
1286 goto do_not_strip_quotes;
1299 do_not_strip_quotes: ;
1303 return yystrlen (yystr);
1305 return yystpcpy (yyres, yystr) - yyres;
1318 yysyntax_error (
YYSIZE_T *yymsg_alloc,
char **yymsg,
1319 yytype_int16 *yyssp,
int yytoken)
1323 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1327 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1357 int yyn = yypact[*
yyssp];
1358 yyarg[yycount++] = yytname[yytoken];
1364 int yyxbegin = yyn < 0 ? -yyn : 0;
1366 int yychecklim =
YYLAST - yyn + 1;
1370 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1371 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR
1374 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1380 yyarg[yycount++] = yytname[yyx];
1383 if (! (yysize <= yysize1
1394 # define YYCASE_(N, S) \
1398 YYCASE_(0,
YY_(
"syntax error"));
1399 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1400 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1401 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1402 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1403 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1408 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1414 if (*yymsg_alloc < yysize)
1416 *yymsg_alloc = 2 * yysize;
1417 if (! (yysize <= *yymsg_alloc
1429 while ((*yyp = *yyformat) !=
'\0')
1430 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1432 yyp += yytnamerr (yyp, yyarg[yyi++]);
1495 yytype_int16 *
yyssp;
1515 char *yymsg = yymsgbuf;
1516 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1519 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1525 yyssp = yyss = yyssa;
1526 yyvsp = yyvs = yyvsa;
1529 YYDPRINTF ((stderr,
"Starting parse\n"));
1548 if (yyss + yystacksize - 1 <= yyssp)
1551 YYSIZE_T yysize = yyssp - yyss + 1;
1559 yytype_int16 *yyss1 =
yyss;
1565 yyoverflow (
YY_(
"memory exhausted"),
1566 &yyss1, yysize *
sizeof (*yyssp),
1567 &yyvs1, yysize *
sizeof (*yyvsp),
1574 # ifndef YYSTACK_RELOCATE
1575 goto yyexhaustedlab;
1579 goto yyexhaustedlab;
1585 yytype_int16 *yyss1 =
yyss;
1589 goto yyexhaustedlab;
1592 # undef YYSTACK_RELOCATE
1599 yyssp = yyss + yysize - 1;
1600 yyvsp = yyvs + yysize - 1;
1602 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1603 (
unsigned long int) yystacksize));
1605 if (yyss + yystacksize - 1 <= yyssp)
1609 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1634 YYDPRINTF ((stderr,
"Reading a token: "));
1638 if (yychar <=
YYEOF)
1640 yychar = yytoken =
YYEOF;
1641 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1652 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1707 yyval = yyvsp[1-
yylen];
1714 #line 246 "ada-exp.y"
1716 #line 1718 "ada-exp.c"
1720 #line 248 "ada-exp.y"
1722 #line 1724 "ada-exp.c"
1726 #line 253 "ada-exp.y"
1728 #line 1730 "ada-exp.c"
1732 #line 257 "ada-exp.y"
1735 #line 1737 "ada-exp.c"
1739 #line 262 "ada-exp.y"
1745 #line 1747 "ada-exp.c"
1749 #line 268 "ada-exp.y"
1751 if ((yyvsp[-3].tval) != NULL)
1753 if ((yyvsp[-1].lval) != 1)
1754 error (
_(
"Invalid conversion"));
1766 #line 1768 "ada-exp.c"
1770 #line 286 "ada-exp.y"
1771 { type_qualifier = (yyvsp[-2].tval); }
1772 #line 1774 "ada-exp.c"
1776 #line 288 "ada-exp.y"
1778 if ((yyvsp[-6].tval) == NULL)
1779 error (
_(
"Type required for qualification"));
1783 type_qualifier = (yyvsp[-4].tval);
1785 #line 1787 "ada-exp.c"
1789 #line 298 "ada-exp.y"
1790 { (yyval.
tval) = type_qualifier; }
1791 #line 1793 "ada-exp.c"
1795 #line 303 "ada-exp.y"
1797 #line 1799 "ada-exp.c"
1801 #line 305 "ada-exp.y"
1802 {
if ((yyvsp[-5].tval) == NULL)
1805 error (
_(
"Cannot slice a type"));
1807 #line 1809 "ada-exp.c"
1811 #line 312 "ada-exp.y"
1813 #line 1815 "ada-exp.c"
1817 #line 324 "ada-exp.y"
1818 {
if ((yyvsp[0].tval) != NULL)
1825 #line 1827 "ada-exp.c"
1829 #line 334 "ada-exp.y"
1831 #line 1833 "ada-exp.c"
1835 #line 344 "ada-exp.y"
1837 #line 1839 "ada-exp.c"
1841 #line 348 "ada-exp.y"
1843 #line 1845 "ada-exp.c"
1847 #line 352 "ada-exp.y"
1849 #line 1851 "ada-exp.c"
1853 #line 356 "ada-exp.y"
1855 #line 1857 "ada-exp.c"
1859 #line 359 "ada-exp.y"
1860 { (yyval.
lval) = 0; }
1861 #line 1863 "ada-exp.c"
1865 #line 363 "ada-exp.y"
1866 { (yyval.
lval) = 1; }
1867 #line 1869 "ada-exp.c"
1871 #line 365 "ada-exp.y"
1872 { (yyval.
lval) = 1; }
1873 #line 1875 "ada-exp.c"
1877 #line 367 "ada-exp.y"
1878 { (yyval.
lval) = (yyvsp[-2].lval) + 1; }
1879 #line 1881 "ada-exp.c"
1883 #line 369 "ada-exp.y"
1884 { (yyval.
lval) = (yyvsp[-4].lval) + 1; }
1885 #line 1887 "ada-exp.c"
1889 #line 374 "ada-exp.y"
1891 if ((yyvsp[-2].tval) == NULL)
1892 error (
_(
"Type required within braces in coercion"));
1897 #line 1899 "ada-exp.c"
1901 #line 386 "ada-exp.y"
1903 #line 1905 "ada-exp.c"
1907 #line 390 "ada-exp.y"
1909 #line 1911 "ada-exp.c"
1913 #line 394 "ada-exp.y"
1915 #line 1917 "ada-exp.c"
1919 #line 398 "ada-exp.y"
1921 #line 1923 "ada-exp.c"
1925 #line 402 "ada-exp.y"
1927 #line 1929 "ada-exp.c"
1931 #line 406 "ada-exp.y"
1933 #line 1935 "ada-exp.c"
1937 #line 410 "ada-exp.y"
1939 #line 1941 "ada-exp.c"
1943 #line 414 "ada-exp.y"
1945 #line 1947 "ada-exp.c"
1949 #line 418 "ada-exp.y"
1951 #line 1953 "ada-exp.c"
1955 #line 425 "ada-exp.y"
1957 #line 1959 "ada-exp.c"
1961 #line 429 "ada-exp.y"
1963 #line 1965 "ada-exp.c"
1967 #line 433 "ada-exp.y"
1969 #line 1971 "ada-exp.c"
1973 #line 437 "ada-exp.y"
1975 #line 1977 "ada-exp.c"
1979 #line 439 "ada-exp.y"
1984 #line 1986 "ada-exp.c"
1988 #line 444 "ada-exp.y"
1990 if ((yyvsp[0].tval) == NULL)
1991 error (
_(
"Right operand of 'in' must be type"));
1996 #line 1998 "ada-exp.c"
2000 #line 452 "ada-exp.y"
2004 #line 2006 "ada-exp.c"
2008 #line 456 "ada-exp.y"
2014 #line 2016 "ada-exp.c"
2018 #line 462 "ada-exp.y"
2020 if ((yyvsp[0].tval) == NULL)
2021 error (
_(
"Right operand of 'in' must be type"));
2027 #line 2029 "ada-exp.c"
2031 #line 473 "ada-exp.y"
2033 #line 2035 "ada-exp.c"
2037 #line 477 "ada-exp.y"
2039 #line 2041 "ada-exp.c"
2043 #line 481 "ada-exp.y"
2045 #line 2047 "ada-exp.c"
2049 #line 494 "ada-exp.y"
2051 #line 2053 "ada-exp.c"
2055 #line 496 "ada-exp.y"
2057 #line 2059 "ada-exp.c"
2061 #line 501 "ada-exp.y"
2063 #line 2065 "ada-exp.c"
2067 #line 503 "ada-exp.y"
2069 #line 2071 "ada-exp.c"
2073 #line 508 "ada-exp.y"
2075 #line 2077 "ada-exp.c"
2079 #line 510 "ada-exp.y"
2081 #line 2083 "ada-exp.c"
2085 #line 515 "ada-exp.y"
2087 #line 2089 "ada-exp.c"
2091 #line 517 "ada-exp.y"
2093 #line 2095 "ada-exp.c"
2097 #line 521 "ada-exp.y"
2099 #line 2101 "ada-exp.c"
2103 #line 523 "ada-exp.y"
2105 #line 2107 "ada-exp.c"
2109 #line 535 "ada-exp.y"
2111 #line 2113 "ada-exp.c"
2115 #line 537 "ada-exp.y"
2122 #line 2124 "ada-exp.c"
2126 #line 544 "ada-exp.y"
2129 #line 2131 "ada-exp.c"
2133 #line 547 "ada-exp.y"
2136 #line 2138 "ada-exp.c"
2140 #line 550 "ada-exp.y"
2143 #line 2145 "ada-exp.c"
2147 #line 553 "ada-exp.y"
2149 #line 2151 "ada-exp.c"
2153 #line 555 "ada-exp.y"
2155 #line 2157 "ada-exp.c"
2159 #line 557 "ada-exp.y"
2161 #line 2163 "ada-exp.c"
2165 #line 559 "ada-exp.y"
2167 #line 2169 "ada-exp.c"
2171 #line 561 "ada-exp.y"
2173 #line 2175 "ada-exp.c"
2177 #line 563 "ada-exp.y"
2179 #line 2181 "ada-exp.c"
2183 #line 565 "ada-exp.y"
2185 #line 2187 "ada-exp.c"
2189 #line 569 "ada-exp.y"
2190 { (yyval.
lval) = 1; }
2191 #line 2193 "ada-exp.c"
2195 #line 571 "ada-exp.y"
2196 { (yyval.
lval) = (yyvsp[-1].typed_val).val; }
2197 #line 2199 "ada-exp.c"
2201 #line 576 "ada-exp.y"
2203 if ((yyvsp[0].tval) == NULL)
2204 error (
_(
"Prefix must be type"));
2208 #line 2210 "ada-exp.c"
2212 #line 587 "ada-exp.y"
2217 #line 2219 "ada-exp.c"
2221 #line 595 "ada-exp.y"
2223 #line 2225 "ada-exp.c"
2227 #line 599 "ada-exp.y"
2230 (type_qualifier == NULL)
2231 ? (yyvsp[0].typed_val).
type : type_qualifier);
2233 #line 2235 "ada-exp.c"
2237 #line 607 "ada-exp.y"
2243 #line 2245 "ada-exp.c"
2247 #line 615 "ada-exp.y"
2249 #line 2251 "ada-exp.c"
2253 #line 619 "ada-exp.y"
2257 #line 2259 "ada-exp.c"
2261 #line 625 "ada-exp.y"
2263 #line 2265 "ada-exp.c"
2267 #line 627 "ada-exp.y"
2269 #line 2271 "ada-exp.c"
2273 #line 631 "ada-exp.y"
2274 {
error (
_(
"NEW not implemented.")); }
2275 #line 2277 "ada-exp.c"
2279 #line 635 "ada-exp.y"
2281 #line 2283 "ada-exp.c"
2285 #line 637 "ada-exp.y"
2287 #line 2289 "ada-exp.c"
2291 #line 639 "ada-exp.y"
2294 if ((yyval.
tval) == NULL)
2299 #line 2301 "ada-exp.c"
2303 #line 647 "ada-exp.y"
2306 if ((yyval.
tval) == NULL)
2311 #line 2313 "ada-exp.c"
2315 #line 658 "ada-exp.y"
2317 #line 2319 "ada-exp.c"
2321 #line 660 "ada-exp.y"
2323 #line 2325 "ada-exp.c"
2327 #line 665 "ada-exp.y"
2333 #line 2335 "ada-exp.c"
2337 #line 673 "ada-exp.y"
2338 { (yyval.
lval) = (yyvsp[0].lval); }
2339 #line 2341 "ada-exp.c"
2343 #line 675 "ada-exp.y"
2347 (yyval.
lval) = (yyvsp[-1].lval) + 1;
2349 #line 2351 "ada-exp.c"
2353 #line 681 "ada-exp.y"
2354 { (yyval.
lval) = (yyvsp[-1].lval) + (yyvsp[0].lval); }
2355 #line 2357 "ada-exp.c"
2359 #line 686 "ada-exp.y"
2365 #line 2367 "ada-exp.c"
2369 #line 692 "ada-exp.y"
2373 (yyval.
lval) = (yyvsp[-2].lval) + 1;
2375 #line 2377 "ada-exp.c"
2379 #line 700 "ada-exp.y"
2380 { (yyval.
lval) = 1; }
2381 #line 2383 "ada-exp.c"
2385 #line 701 "ada-exp.y"
2386 { (yyval.
lval) = 1; }
2387 #line 2389 "ada-exp.c"
2391 #line 703 "ada-exp.y"
2392 { (yyval.
lval) = (yyvsp[0].lval) + 1; }
2393 #line 2395 "ada-exp.c"
2397 #line 707 "ada-exp.y"
2399 #line 2401 "ada-exp.c"
2403 #line 712 "ada-exp.y"
2409 #line 2411 "ada-exp.c"
2413 #line 726 "ada-exp.y"
2415 #line 2417 "ada-exp.c"
2419 #line 727 "ada-exp.y"
2420 { (yyval.
lval) = 1; }
2421 #line 2423 "ada-exp.c"
2425 #line 729 "ada-exp.y"
2426 { (yyval.
lval) = 1; }
2427 #line 2429 "ada-exp.c"
2431 #line 731 "ada-exp.y"
2436 #line 2438 "ada-exp.c"
2440 #line 735 "ada-exp.y"
2441 { (yyval.
lval) = 1; }
2442 #line 2444 "ada-exp.c"
2446 #line 737 "ada-exp.y"
2448 #line 2450 "ada-exp.c"
2452 #line 738 "ada-exp.y"
2453 { (yyval.
lval) = (yyvsp[0].lval) + 1; }
2454 #line 2456 "ada-exp.c"
2458 #line 740 "ada-exp.y"
2459 { (yyval.
lval) = (yyvsp[0].lval) + 1; }
2460 #line 2462 "ada-exp.c"
2464 #line 742 "ada-exp.y"
2466 #line 2468 "ada-exp.c"
2470 #line 743 "ada-exp.y"
2471 { (yyval.
lval) = (yyvsp[0].lval) + 1; }
2472 #line 2474 "ada-exp.c"
2476 #line 750 "ada-exp.y"
2478 #line 2480 "ada-exp.c"
2482 #line 752 "ada-exp.y"
2484 #line 2486 "ada-exp.c"
2488 #line 754 "ada-exp.y"
2490 #line 2492 "ada-exp.c"
2494 #line 2496 "ada-exp.c"
2523 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
2543 #if ! YYERROR_VERBOSE
2546 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2549 char const *yymsgp =
YY_(
"syntax error");
2550 int yysyntax_error_status;
2551 yysyntax_error_status = YYSYNTAX_ERROR;
2552 if (yysyntax_error_status == 0)
2554 else if (yysyntax_error_status == 1)
2556 if (yymsg != yymsgbuf)
2562 yymsg_alloc =
sizeof yymsgbuf;
2563 yysyntax_error_status = 2;
2567 yysyntax_error_status = YYSYNTAX_ERROR;
2572 if (yysyntax_error_status == 2)
2573 goto yyexhaustedlab;
2575 # undef YYSYNTAX_ERROR
2581 if (yyerrstatus == 3)
2586 if (yychar <=
YYEOF)
2589 if (yychar ==
YYEOF)
2651 yystos[yystate], yyvsp);
2683 #if !defined yyoverflow || YYERROR_VERBOSE
2706 while (yyssp != yyss)
2709 yystos[*yyssp], yyvsp);
2717 if (yymsg != yymsgbuf)
2722 #line 757 "ada-exp.y"
2734 #define yy_create_buffer ada_yy_create_buffer
2735 #define yy_delete_buffer ada_yy_delete_buffer
2736 #define yy_init_buffer ada_yy_init_buffer
2737 #define yy_load_buffer_state ada_yy_load_buffer_state
2738 #define yy_switch_to_buffer ada_yy_switch_to_buffer
2739 #define yyrestart ada_yyrestart
2740 #define yytext ada_yytext
2741 #define yywrap ada_yywrap
2747 #define qsort __qsort__dummy
2761 type_qualifier = NULL;
2780 const struct block *orig_left_context,
2831 const struct block *orig_left_context,
2832 const char *renamed_entity,
int renamed_entity_len,
2833 const char *renaming_expr,
int max_depth)
2836 enum { SIMPLE_INDEX, LOWER_BOUND, UPPER_BOUND } slice_state;
2840 error (
_(
"Could not find renamed symbol"));
2842 if (orig_left_context == NULL)
2845 name = obstack_copy0 (&
temp_parse_space, renamed_entity, renamed_entity_len);
2847 if (sym_info.
sym == NULL)
2852 sym_info.
block = orig_left_context;
2855 const char *inner_renamed_entity;
2856 int inner_renamed_entity_len;
2857 const char *inner_renaming_expr;
2860 &inner_renamed_entity_len,
2861 &inner_renaming_expr))
2869 inner_renamed_entity, inner_renamed_entity_len,
2870 inner_renaming_expr, max_depth - 1);
2877 slice_state = SIMPLE_INDEX;
2878 while (*renaming_expr ==
'X')
2882 switch (*renaming_expr) {
2888 slice_state = LOWER_BOUND;
2892 if (isdigit (*renaming_expr))
2895 long val = strtol (renaming_expr, &next, 10);
2896 if (next == renaming_expr)
2898 renaming_expr = next;
2910 end = strchr (renaming_expr,
'X');
2912 end = renaming_expr + strlen (renaming_expr);
2916 end - renaming_expr);
2917 renaming_expr = end;
2921 if (index_sym_info.
sym == NULL)
2922 error (
_(
"Could not find %s"), index_name);
2925 index_sym_info.
block = orig_left_context;
2927 index_sym_info.
sym);
2929 if (slice_state == SIMPLE_INDEX)
2935 else if (slice_state == LOWER_BOUND)
2936 slice_state = UPPER_BOUND;
2937 else if (slice_state == UPPER_BOUND)
2940 slice_state = SIMPLE_INDEX;
2946 struct stoken field_name;
2952 if (slice_state != SIMPLE_INDEX)
2954 end = strchr (renaming_expr,
'X');
2956 end = renaming_expr + strlen (renaming_expr);
2957 field_name.
length = end - renaming_expr;
2958 buf =
xmalloc (end - renaming_expr + 1);
2959 field_name.
ptr = buf;
2960 strncpy (buf, renaming_expr, end - renaming_expr);
2961 buf[end - renaming_expr] =
'\000';
2962 renaming_expr = end;
2971 if (slice_state == SIMPLE_INDEX)
2975 error (
_(
"Internal error in encoding of renaming declaration"));
2978 static const struct block*
2986 if (raw_name[0] ==
'\'')
3005 if (context == NULL)
3006 error (
_(
"No file or function \"%s\"."), raw_name);
3008 error (
_(
"No function \"%s\" in specified context."), raw_name);
3013 warning (
_(
"Function name \"%s\" ambiguous here"), raw_name);
3022 int preferred_index;
3023 struct type *preferred_type;
3025 preferred_index = -1; preferred_type = NULL;
3026 for (i = 0; i < nsyms; i += 1)
3032 preferred_index = i;
3046 if (preferred_type == NULL)
3048 return syms[preferred_index].
sym;
3058 if (type == NULL && strcmp (
"system__address", name) == 0)
3066 char *expanded_name =
3067 (
char *) alloca (strlen (name) +
sizeof (
"standard__"));
3068 strcpy (expanded_name,
"standard__");
3069 strcat (expanded_name, name);
3082 for (i = end - 1; i > 0; i -= 1)
3083 if (name[i] ==
'.' || (name[i] ==
'_' && name[i+1] ==
'_'))
3098 if (name[0] ==
'_' && name[1] ==
'_')
3110 while (*sels !=
'\0')
3112 struct stoken field_name;
3115 while (*sels !=
'\0' && *sels !=
'.'
3116 && (sels[0] !=
'_' || sels[1] !=
'_'))
3118 field_name.
length = sels - p;
3134 memset (sym, 0,
sizeof (
struct symbol));
3151 int field_name_len,
int maybe_missing)
3153 char *
field_name = alloca ((field_name_len + 1) *
sizeof (
char));
3155 strncpy (field_name, field_name0, field_name_len);
3156 field_name[field_name_len] =
'\0';
3171 static struct type *
3175 char *subfield_name;
3179 if (type == NULL || field_name == NULL)
3183 while (field_name[0] !=
'\0')
3192 while (*subfield_name !=
'\0' && *subfield_name !=
'.'
3193 && (subfield_name[0] !=
'_' || subfield_name[1] !=
'_'))
3196 if (subfield_name[0] ==
'\0')
3200 subfield_name - field_name, 1);
3205 field_name = subfield_name;
3233 name_len = strlen (encoded_name);
3239 tail_index = name_len;
3240 while (tail_index > 0)
3245 struct symbol *renaming_sym;
3246 const char* renaming;
3248 const char* renaming_expr;
3249 int terminator = encoded_name[tail_index];
3251 encoded_name[tail_index] =
'\0';
3254 encoded_name[tail_index] = terminator;
3265 if (ren_sym != NULL)
3266 syms[0].
sym = ren_sym;
3271 if (type_sym != NULL)
3272 renaming_sym = type_sym;
3273 else if (nsyms == 1)
3274 renaming_sym = syms[0].
sym;
3276 renaming_sym = NULL;
3279 &renaming_len, &renaming_expr))
3289 renaming_len + name_len - tail_index + 1);
3290 strncpy (new_name, renaming, renaming_len);
3291 strcpy (new_name + renaming_len, encoded_name + tail_index);
3292 encoded_name = new_name;
3293 name_len = renaming_len + name_len - tail_index;
3294 goto TryAfterRenaming;
3298 renaming_expr, MAX_RENAMING_CHAIN_LENGTH);
3303 _(
"impossible value from ada_parse_renaming"));
3306 if (type_sym != NULL)
3308 struct type *field_type;
3310 if (tail_index == name_len)
3318 if (field_type != NULL)
3321 error (
_(
"Invalid attempt to select from type: \"%s\"."),
3324 else if (tail_index == name_len && nsyms == 0)
3340 else if (nsyms == 0)
3352 if (tail_index == name_len
3353 && strncmp (encoded_name,
"standard__",
3354 sizeof (
"standard__") - 1) == 0)
3355 error (
_(
"No definition of \"%s\" found."), name0.
ptr);
3369 error (
_(
"No symbol table is loaded. Use the \"file\" command."));
3371 error (
_(
"No definition of \"%s\" in current context."), name0.
ptr);
3373 error (
_(
"No definition of \"%s\" in specified context."), name0.
ptr);
3378 error (
_(
"Could not find renamed symbol \"%s\""), name0.
ptr);
3400 if (strchr (name.
ptr,
'.') == NULL)
3412 error (
_(
"Invalid use of type."));
3432 xsnprintf (name,
sizeof (name),
"QU%02x", (
int) val);
3441 static struct type *
3447 static struct type *
3453 static struct type *
3456 return parse_type (par_state)->builtin_long_long;
3459 static struct type *
3462 return parse_type (par_state)->builtin_float;
3465 static struct type *
3468 return parse_type (par_state)->builtin_double;
3471 static struct type *
3474 return parse_type (par_state)->builtin_long_double;
3477 static struct type *
3484 static struct type *
3490 static struct type *
3497 return type != NULL ? type :
parse_type (par_state)->builtin_data_ptr;
initialize_file_ftype _initialize_ada_exp
static const yytype_uint16 yyrline[]
struct internalvar * ivar
static char * chop_separator(char *name)
static const yytype_int16 yypgoto[]
static void write_int(struct parser_state *, LONGEST, struct type *)
static struct type * write_var_or_type(struct parser_state *, const struct block *, struct stoken)
int ada_get_field_index(const struct type *type, const char *field_name, int maybe_missing)
#define yypact_value_is_default(Yystate)
void write_exp_elt_sym(struct parser_state *ps, struct symbol *expelt)
#define parse_language(ps)
#define parse_gdbarch(ps)
#define TYPE_FIELD_NAME(thistype, n)
#define MAX_RENAMING_CHAIN_LENGTH
char * ada_encode(const char *decoded)
void ada_lookup_encoded_symbol(const char *name, const struct block *block, domain_enum domain, struct ada_symbol_info *info)
static void write_name_assoc(struct parser_state *, struct stoken)
void warning(const char *fmt,...)
static const yytype_int16 yydefgoto[]
struct type * language_string_char_type(const struct language_defn *la, struct gdbarch *gdbarch)
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
struct symtab * lookup_symtab(const char *name)
#define SYMBOL_CLASS(symbol)
void internal_error(const char *file, int line, const char *fmt,...)
const char * ada_decode(const char *encoded)
const struct block * innermost_block
int have_partial_symbols(void)
static int ada_nget_field_index(const struct type *type, const char *field_name0, int field_name_len, int maybe_missing)
#define BLOCKVECTOR_BLOCK(blocklist, n)
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep)
static struct type * type_float(struct parser_state *)
static const char *const yytname[]
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
static const yytype_int16 yycheck[]
#define YYPRINT(FILE, TYPE, VALUE)
#define YY_STACK_PRINT(Bottom, Top)
#define TYPE_FIELD_ENUMVAL(thistype, n)
#define TYPE_FIELD_TYPE(thistype, n)
static struct symbol * select_possible_type_sym(struct ada_symbol_info *syms, int nsyms)
static void write_exp_op_with_string(struct parser_state *, enum exp_opcode, struct stoken)
const struct block * block
static struct type * get_symbol_field_type(struct symbol *sym, char *encoded_field_name)
#define YYSTACK_ALLOC_MAXIMUM
void write_exp_elt_block(struct parser_state *ps, const struct block *b)
#define SYMTAB_BLOCKVECTOR(symtab)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
void write_exp_elt_longcst(struct parser_state *ps, LONGEST expelt)
struct type * check_typedef(struct type *type)
int contained_in(const struct block *a, const struct block *b)
static struct type * find_primitive_type(struct parser_state *par_state, char *name)
#define YY_REDUCE_PRINT(Rule)
static void yy_symbol_value_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
#define SYMBOL_DOMAIN(symbol)
int ada_prefer_type(struct type *type0, struct type *type1)
void initialize_file_ftype(void)
static void yy_symbol_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
static void write_var_from_sym(struct parser_state *par_state, const struct block *orig_left_context, const struct block *block, struct symbol *sym)
struct YYSTYPE::@2 typed_val_float
struct YYSTYPE::@1 typed_val
void write_exp_elt_dblcst(struct parser_state *ps, DOUBLEST expelt)
int symbol_read_needs_frame(struct symbol *sym)
static const yytype_uint8 yystos[]
static const yytype_uint8 yydefact[]
static struct obstack temp_parse_space
static const yytype_uint16 yytoknum[]
void write_dollar_variable(struct parser_state *ps, struct stoken str)
const struct block * block
struct cleanup * make_cleanup_clear_parser_state(struct parser_state **p)
#define SYMBOL_LINKAGE_NAME(symbol)
static struct type * type_boolean(struct parser_state *)
unsigned short int yytype_uint16
const struct block * bval
int ada_lookup_symbol_list(const char *name0, const struct block *block0, domain_enum domain, struct ada_symbol_info **results)
void write_exp_msymbol(struct parser_state *ps, struct bound_minimal_symbol bound_msym)
enum ada_renaming_category ada_parse_renaming(struct symbol *sym, const char **renamed_entity, int *len, const char **renaming_expr)
struct symbol * ada_lookup_symbol(const char *name, const struct block *block0, domain_enum domain, int *is_a_field_of_this)
static struct type * type_long_double(struct parser_state *)
void write_exp_elt_opcode(struct parser_state *ps, enum exp_opcode expelt)
static void write_ambiguous_var(struct parser_state *, const struct block *, char *, int)
static const char * lexptr
static const yytype_uint8 yytranslate[]
unsigned char yytype_uint8
static int chop_selector(char *name, int end)
int xsnprintf(char *str, size_t size, const char *format,...)
#define SYMBOL_BLOCK_VALUE(symbol)
static const yytype_int16 yytable[]
#define TYPE_CODE(thistype)
struct minimal_symbol * minsym
int ada_parse(struct parser_state *par_state)
#define TYPE_NFIELDS(thistype)
static struct type * type_int(struct parser_state *)
#define SYMBOL_LANGUAGE(symbol)
struct minimal_symbol * msym
static struct type * type_long(struct parser_state *)
int have_full_symbols(void)
static struct type * type_qualifier
struct bound_minimal_symbol ada_lookup_simple_minsym(const char *name)
const struct block * get_selected_block(CORE_ADDR *addr_in_block)
static struct type * type_system_address(struct parser_state *)
const struct block * expression_context_block
static struct type * type_double(struct parser_state *)
static PyObject * field_name(struct type *type, int field)
#define SYMBOL_TYPE(symbol)
struct symbol * ada_find_renaming_symbol(struct symbol *name_sym, const struct block *block)
static struct type * type_char(struct parser_state *)
static const struct block * block_lookup(const struct block *, const char *)
struct type * language_lookup_primitive_type(const struct language_defn *la, struct gdbarch *gdbarch, const char *name)
static LONGEST convert_char_literal(struct type *, LONGEST)
static void write_selectors(struct parser_state *par_state, char *sels)
void write_exp_string(struct parser_state *ps, struct stoken str)
void write_exp_elt_type(struct parser_state *ps, struct type *expelt)
void error(const char *fmt,...)
static void yy_stack_print(yytype_int16 *yybottom, yytype_int16 *yytop)
struct type * lookup_pointer_type(struct type *type)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
void do_cleanups(struct cleanup *old_chain)
static struct type * type_long_long(struct parser_state *)
#define yytable_value_is_error(Yytable_value)
static void write_object_renaming(struct parser_state *, const struct block *, const char *, int, const char *, int)
const ULONGEST const LONGEST len
static void yy_reduce_print(yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)