47 #define YYBISON_VERSION "3.0.2"
50 #define YYSKELETON_NAME "yacc.c"
82 #define parse_type(ps) builtin_type (parse_gdbarch (ps))
83 #define parse_d_type(ps) builtin_d_type (parse_gdbarch (ps))
92 #define yymaxdepth d_maxdepth
93 #define yyparse d_parse_internal
95 #define yyerror d_error
98 #define yydebug d_debug
106 #define yyexca d_exca
107 #define yyerrflag d_errflag
108 #define yynerrs d_nerrs
113 #define yystate d_state
118 #define yylloc d_lloc
119 #define yyreds d_reds
120 #define yytoks d_toks
121 #define yyname d_name
122 #define yyrule d_rule
123 #define yylhs d_yylhs
124 #define yylen d_yylen
125 #define yydefre d_yydefred
126 #define yydgoto d_yydgoto
127 #define yysindex d_yysindex
128 #define yyrindex d_yyrindex
129 #define yygindex d_yygindex
130 #define yytable d_yytable
131 #define yycheck d_yycheck
133 #define yysslim d_yysslim
134 #define yyssp d_yyssp
135 #define yystacksize d_yystacksize
137 #define yyvsp d_yyvsp
143 #define YYFPRINTF parser_fprintf
152 static int yylex (
void);
160 # if defined __cplusplus && 201103L <= __cplusplus
161 # define YY_NULLPTR nullptr
163 # define YY_NULLPTR 0
168 #ifdef YYERROR_VERBOSE
169 # undef YYERROR_VERBOSE
170 # define YYERROR_VERBOSE 1
172 # define YYERROR_VERBOSE 0
238 #define IDENTIFIER 258
241 #define NAME_OR_INT 261
242 #define INTEGER_LITERAL 262
243 #define FLOAT_LITERAL 263
244 #define CHARACTER_LITERAL 264
245 #define STRING_LITERAL 265
248 #define TRUE_KEYWORD 268
249 #define FALSE_KEYWORD 269
250 #define NULL_KEYWORD 270
251 #define SUPER_KEYWORD 271
252 #define CAST_KEYWORD 272
253 #define SIZEOF_KEYWORD 273
254 #define TYPEOF_KEYWORD 274
255 #define TYPEID_KEYWORD 275
256 #define INIT_KEYWORD 276
257 #define IMMUTABLE_KEYWORD 277
258 #define CONST_KEYWORD 278
259 #define SHARED_KEYWORD 279
260 #define STRUCT_KEYWORD 280
261 #define UNION_KEYWORD 281
262 #define CLASS_KEYWORD 282
263 #define INTERFACE_KEYWORD 283
264 #define ENUM_KEYWORD 284
265 #define TEMPLATE_KEYWORD 285
266 #define DELEGATE_KEYWORD 286
267 #define FUNCTION_KEYWORD 287
268 #define DOLLAR_VARIABLE 288
269 #define ASSIGN_MODIFY 289
280 #define NOTIDENTITY 300
281 #define INCREMENT 301
282 #define DECREMENT 302
286 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
314 # define YYSTYPE_IS_TRIVIAL 1
315 # define YYSTYPE_IS_DECLARED 1
365 # ifdef __SIZE_TYPE__
366 # define YYSIZE_T __SIZE_TYPE__
367 # elif defined size_t
368 # define YYSIZE_T size_t
369 # elif ! defined YYSIZE_T
371 # define YYSIZE_T size_t
373 # define YYSIZE_T unsigned int
377 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
380 # if defined YYENABLE_NLS && YYENABLE_NLS
382 # include <libintl.h>
383 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
387 # define YY_(Msgid) Msgid
392 # if (defined __GNUC__ \
393 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
394 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
395 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
397 # define YY_ATTRIBUTE(Spec)
401 #ifndef YY_ATTRIBUTE_PURE
402 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
405 #ifndef YY_ATTRIBUTE_UNUSED
406 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
409 #if !defined _Noreturn \
410 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
411 # if defined _MSC_VER && 1200 <= _MSC_VER
412 # define _Noreturn __declspec (noreturn)
414 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
419 #if ! defined lint || defined __GNUC__
420 # define YYUSE(E) ((void) (E))
425 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
427 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
428 _Pragma ("GCC diagnostic push") \
429 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
430 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
431 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
432 _Pragma ("GCC diagnostic pop")
434 # define YY_INITIAL_VALUE(Value) Value
436 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
437 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
438 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
440 #ifndef YY_INITIAL_VALUE
441 # define YY_INITIAL_VALUE(Value)
445 #if ! defined yyoverflow || YYERROR_VERBOSE
449 # ifdef YYSTACK_USE_ALLOCA
450 # if YYSTACK_USE_ALLOCA
452 # define YYSTACK_ALLOC __builtin_alloca
453 # elif defined __BUILTIN_VA_ARG_INCR
456 # define YYSTACK_ALLOC __alloca
457 # elif defined _MSC_VER
458 # define alloca _alloca
460 # define YYSTACK_ALLOC alloca
461 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
464 # ifndef EXIT_SUCCESS
465 # define EXIT_SUCCESS 0
472 # ifdef YYSTACK_ALLOC
474 # define YYSTACK_FREE(Ptr) do { ; } while (0)
475 # ifndef YYSTACK_ALLOC_MAXIMUM
480 # define YYSTACK_ALLOC_MAXIMUM 4032
483 # define YYSTACK_ALLOC YYMALLOC
484 # define YYSTACK_FREE YYFREE
485 # ifndef YYSTACK_ALLOC_MAXIMUM
486 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
488 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
489 && ! ((defined YYMALLOC || defined xmalloc) \
490 && (defined YYFREE || defined xfree)))
492 # ifndef EXIT_SUCCESS
493 # define EXIT_SUCCESS 0
497 # define YYMALLOC xmalloc
498 # if ! defined xmalloc && ! defined EXIT_SUCCESS
503 # define YYFREE xfree
504 # if ! defined xfree && ! defined EXIT_SUCCESS
512 #if (! defined yyoverflow \
513 && (! defined __cplusplus \
514 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
524 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
528 # define YYSTACK_BYTES(N) \
529 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
530 + YYSTACK_GAP_MAXIMUM)
532 # define YYCOPY_NEEDED 1
539 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
542 YYSIZE_T yynewbytes; \
543 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
544 Stack = &yyptr->Stack_alloc; \
545 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
546 yyptr += yynewbytes / sizeof (*yyptr); \
552 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
556 # if defined __GNUC__ && 1 < __GNUC__
557 # define YYCOPY(Dst, Src, Count) \
558 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
560 # define YYCOPY(Dst, Src, Count) \
564 for (yyi = 0; yyi < (Count); yyi++) \
565 (Dst)[yyi] = (Src)[yyi]; \
584 #define YYNSTATES 175
589 #define YYMAXUTOK 303
591 #define YYTRANSLATE(YYX) \
592 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
598 0, 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, 67, 2, 2, 2, 55, 42, 2,
602 63, 68, 53, 51, 35, 52, 61, 54, 2, 2,
603 2, 2, 2, 2, 2, 2, 2, 2, 65, 2,
604 45, 36, 46, 37, 2, 2, 2, 2, 2, 2,
605 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
606 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
607 2, 62, 2, 69, 41, 2, 2, 2, 2, 2,
608 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
609 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
610 2, 2, 2, 2, 40, 2, 66, 2, 2, 2,
611 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
612 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
613 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
614 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
615 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
616 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
617 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
618 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
619 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
620 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
621 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
622 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
623 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
624 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
625 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
626 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
627 38, 39, 43, 44, 47, 48, 49, 50, 56, 57,
635 0, 232, 232, 233, 239, 243, 244, 249, 250, 252,
636 259, 260, 265, 266, 271, 272, 277, 278, 283, 284,
637 289, 290, 295, 296, 297, 298, 302, 304, 309, 311,
638 316, 318, 320, 322, 327, 328, 330, 335, 336, 338,
639 340, 345, 346, 348, 350, 354, 356, 358, 360, 362,
640 364, 366, 368, 370, 371, 375, 381, 388, 389, 394,
641 395, 397, 399, 400, 401, 405, 407, 413, 414, 419,
642 418, 427, 440, 442, 447, 449, 451, 460, 466, 468,
643 476, 483, 487, 491, 496, 501, 506, 512, 520, 525,
644 526, 543, 558, 576, 580, 589, 591, 593, 596, 602,
645 604, 607, 610, 613, 616, 619, 622, 625, 628, 631,
650 #if YYDEBUG || YYERROR_VERBOSE || 0
655 "$end",
"error",
"$undefined",
"IDENTIFIER",
"TYPENAME",
"COMPLETE",
656 "NAME_OR_INT",
"INTEGER_LITERAL",
"FLOAT_LITERAL",
"CHARACTER_LITERAL",
657 "STRING_LITERAL",
"ENTRY",
"ERROR",
"TRUE_KEYWORD",
"FALSE_KEYWORD",
658 "NULL_KEYWORD",
"SUPER_KEYWORD",
"CAST_KEYWORD",
"SIZEOF_KEYWORD",
659 "TYPEOF_KEYWORD",
"TYPEID_KEYWORD",
"INIT_KEYWORD",
"IMMUTABLE_KEYWORD",
660 "CONST_KEYWORD",
"SHARED_KEYWORD",
"STRUCT_KEYWORD",
"UNION_KEYWORD",
661 "CLASS_KEYWORD",
"INTERFACE_KEYWORD",
"ENUM_KEYWORD",
"TEMPLATE_KEYWORD",
662 "DELEGATE_KEYWORD",
"FUNCTION_KEYWORD",
"DOLLAR_VARIABLE",
663 "ASSIGN_MODIFY",
"','",
"'='",
"'?'",
"OROR",
"ANDAND",
"'|'",
"'^'",
664 "'&'",
"EQUAL",
"NOTEQUAL",
"'<'",
"'>'",
"LEQ",
"GEQ",
"LSH",
"RSH",
665 "'+'",
"'-'",
"'*'",
"'/'",
"'%'",
"HATHAT",
"IDENTITY",
"NOTIDENTITY",
666 "INCREMENT",
"DECREMENT",
"'.'",
"'['",
"'('",
"DOTDOT",
"':'",
"'~'",
667 "'!'",
"')'",
"']'",
"$accept",
"start",
"Expression",
"CommaExpression",
668 "AssignExpression",
"ConditionalExpression",
"OrOrExpression",
669 "AndAndExpression",
"OrExpression",
"XorExpression",
"AndExpression",
670 "CmpExpression",
"EqualExpression",
"IdentityExpression",
671 "RelExpression",
"ShiftExpression",
"AddExpression",
"MulExpression",
672 "UnaryExpression",
"CastExpression",
"PowExpression",
673 "PostfixExpression",
"ArgumentList",
"ArgumentList_opt",
674 "CallExpression",
"$@1",
"IndexExpression",
"SliceExpression",
675 "PrimaryExpression",
"ArrayLiteral",
"IdentifierExp",
"StringExp",
676 "TypeExp",
"BasicType2",
"BasicType",
YY_NULLPTR
683 static const yytype_uint16
yytoknum[] =
685 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
686 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
687 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
688 285, 286, 287, 288, 289, 44, 61, 63, 290, 291,
689 124, 94, 38, 292, 293, 60, 62, 294, 295, 296,
690 297, 43, 45, 42, 47, 37, 298, 299, 300, 301,
691 302, 46, 91, 40, 303, 58, 126, 33, 41, 93
695 #define YYPACT_NINF -86
697 #define yypact_value_is_default(Yystate) \
698 (!!((Yystate) == (-86)))
700 #define YYTABLE_NINF -1
702 #define yytable_value_is_error(Yytable_value) \
709 107, -86, -86, -86, -86, -86, -86, -86, -86, -86,
710 -86, -24, 37, 40, 76, 86, -86, 169, 169, 169,
711 169, 169, 169, 169, 107, 169, 169, 72, -86, -86,
712 16, 68, 20, 34, 38, 43, 48, -86, -86, -86,
713 -86, 51, -22, -6, -86, -86, -86, 67, -86, -86,
714 -86, -86, -86, 32, 93, -86, -25, 9, -86, 1,
715 -86, 15, -86, 19, -86, 21, -86, -86, -86, -86,
716 -86, -86, -86, 71, 56, 44, 60, -86, -86, -86,
717 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
718 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
719 169, 169, 169, 169, 169, 169, -86, -86, 8, -86,
720 132, -86, -25, 124, -86, 73, -86, 136, -86, -86,
721 -86, 169, -86, -86, 169, -86, -86, -86, 78, 34,
722 38, 43, 48, -86, 14, 14, 14, 14, 14, 14,
723 -22, -22, 14, 14, -6, -6, -6, -86, -86, -86,
724 -86, -86, 80, -23, 169, 140, -86, -86, 77, 169,
725 -86, -86, -86, 169, 169, -86, 79, -86, -25, -86,
726 -86, 81, -86, -86, -86
734 0, 89, 99, 79, 83, 84, 85, 91, 81, 82,
735 80, 0, 0, 0, 0, 0, 78, 0, 0, 0,
736 0, 0, 0, 67, 0, 0, 0, 0, 2, 4,
737 5, 7, 10, 12, 14, 16, 18, 20, 23, 24,
738 25, 22, 34, 37, 41, 53, 54, 57, 62, 63,
739 64, 59, 87, 75, 86, 3, 93, 0, 104, 103,
740 107, 106, 101, 100, 110, 109, 45, 50, 49, 48,
741 46, 47, 65, 68, 0, 0, 0, 52, 51, 1,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 60, 61, 0, 69,
745 0, 92, 95, 0, 94, 0, 105, 0, 108, 102,
746 111, 0, 88, 74, 0, 6, 9, 8, 0, 13,
747 15, 17, 19, 21, 26, 27, 30, 32, 31, 33,
748 35, 36, 28, 29, 38, 39, 40, 42, 43, 44,
749 58, 72, 65, 0, 67, 90, 76, 96, 0, 0,
750 90, 66, 56, 0, 0, 71, 0, 77, 97, 55,
757 -86, -86, -14, 74, -16, -12, -86, 69, 70, 66,
758 75, 83, -86, -86, -86, 98, 23, -68, -17, -86,
759 -86, -86, 49, 2, -86, -86, -86, -86, -86, -86,
760 41, -86, -5, -85, -86
766 -1, 27, 28, 29, 30, 31, 32, 33, 34, 35,
767 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
768 46, 47, 73, 74, 48, 154, 49, 50, 51, 52,
777 66, 67, 68, 69, 70, 71, 116, 72, 77, 78,
778 75, 1, 121, 2, 3, 4, 5, 6, 7, 76,
779 118, 8, 9, 10, 119, 11, 120, 157, 112, 99,
780 100, 144, 145, 146, 12, 13, 14, 113, 15, 57,
781 1, 16, 58, 1, 101, 60, 165, 102, 103, 104,
782 17, 80, 115, 59, 61, 63, 65, 83, 84, 18,
783 19, 20, 117, 95, 96, 126, 127, 21, 22, 128,
784 23, 24, 79, 85, 25, 26, 117, 151, 86, 1,
785 117, 62, 117, 173, 87, 147, 148, 149, 150, 1,
786 88, 64, 152, 110, 89, 90, 91, 92, 93, 94,
787 95, 96, 81, 111, 82, 161, 121, 162, 97, 98,
788 1, 2, 123, 3, 4, 5, 6, 7, 140, 141,
789 8, 9, 10, 105, 11, 122, 106, 107, 124, 108,
790 109, 158, 12, 13, 14, 155, 15, 156, 72, 160,
791 16, 159, 169, 163, 164, 167, 168, 172, 171, 17,
792 174, 170, 131, 129, 125, 130, 166, 153, 18, 19,
793 20, 0, 132, 0, 0, 0, 21, 22, 0, 23,
794 24, 133, 1, 25, 26, 3, 4, 5, 6, 7,
795 0, 0, 8, 9, 10, 0, 11, 134, 135, 136,
796 137, 138, 139, 0, 0, 142, 143, 0, 0, 0,
797 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
798 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
799 18, 19, 20, 0, 0, 0, 0, 0, 21, 22,
800 0, 23, 24, 0, 0, 25, 26
805 17, 18, 19, 20, 21, 22, 5, 23, 25, 26,
806 24, 3, 35, 4, 6, 7, 8, 9, 10, 24,
807 5, 13, 14, 15, 5, 17, 5, 112, 53, 51,
808 52, 99, 100, 101, 25, 26, 27, 62, 29, 63,
809 3, 33, 5, 3, 66, 5, 69, 53, 54, 55,
810 42, 35, 57, 12, 13, 14, 15, 37, 38, 51,
811 52, 53, 61, 49, 50, 81, 82, 59, 60, 83,
812 62, 63, 0, 39, 66, 67, 61, 69, 40, 3,
813 61, 5, 61, 168, 41, 102, 103, 104, 105, 3,
814 42, 5, 108, 61, 43, 44, 45, 46, 47, 48,
815 49, 50, 34, 10, 36, 121, 35, 124, 57, 58,
816 3, 4, 68, 6, 7, 8, 9, 10, 95, 96,
817 13, 14, 15, 56, 17, 69, 59, 60, 68, 62,
818 63, 7, 25, 26, 27, 3, 29, 5, 154, 3,
819 33, 68, 159, 65, 64, 5, 69, 68, 164, 42,
820 69, 163, 86, 84, 80, 85, 154, 108, 51, 52,
821 53, -1, 87, -1, -1, -1, 59, 60, -1, 62,
822 63, 88, 3, 66, 67, 6, 7, 8, 9, 10,
823 -1, -1, 13, 14, 15, -1, 17, 89, 90, 91,
824 92, 93, 94, -1, -1, 97, 98, -1, -1, -1,
825 -1, -1, 33, -1, -1, -1, -1, -1, -1, -1,
826 -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
827 51, 52, 53, -1, -1, -1, -1, -1, 59, 60,
828 -1, 62, 63, -1, -1, 66, 67
835 0, 3, 4, 6, 7, 8, 9, 10, 13, 14,
836 15, 17, 25, 26, 27, 29, 33, 42, 51, 52,
837 53, 59, 60, 62, 63, 66, 67, 71, 72, 73,
838 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
839 84, 85, 86, 87, 88, 89, 90, 91, 94, 96,
840 97, 98, 99, 100, 101, 102, 104, 63, 5, 100,
841 5, 100, 5, 100, 5, 100, 88, 88, 88, 88,
842 88, 88, 74, 92, 93, 72, 102, 88, 88, 0,
843 35, 34, 36, 37, 38, 39, 40, 41, 42, 43,
844 44, 45, 46, 47, 48, 49, 50, 57, 58, 51,
845 52, 66, 53, 54, 55, 56, 59, 60, 62, 63,
846 61, 10, 53, 62, 103, 102, 5, 61, 5, 5,
847 5, 35, 69, 68, 68, 73, 74, 74, 72, 77,
848 78, 79, 80, 81, 85, 85, 85, 85, 85, 85,
849 86, 86, 85, 85, 87, 87, 87, 88, 88, 88,
850 88, 69, 74, 92, 95, 3, 5, 103, 7, 68,
851 3, 74, 88, 65, 64, 69, 93, 5, 69, 88,
856 static const yytype_uint8
yyr1[] =
858 0, 70, 71, 71, 72, 73, 73, 74, 74, 74,
859 75, 75, 76, 76, 77, 77, 78, 78, 79, 79,
860 80, 80, 81, 81, 81, 81, 82, 82, 83, 83,
861 84, 84, 84, 84, 85, 85, 85, 86, 86, 86,
862 86, 87, 87, 87, 87, 88, 88, 88, 88, 88,
863 88, 88, 88, 88, 88, 89, 89, 90, 90, 91,
864 91, 91, 91, 91, 91, 92, 92, 93, 93, 95,
865 94, 96, 97, 97, 98, 98, 98, 98, 98, 98,
866 98, 98, 98, 98, 98, 98, 98, 98, 99, 100,
867 100, 101, 101, 102, 102, 103, 103, 103, 103, 104,
868 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
873 static const yytype_uint8
yyr2[] =
875 0, 2, 1, 1, 1, 1, 3, 1, 3, 3,
876 1, 5, 1, 3, 1, 3, 1, 3, 1, 3,
877 1, 3, 1, 1, 1, 1, 3, 3, 3, 3,
878 3, 3, 3, 3, 1, 3, 3, 1, 3, 3,
879 3, 1, 3, 3, 3, 2, 2, 2, 2, 2,
880 2, 2, 2, 1, 1, 5, 4, 1, 3, 1,
881 2, 2, 1, 1, 1, 1, 3, 0, 1, 0,
882 5, 4, 3, 6, 3, 1, 3, 4, 1, 1,
883 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
884 3, 1, 2, 1, 2, 1, 2, 3, 4, 1,
885 2, 2, 3, 2, 2, 3, 2, 2, 3, 2,
890 #define yyerrok (yyerrstatus = 0)
891 #define yyclearin (yychar = YYEMPTY)
895 #define YYACCEPT goto yyacceptlab
896 #define YYABORT goto yyabortlab
897 #define YYERROR goto yyerrorlab
900 #define YYRECOVERING() (!!yyerrstatus)
902 #define YYBACKUP(Token, Value) \
904 if (yychar == YYEMPTY) \
908 YYPOPSTACK (yylen); \
914 yyerror (YY_("syntax error: cannot back up")); \
921 #define YYERRCODE 256
930 # define YYFPRINTF fprintf
933 # define YYDPRINTF(Args) \
940 #ifndef YY_LOCATION_PRINT
941 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
945 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
949 YYFPRINTF (stderr, "%s ", Title); \
950 yy_symbol_print (stderr, \
952 YYFPRINTF (stderr, "\n"); \
964 FILE *yyo = yyoutput;
970 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
984 yytype <
YYNTOKENS ?
"token" :
"nterm", yytname[yytype]);
999 for (; yybottom <= yytop; yybottom++)
1001 int yybot = *yybottom;
1007 # define YY_STACK_PRINT(Bottom, Top) \
1010 yy_stack_print ((Bottom), (Top)); \
1021 unsigned long int yylno = yyrline[
yyrule];
1022 int yynrhs = yyr2[
yyrule];
1024 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1027 for (yyi = 0; yyi < yynrhs; yyi++)
1031 yystos[yyssp[yyi + 1 - yynrhs]],
1032 &(yyvsp[(yyi + 1) - (yynrhs)])
1038 # define YY_REDUCE_PRINT(Rule) \
1041 yy_reduce_print (yyssp, yyvsp, Rule); \
1048 # define YYDPRINTF(Args)
1049 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1050 # define YY_STACK_PRINT(Bottom, Top)
1051 # define YY_REDUCE_PRINT(Rule)
1057 # define YYINITDEPTH 200
1068 # define YYMAXDEPTH 10000
1075 # if defined __GLIBC__ && defined _STRING_H
1076 # define yystrlen strlen
1080 yystrlen (
const char *yystr)
1083 for (yylen = 0; yystr[
yylen]; yylen++)
1091 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1092 # define yystpcpy stpcpy
1097 yystpcpy (
char *yydest,
const char *yysrc)
1100 const char *yys = yysrc;
1102 while ((*yyd++ = *yys++) !=
'\0')
1119 yytnamerr (
char *yyres,
const char *yystr)
1124 char const *yyp = yystr;
1131 goto do_not_strip_quotes;
1135 goto do_not_strip_quotes;
1148 do_not_strip_quotes: ;
1152 return yystrlen (yystr);
1154 return yystpcpy (yyres, yystr) - yyres;
1167 yysyntax_error (
YYSIZE_T *yymsg_alloc,
char **yymsg,
1168 yytype_int16 *yyssp,
int yytoken)
1172 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1176 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1206 int yyn = yypact[*
yyssp];
1207 yyarg[yycount++] = yytname[yytoken];
1213 int yyxbegin = yyn < 0 ? -yyn : 0;
1215 int yychecklim =
YYLAST - yyn + 1;
1219 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1220 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR
1223 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1229 yyarg[yycount++] = yytname[yyx];
1232 if (! (yysize <= yysize1
1243 # define YYCASE_(N, S) \
1247 YYCASE_(0,
YY_(
"syntax error"));
1248 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1249 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1250 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1251 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1252 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1257 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1263 if (*yymsg_alloc < yysize)
1265 *yymsg_alloc = 2 * yysize;
1266 if (! (yysize <= *yymsg_alloc
1278 while ((*yyp = *yyformat) !=
'\0')
1279 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1281 yyp += yytnamerr (yyp, yyarg[yyi++]);
1344 yytype_int16 *
yyssp;
1364 char *yymsg = yymsgbuf;
1365 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1368 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1374 yyssp = yyss = yyssa;
1375 yyvsp = yyvs = yyvsa;
1378 YYDPRINTF ((stderr,
"Starting parse\n"));
1397 if (yyss + yystacksize - 1 <= yyssp)
1400 YYSIZE_T yysize = yyssp - yyss + 1;
1408 yytype_int16 *yyss1 =
yyss;
1414 yyoverflow (
YY_(
"memory exhausted"),
1415 &yyss1, yysize *
sizeof (*yyssp),
1416 &yyvs1, yysize *
sizeof (*yyvsp),
1423 # ifndef YYSTACK_RELOCATE
1424 goto yyexhaustedlab;
1428 goto yyexhaustedlab;
1434 yytype_int16 *yyss1 =
yyss;
1438 goto yyexhaustedlab;
1441 # undef YYSTACK_RELOCATE
1448 yyssp = yyss + yysize - 1;
1449 yyvsp = yyvs + yysize - 1;
1451 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1452 (
unsigned long int) yystacksize));
1454 if (yyss + yystacksize - 1 <= yyssp)
1458 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1483 YYDPRINTF ((stderr,
"Reading a token: "));
1487 if (yychar <=
YYEOF)
1489 yychar = yytoken =
YYEOF;
1490 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1501 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1556 yyval = yyvsp[1-
yylen];
1565 #line 1567 "d-exp.c"
1571 #line 1573 "d-exp.c"
1579 #line 1581 "d-exp.c"
1585 #line 1587 "d-exp.c"
1591 #line 1593 "d-exp.c"
1597 #line 1599 "d-exp.c"
1603 #line 1605 "d-exp.c"
1609 #line 1611 "d-exp.c"
1615 #line 1617 "d-exp.c"
1621 #line 1623 "d-exp.c"
1627 #line 1629 "d-exp.c"
1633 #line 1635 "d-exp.c"
1639 #line 1641 "d-exp.c"
1645 #line 1647 "d-exp.c"
1651 #line 1653 "d-exp.c"
1657 #line 1659 "d-exp.c"
1663 #line 1665 "d-exp.c"
1669 #line 1671 "d-exp.c"
1675 #line 1677 "d-exp.c"
1681 #line 1683 "d-exp.c"
1687 #line 1689 "d-exp.c"
1693 #line 1695 "d-exp.c"
1699 #line 1701 "d-exp.c"
1705 #line 1707 "d-exp.c"
1711 #line 1713 "d-exp.c"
1717 #line 1719 "d-exp.c"
1723 #line 1725 "d-exp.c"
1729 #line 1731 "d-exp.c"
1735 #line 1737 "d-exp.c"
1741 #line 1743 "d-exp.c"
1747 #line 1749 "d-exp.c"
1753 #line 1755 "d-exp.c"
1759 #line 1761 "d-exp.c"
1767 #line 1769 "d-exp.c"
1775 #line 1777 "d-exp.c"
1781 #line 1783 "d-exp.c"
1787 #line 1789 "d-exp.c"
1793 #line 1795 "d-exp.c"
1799 #line 1801 "d-exp.c"
1805 #line 1807 "d-exp.c"
1811 #line 1813 "d-exp.c"
1817 #line 1819 "d-exp.c"
1825 #line 1827 "d-exp.c"
1839 #line 1841 "d-exp.c"
1845 #line 1847 "d-exp.c"
1851 #line 1853 "d-exp.c"
1857 #line 1859 "d-exp.c"
1863 #line 1865 "d-exp.c"
1876 #line 1878 "d-exp.c"
1886 #line 1888 "d-exp.c"
1892 #line 1894 "d-exp.c"
1904 #line 1906 "d-exp.c"
1915 #line 1917 "d-exp.c"
1923 #line 1925 "d-exp.c"
1931 #line 1933 "d-exp.c"
1940 #line 1942 "d-exp.c"
1949 #line 1951 "d-exp.c"
1956 vec.
tokens = &(yyvsp[0].tsval);
1958 #line 1960 "d-exp.c"
1965 for (i = 0; i < (yyvsp[0].svec).
len; ++i)
1966 xfree ((yyvsp[0].svec).tokens[i].ptr);
1968 #line 1970 "d-exp.c"
1977 #line 1979 "d-exp.c"
1983 #line 1985 "d-exp.c"
1988 { (yyval.
sval).length = (yyvsp[-2].sval).length + (yyvsp[0].sval).length + 1;
1989 if ((yyvsp[-2].sval).ptr + (yyvsp[-2].sval).length + 1 == (yyvsp[0].sval).ptr
1990 && (yyvsp[-2].sval).ptr[(yyvsp[-2].sval).length] ==
'.')
1991 (yyval.
sval).ptr = (yyvsp[-2].sval).ptr;
1996 sprintf (buf,
"%.*s.%.*s",
1997 (yyvsp[-2].sval).length, (yyvsp[-2].sval).ptr, (yyvsp[0].sval).length, (yyvsp[0].sval).ptr);
1998 (yyval.
sval).ptr = buf;
2001 #line 2003 "d-exp.c"
2013 (yyval.
svec).tokens = vec;
2018 memcpy (vec->
ptr, (yyvsp[0].tsval).ptr, (yyvsp[0].tsval).length + 1);
2020 #line 2022 "d-exp.c"
2033 memcpy (p, (yyvsp[0].tsval).
ptr, (yyvsp[0].tsval).
length + 1);
2035 (yyval.
svec).tokens[(yyval.
svec).len - 1].type = (yyvsp[0].tsval).
type;
2037 (yyval.
svec).tokens[(yyval.
svec).len - 1].ptr = p;
2039 #line 2041 "d-exp.c"
2047 #line 2049 "d-exp.c"
2057 #line 2059 "d-exp.c"
2063 #line 2065 "d-exp.c"
2069 #line 2071 "d-exp.c"
2076 #line 2078 "d-exp.c"
2083 #line 2085 "d-exp.c"
2088 { (yyval.
tval) = (yyvsp[0].tsym).type; }
2089 #line 2091 "d-exp.c"
2096 #line 2098 "d-exp.c"
2102 (yyval.
tval) = NULL; }
2103 #line 2105 "d-exp.c"
2109 (yyval.
tval) = NULL; }
2110 #line 2112 "d-exp.c"
2117 #line 2119 "d-exp.c"
2123 (yyval.
tval) = NULL; }
2124 #line 2126 "d-exp.c"
2130 (yyval.
tval) = NULL; }
2131 #line 2133 "d-exp.c"
2138 #line 2140 "d-exp.c"
2144 (yyval.
tval) = NULL; }
2145 #line 2147 "d-exp.c"
2151 (yyval.
tval) = NULL; }
2152 #line 2154 "d-exp.c"
2159 #line 2161 "d-exp.c"
2165 (yyval.
tval) = NULL; }
2166 #line 2168 "d-exp.c"
2172 (yyval.
tval) = NULL; }
2173 #line 2175 "d-exp.c"
2177 #line 2179 "d-exp.c"
2206 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
2226 #if ! YYERROR_VERBOSE
2229 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2232 char const *yymsgp =
YY_(
"syntax error");
2233 int yysyntax_error_status;
2234 yysyntax_error_status = YYSYNTAX_ERROR;
2235 if (yysyntax_error_status == 0)
2237 else if (yysyntax_error_status == 1)
2239 if (yymsg != yymsgbuf)
2245 yymsg_alloc =
sizeof yymsgbuf;
2246 yysyntax_error_status = 2;
2250 yysyntax_error_status = YYSYNTAX_ERROR;
2255 if (yysyntax_error_status == 2)
2256 goto yyexhaustedlab;
2258 # undef YYSYNTAX_ERROR
2264 if (yyerrstatus == 3)
2269 if (yychar <=
YYEOF)
2272 if (yychar ==
YYEOF)
2334 yystos[yystate], yyvsp);
2366 #if !defined yyoverflow || YYERROR_VERBOSE
2389 while (yyssp != yyss)
2392 yystos[*yyssp], yyvsp);
2400 if (yymsg != yymsgbuf)
2416 int len,
int parsed_float,
YYSTYPE *putithere)
2429 int found_suffix = 0;
2432 struct type *signed_type;
2433 struct type *unsigned_type;
2443 s = (
char *) alloca (len + 1);
2457 suffix_len = s + len - suffix;
2459 if (suffix_len == 0)
2464 else if (suffix_len == 1)
2467 if (tolower (*suffix) ==
'f')
2472 else if (tolower (*suffix) ==
'l')
2477 else if (tolower (*suffix) ==
'i')
2485 else if (suffix_len == 2)
2488 if (tolower (suffix[0]) ==
'f' && tolower (suffix[1] ==
'i'))
2493 else if (tolower (suffix[0]) ==
'l' && tolower (suffix[1] ==
'i'))
2541 if (c >=
'A' && c <=
'Z')
2543 if (c !=
'l' && c !=
'u')
2545 if (c >=
'0' && c <=
'9')
2553 if (base > 10 && c >=
'a' && c <=
'f')
2557 n += i = c -
'a' + 10;
2559 else if (c ==
'l' && long_p == 0)
2564 else if (c ==
'u' && unsigned_p == 0)
2575 if (c !=
'l' && c !=
'u')
2578 if ((n2 / base != prevn) || (n2 + i < prevn))
2579 error (
_(
"Numeric constant too large."));
2593 if (long_p == 0 && (un >> 30) == 0)
2598 if (base == 10 && !unsigned_p)
2620 if (unsigned_p || (n & high_bit))
2657 obstack_free (&
tempbuf, NULL);
2674 else if (c == quote)
2687 if (*tokptr != quote)
2689 if (quote ==
'"' || quote ==
'`')
2690 error (
_(
"Unterminated string in expression."));
2692 error (
_(
"Unmatched single quote."));
2737 {
"&&",
ANDAND, BINOP_END},
2738 {
"||",
OROR, BINOP_END},
2739 {
"^^",
HATHAT, BINOP_END},
2740 {
"<<",
LSH, BINOP_END},
2741 {
">>",
RSH, BINOP_END},
2742 {
"==",
EQUAL, BINOP_END},
2744 {
"<=",
LEQ, BINOP_END},
2745 {
">=",
GEQ, BINOP_END},
2746 {
"..",
DOTDOT, BINOP_END},
2750 static const struct token ident_tokens[] =
2782 static struct type *
2798 static struct type *
2822 &is_a_field_of_this);
2840 if (is_a_field_of_this.
type != NULL)
2869 if (i == name.
length || name.
ptr[i] ==
'.')
2891 if (dot_index == name.
length)
2902 token.
length = dot_index;
2906 while (dot_index < name.
length && name.
ptr[dot_index] !=
'.')
2909 token.
length = dot_index;
2916 if (dot_index < name.
length)
2919 name.
ptr += dot_index;
2920 name.
length -= dot_index;
2933 if (dot_index == name.
length)
3007 for (doti = 0; doti < name.
length; doti++)
3009 if (name.
ptr[doti] ==
'.')
3016 token.
ptr = name.
ptr + doti + 1;
3051 while (doti < name.
length && name.
ptr[doti] !=
'.')
3059 if (msymbol.
minsym != NULL)
3062 error (
_(
"No symbol table is loaded. Use the \"file\" command"));
3064 error (
_(
"No symbol \"%s\" in current context."), copy);
3084 const char *tokstart;
3088 last_was_structop = 0;
3096 for (i = 0; i <
sizeof tokentab3 /
sizeof tokentab3[0]; i++)
3097 if (strncmp (tokstart, tokentab3[i].oper, 3) == 0)
3101 return tokentab3[i].
token;
3105 for (i = 0; i <
sizeof tokentab2 /
sizeof tokentab2[0]; i++)
3106 if (strncmp (tokstart, tokentab2[i].oper, 2) == 0)
3110 return tokentab2[i].
token;
3113 switch (c = *tokstart)
3120 if (saw_name_at_eof)
3122 saw_name_at_eof = 0;
3125 else if (saw_structop)
3161 last_was_structop = 1;
3178 int got_dot = 0, got_e = 0, toktype;
3179 const char *p = tokstart;
3182 if (c ==
'0' && (p[1] ==
'x' || p[1] ==
'X'))
3193 if ((!hex && !got_e && tolower (p[0]) ==
'e')
3194 || (hex && !got_e && tolower (p[0] ==
'p')))
3195 got_dot = got_e = 1;
3199 else if (!got_dot && (p[0] ==
'.' && p[1] !=
'.'))
3202 else if (got_e && (tolower (p[-1]) ==
'e' || tolower (p[-1]) ==
'p')
3203 && (*p ==
'-' || *p ==
'+'))
3208 else if ((*p < '0' || *p >
'9') && (*p !=
'_') &&
3209 ((*p < 'a' || *p >
'z') && (*p < 'A' || *p >
'Z')))
3213 toktype =
parse_number (pstate, tokstart, p - tokstart,
3214 got_dot|got_e, &yylval);
3215 if (toktype ==
ERROR)
3217 char *err_copy = (
char *) alloca (p - tokstart + 1);
3219 memcpy (err_copy, tokstart, p - tokstart);
3220 err_copy[p - tokstart] = 0;
3221 error (
_(
"Invalid number \"%s\"."), err_copy);
3229 const char *p = &tokstart[1];
3230 size_t len = strlen (
"entry");
3232 while (isspace (*p))
3234 if (strncmp (p,
"entry", len) == 0 && !isalnum (p[len])
3273 error (
_(
"Empty character constant."));
3274 else if (host_len > 2 && c ==
'\'')
3277 namelen =
lexptr - tokstart - 1;
3280 else if (host_len > 1)
3281 error (
_(
"Invalid character constant."));
3287 if (!(c ==
'_' || c ==
'$'
3288 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z')))
3290 error (
_(
"Invalid character '%c' in expression"), c);
3294 for (c = tokstart[namelen];
3295 (c ==
'_' || c ==
'$' || (c >=
'0' && c <=
'9')
3296 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z'));)
3297 c = tokstart[++namelen];
3301 if (namelen == 2 && tokstart[0] ==
'i' && tokstart[1] ==
'f')
3310 && (strncmp (tokstart,
"thread", namelen) == 0
3311 || strncmp (tokstart,
"task", namelen) == 0)
3312 && (tokstart[namelen] ==
' ' || tokstart[namelen] ==
'\t'))
3314 const char *p = tokstart + namelen + 1;
3316 while (*p ==
' ' || *p ==
'\t')
3318 if (*p >=
'0' && *p <=
'9')
3331 for (i = 0; i <
sizeof ident_tokens /
sizeof ident_tokens[0]; i++)
3332 if (strcmp (copy, ident_tokens[i].oper) == 0)
3337 return ident_tokens[i].
token;
3340 if (*tokstart ==
'$')
3352 if ((tokstart[0] >=
'a' && tokstart[0] <
'a' +
input_radix - 10)
3353 || (tokstart[0] >=
'A' && tokstart[0] <
'A' +
input_radix - 10))
3356 int hextype =
parse_number (pstate, tokstart, namelen, 0, &newlval);
3362 saw_name_at_eof = 1;
3384 last_was_structop = 0;
3385 saw_name_at_eof = 0;
3398 error (
_(
"A %s in expression, near `%s'."), (msg ? msg :
"error"),
lexptr);
#define YYSTACK_ALLOC_MAXIMUM
void write_exp_elt_sym(struct parser_state *ps, struct symbol *expelt)
#define parse_language(ps)
#define parse_gdbarch(ps)
#define yypact_value_is_default(Yystate)
static const yytype_uint8 yydefact[]
#define CHARACTER_LITERAL
static void push_expression_name(struct parser_state *, struct stoken)
static int push_module_name(struct parser_state *ps, struct type *module, struct stoken name, int dot_index)
#define SYMBOL_CLASS(symbol)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define INTERFACE_KEYWORD
const struct block * innermost_block
int have_partial_symbols(void)
void push_type(enum type_pieces tp)
static int push_variable(struct parser_state *ps, struct stoken name)
int c_parse_escape(const char **ptr, struct obstack *output)
static void yy_symbol_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
#define YYPRINT(FILE, TYPE, VALUE)
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
static int saw_name_at_eof
void push_type_int(int n)
static void yy_stack_print(yytype_int16 *yybottom, yytype_int16 *yytop)
void null_cleanup(void *arg)
struct typed_stoken tsval
void write_exp_elt_block(struct parser_state *ps, const struct block *b)
void write_exp_elt_longcst(struct parser_state *ps, LONGEST expelt)
int contained_in(const struct block *a, const struct block *b)
struct cleanup * make_cleanup_restore_integer(int *variable)
static const yytype_uint8 yystos[]
unsigned short int yytype_uint16
struct type * follow_types(struct type *follow_type)
struct stoken_vector svec
struct type * lookup_struct(const char *name, const struct block *block)
struct YYSTYPE::@2 typed_val_float
void write_exp_elt_dblcst(struct parser_state *ps, DOUBLEST expelt)
int symbol_read_needs_frame(struct symbol *sym)
struct type * lookup_enum(const char *name, const struct block *block)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
int d_parse(struct parser_state *par_state)
const struct block * block_found
static const yytype_uint16 yytoknum[]
void write_dollar_variable(struct parser_state *ps, struct stoken str)
void mark_struct_expression(struct parser_state *ps)
static const char *const yytname[]
struct cleanup * make_cleanup_clear_parser_state(struct parser_state **p)
static int last_was_structop
struct type * lookup_union(const char *name, const struct block *block)
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
static const yytype_int8 yypgoto[]
void write_exp_msymbol(struct parser_state *ps, struct bound_minimal_symbol bound_msym)
static void push_fieldnames(struct parser_state *ps, struct stoken name)
#define YY_STACK_PRINT(Bottom, Top)
PTR xrealloc(PTR ptr, size_t size)
void write_exp_elt_opcode(struct parser_state *ps, enum exp_opcode expelt)
static const char * lexptr
struct YYSTYPE::@34 typed_val_int
static void push_type_name(struct parser_state *ps, struct type *type, struct stoken name, int dot_index)
static struct type * d_type_from_name(struct stoken name)
static int parse_number(struct parser_state *, const char *, int, int, YYSTYPE *)
struct symbol * lookup_global_symbol(const char *name, const struct block *block, const domain_enum domain)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
struct minimal_symbol * minsym
#define IMMUTABLE_KEYWORD
struct symbol * lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
struct bound_minimal_symbol lookup_bound_minimal_symbol(const char *name)
static struct type * d_module_from_name(struct stoken name)
int have_full_symbols(void)
static const yytype_uint8 yytranslate[]
const struct block * expression_context_block
unsigned long long ULONGEST
struct typed_stoken * tokens
static void yy_symbol_value_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
unsigned char yytype_uint8
struct symbol * lookup_symbol_in_static_block(const char *name, const struct block *block, const domain_enum domain)
#define SYMBOL_TYPE(symbol)
void mark_completion_tag(enum type_code tag, const char *ptr, int length)
static const yytype_uint16 yyrline[]
struct type * language_lookup_primitive_type(const struct language_defn *la, struct gdbarch *gdbarch, const char *name)
static const yytype_int16 yydefgoto[]
#define YY_REDUCE_PRINT(Rule)
static int parse_string_or_char(const char *tokptr, const char **outptr, struct typed_stoken *value, int *host_chars)
static const char * prev_lexptr
static void yy_reduce_print(yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
void write_exp_string(struct parser_state *ps, struct stoken str)
void write_exp_elt_type(struct parser_state *ps, struct type *expelt)
#define yytable_value_is_error(Yytable_value)
void error(const char *fmt,...)
void write_exp_string_vector(struct parser_state *ps, int type, struct stoken_vector *vec)
struct type * lookup_pointer_type(struct type *type)
static struct obstack tempbuf
void do_cleanups(struct cleanup *old_chain)
char * copy_name(struct stoken token)
const ULONGEST const LONGEST len
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep)
int parse_float(const char *p, int len, DOUBLEST *d, const char **suffix)