47 #define YYBISON_VERSION "3.0.2"
50 #define YYSKELETON_NAME "yacc.c"
82 #define parse_type(ps) builtin_type (parse_gdbarch (ps))
91 #define yymaxdepth go_maxdepth
92 #define yyparse go_parse_internal
94 #define yyerror go_error
95 #define yylval go_lval
96 #define yychar go_char
97 #define yydebug go_debug
98 #define yypact go_pact
105 #define yyexca go_exca
106 #define yyerrflag go_errflag
107 #define yynerrs go_nerrs
111 #define yy_yys go_yys
112 #define yystate go_state
115 #define yy_yyv go_yyv
117 #define yylloc go_lloc
118 #define yyreds go_reds
119 #define yytoks go_toks
120 #define yyname go_name
121 #define yyrule go_rule
122 #define yylhs go_yylhs
123 #define yylen go_yylen
124 #define yydefred go_yydefred
125 #define yydgoto go_yydgoto
126 #define yysindex go_yysindex
127 #define yyrindex go_yyrindex
128 #define yygindex go_yygindex
129 #define yytable go_yytable
130 #define yycheck go_yycheck
136 #define YYFPRINTF parser_fprintf
145 static int yylex (
void);
153 # if defined __cplusplus && 201103L <= __cplusplus
154 # define YY_NULLPTR nullptr
156 # define YY_NULLPTR 0
161 #ifdef YYERROR_VERBOSE
162 # undef YYERROR_VERBOSE
163 # define YYERROR_VERBOSE 1
165 # define YYERROR_VERBOSE 0
229 #define RAW_STRING 260
235 #define NAME_OR_INT 266
236 #define TRUE_KEYWORD 267
237 #define FALSE_KEYWORD 268
238 #define STRUCT_KEYWORD 269
239 #define INTERFACE_KEYWORD 270
240 #define TYPE_KEYWORD 271
241 #define CHAN_KEYWORD 272
242 #define SIZEOF_KEYWORD 273
243 #define LEN_KEYWORD 274
244 #define CAP_KEYWORD 275
245 #define NEW_KEYWORD 276
246 #define IOTA_KEYWORD 277
247 #define NIL_KEYWORD 278
248 #define CONST_KEYWORD 279
249 #define DOTDOTDOT 280
252 #define BYTE_KEYWORD 283
253 #define DOLLAR_VARIABLE 284
254 #define ASSIGN_MODIFY 285
255 #define ABOVE_COMMA 286
266 #define INCREMENT 297
267 #define DECREMENT 298
268 #define LEFT_ARROW 299
271 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
299 # define YYSTYPE_IS_TRIVIAL 1
300 # define YYSTYPE_IS_DECLARED 1
315 const char *,
int,
int,
YYSTYPE *);
350 # ifdef __SIZE_TYPE__
351 # define YYSIZE_T __SIZE_TYPE__
352 # elif defined size_t
353 # define YYSIZE_T size_t
354 # elif ! defined YYSIZE_T
356 # define YYSIZE_T size_t
358 # define YYSIZE_T unsigned int
362 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
365 # if defined YYENABLE_NLS && YYENABLE_NLS
367 # include <libintl.h>
368 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
372 # define YY_(Msgid) Msgid
377 # if (defined __GNUC__ \
378 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
379 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
380 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
382 # define YY_ATTRIBUTE(Spec)
386 #ifndef YY_ATTRIBUTE_PURE
387 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
390 #ifndef YY_ATTRIBUTE_UNUSED
391 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
394 #if !defined _Noreturn \
395 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
396 # if defined _MSC_VER && 1200 <= _MSC_VER
397 # define _Noreturn __declspec (noreturn)
399 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
404 #if ! defined lint || defined __GNUC__
405 # define YYUSE(E) ((void) (E))
410 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
412 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
413 _Pragma ("GCC diagnostic push") \
414 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
415 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
416 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
417 _Pragma ("GCC diagnostic pop")
419 # define YY_INITIAL_VALUE(Value) Value
421 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
422 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
423 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
425 #ifndef YY_INITIAL_VALUE
426 # define YY_INITIAL_VALUE(Value)
430 #if ! defined yyoverflow || YYERROR_VERBOSE
434 # ifdef YYSTACK_USE_ALLOCA
435 # if YYSTACK_USE_ALLOCA
437 # define YYSTACK_ALLOC __builtin_alloca
438 # elif defined __BUILTIN_VA_ARG_INCR
441 # define YYSTACK_ALLOC __alloca
442 # elif defined _MSC_VER
443 # define alloca _alloca
445 # define YYSTACK_ALLOC alloca
446 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
449 # ifndef EXIT_SUCCESS
450 # define EXIT_SUCCESS 0
457 # ifdef YYSTACK_ALLOC
459 # define YYSTACK_FREE(Ptr) do { ; } while (0)
460 # ifndef YYSTACK_ALLOC_MAXIMUM
465 # define YYSTACK_ALLOC_MAXIMUM 4032
468 # define YYSTACK_ALLOC YYMALLOC
469 # define YYSTACK_FREE YYFREE
470 # ifndef YYSTACK_ALLOC_MAXIMUM
471 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
473 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
474 && ! ((defined YYMALLOC || defined xmalloc) \
475 && (defined YYFREE || defined xfree)))
477 # ifndef EXIT_SUCCESS
478 # define EXIT_SUCCESS 0
482 # define YYMALLOC xmalloc
483 # if ! defined xmalloc && ! defined EXIT_SUCCESS
488 # define YYFREE xfree
489 # if ! defined xfree && ! defined EXIT_SUCCESS
497 #if (! defined yyoverflow \
498 && (! defined __cplusplus \
499 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
509 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
513 # define YYSTACK_BYTES(N) \
514 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
515 + YYSTACK_GAP_MAXIMUM)
517 # define YYCOPY_NEEDED 1
524 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
527 YYSIZE_T yynewbytes; \
528 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
529 Stack = &yyptr->Stack_alloc; \
530 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
531 yyptr += yynewbytes / sizeof (*yyptr); \
537 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
541 # if defined __GNUC__ && 1 < __GNUC__
542 # define YYCOPY(Dst, Src, Count) \
543 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
545 # define YYCOPY(Dst, Src, Count) \
549 for (yyi = 0; yyi < (Count); yyi++) \
550 (Dst)[yyi] = (Src)[yyi]; \
569 #define YYNSTATES 122
574 #define YYMAXUTOK 299
576 #define YYTRANSLATE(YYX) \
577 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
583 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
586 2, 2, 2, 62, 2, 2, 2, 54, 39, 2,
587 61, 64, 52, 50, 31, 51, 59, 53, 2, 2,
588 2, 2, 2, 2, 2, 2, 2, 2, 67, 2,
589 43, 33, 44, 34, 49, 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, 60, 2, 63, 38, 2, 2, 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, 65, 37, 66, 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, 2, 2, 2, 2,
606 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
607 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
608 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
609 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
610 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
611 25, 26, 27, 28, 29, 30, 32, 35, 36, 40,
612 41, 42, 45, 46, 47, 48, 55, 56, 57, 58
619 0, 242, 242, 243, 246, 253, 254, 259, 263, 267,
620 271, 275, 279, 283, 287, 293, 299, 306, 316, 323,
621 320, 331, 335, 338, 342, 346, 350, 356, 362, 368,
622 372, 376, 380, 384, 388, 392, 396, 400, 404, 408,
623 412, 416, 420, 424, 428, 432, 436, 440, 444, 448,
624 452, 458, 465, 474, 487, 494, 497, 503, 518, 525,
625 542, 560, 572, 578, 584, 600, 655, 657, 664, 677
629 #if YYDEBUG || YYERROR_VERBOSE || 0
634 "$end",
"error",
"$undefined",
"INT",
"FLOAT",
"RAW_STRING",
"STRING",
635 "CHAR",
"NAME",
"TYPENAME",
"COMPLETE",
"NAME_OR_INT",
"TRUE_KEYWORD",
636 "FALSE_KEYWORD",
"STRUCT_KEYWORD",
"INTERFACE_KEYWORD",
"TYPE_KEYWORD",
637 "CHAN_KEYWORD",
"SIZEOF_KEYWORD",
"LEN_KEYWORD",
"CAP_KEYWORD",
638 "NEW_KEYWORD",
"IOTA_KEYWORD",
"NIL_KEYWORD",
"CONST_KEYWORD",
639 "DOTDOTDOT",
"ENTRY",
"ERROR",
"BYTE_KEYWORD",
"DOLLAR_VARIABLE",
640 "ASSIGN_MODIFY",
"','",
"ABOVE_COMMA",
"'='",
"'?'",
"OROR",
"ANDAND",
641 "'|'",
"'^'",
"'&'",
"ANDNOT",
"EQUAL",
"NOTEQUAL",
"'<'",
"'>'",
"LEQ",
642 "GEQ",
"LSH",
"RSH",
"'@'",
"'+'",
"'-'",
"'*'",
"'/'",
"'%'",
"UNARY",
643 "INCREMENT",
"DECREMENT",
"LEFT_ARROW",
"'.'",
"'['",
"'('",
"'!'",
644 "']'",
"')'",
"'{'",
"'}'",
"':'",
"$accept",
"start",
"type_exp",
645 "exp1",
"exp",
"$@1",
"lcurly",
"arglist",
"rcurly",
"string_exp",
646 "variable",
"type",
"name_not_typename",
YY_NULLPTR
653 static const yytype_uint16
yytoknum[] =
655 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
656 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
657 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
658 285, 44, 286, 61, 63, 287, 288, 124, 94, 38,
659 289, 290, 291, 60, 62, 292, 293, 294, 295, 64,
660 43, 45, 42, 47, 37, 296, 297, 298, 299, 46,
661 91, 40, 33, 93, 41, 123, 125, 58
665 #define YYPACT_NINF -42
667 #define yypact_value_is_default(Yystate) \
668 (!!((Yystate) == (-42)))
670 #define YYTABLE_NINF -1
672 #define yytable_value_is_error(Yytable_value) \
679 49, -42, -42, -42, -42, -42, -42, -42, -42, -42,
680 -38, -42, -42, 49, 49, 49, 49, 49, 49, 49,
681 -42, 27, -42, 34, 187, 45, 16, -42, 11, 53,
682 49, -35, 11, -35, -35, -35, -35, 11, 38, -35,
683 -42, 49, 49, 49, 49, 49, 49, 49, 49, 49,
684 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
685 49, 49, 49, 49, -42, -42, -3, 49, -42, 45,
686 9, 74, 49, -42, 123, 10, -42, 187, 187, 187,
687 88, 241, 266, 290, 313, 334, 353, 353, 368, 368,
688 368, 368, -41, -41, 380, 390, 390, -35, -35, -35,
689 -42, 72, 33, 49, -42, -42, 49, -42, 155, -42,
690 -42, 49, -42, -42, 187, 39, -35, -42, 215, 49,
699 0, 51, 54, 59, 52, 69, 67, 53, 62, 63,
700 0, 68, 56, 0, 0, 0, 0, 0, 0, 0,
701 21, 0, 3, 2, 5, 0, 61, 55, 4, 65,
702 0, 12, 0, 8, 10, 9, 7, 66, 0, 11,
703 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
705 0, 0, 0, 0, 13, 14, 0, 0, 19, 0,
706 0, 0, 0, 64, 0, 0, 28, 6, 50, 49,
707 0, 47, 46, 45, 44, 43, 37, 38, 41, 42,
708 39, 40, 35, 36, 29, 33, 34, 30, 31, 32,
709 17, 15, 0, 22, 66, 25, 0, 60, 0, 58,
710 57, 0, 16, 18, 23, 0, 26, 27, 48, 0,
717 -42, -42, -42, -4, -13, -42, -42, -42, -42, -42,
724 -1, 21, 22, 23, 24, 103, 25, 115, 106, 26,
733 31, 33, 34, 35, 36, 5, 39, 100, 58, 59,
734 60, 61, 62, 63, 38, 64, 65, 74, 66, 67,
735 68, 64, 65, 30, 66, 67, 68, 40, 77, 78,
736 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
737 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
738 99, 28, 1, 2, 6, 3, 4, 5, 6, 108,
739 7, 8, 9, 102, 41, 41, 71, 10, 37, 41,
740 119, 72, 72, 11, 110, 105, 70, 11, 12, 73,
741 107, 75, 112, 101, 0, 0, 0, 13, 14, 0,
742 114, 0, 0, 116, 0, 0, 113, 69, 118, 15,
743 16, 17, 76, 120, 0, 0, 121, 0, 0, 0,
744 18, 19, 0, 0, 20, 0, 0, 0, 42, 0,
745 104, 43, 44, 45, 46, 47, 48, 49, 0, 50,
746 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
747 61, 62, 63, 0, 64, 65, 0, 66, 67, 68,
748 0, 0, 0, 42, 0, 111, 43, 44, 45, 46,
749 47, 48, 49, 0, 50, 51, 52, 53, 54, 55,
750 56, 57, 58, 59, 60, 61, 62, 63, 0, 64,
751 65, 0, 66, 67, 68, 42, 0, 109, 43, 44,
752 45, 46, 47, 48, 49, 0, 50, 51, 52, 53,
753 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
754 0, 64, 65, 0, 66, 67, 68, 42, 0, 117,
755 43, 44, 45, 46, 47, 48, 49, 0, 50, 51,
756 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
757 62, 63, 0, 64, 65, 0, 66, 67, 68, 44,
758 45, 46, 47, 48, 49, 0, 50, 51, 52, 53,
759 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
760 0, 64, 65, 0, 66, 67, 68, 46, 47, 48,
761 49, 0, 50, 51, 52, 53, 54, 55, 56, 57,
762 58, 59, 60, 61, 62, 63, 0, 64, 65, 0,
763 66, 67, 68, 47, 48, 49, 0, 50, 51, 52,
764 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
765 63, 0, 64, 65, 0, 66, 67, 68, 48, 49,
766 0, 50, 51, 52, 53, 54, 55, 56, 57, 58,
767 59, 60, 61, 62, 63, 0, 64, 65, 0, 66,
768 67, 68, 49, 0, 50, 51, 52, 53, 54, 55,
769 56, 57, 58, 59, 60, 61, 62, 63, 0, 64,
770 65, 0, 66, 67, 68, 50, 51, 52, 53, 54,
771 55, 56, 57, 58, 59, 60, 61, 62, 63, 0,
772 64, 65, 0, 66, 67, 68, 52, 53, 54, 55,
773 56, 57, 58, 59, 60, 61, 62, 63, 0, 64,
774 65, 0, 66, 67, 68, 56, 57, 58, 59, 60,
775 61, 62, 63, 0, 64, 65, 0, 66, 67, 68,
776 59, 60, 61, 62, 63, 0, 64, 65, 0, 66,
777 67, 68, 61, 62, 63, 0, 64, 65, 0, 66,
783 13, 14, 15, 16, 17, 8, 19, 10, 49, 50,
784 51, 52, 53, 54, 18, 56, 57, 30, 59, 60,
785 61, 56, 57, 61, 59, 60, 61, 0, 41, 42,
786 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
787 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
788 63, 0, 3, 4, 9, 6, 7, 8, 9, 72,
789 11, 12, 13, 67, 31, 31, 50, 18, 17, 31,
790 31, 61, 61, 28, 64, 66, 25, 28, 29, 26,
791 6, 30, 10, 66, -1, -1, -1, 38, 39, -1,
792 103, -1, -1, 106, -1, -1, 63, 52, 111, 50,
793 51, 52, 64, 64, -1, -1, 119, -1, -1, -1,
794 61, 62, -1, -1, 65, -1, -1, -1, 30, -1,
795 69, 33, 34, 35, 36, 37, 38, 39, -1, 41,
796 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
797 52, 53, 54, -1, 56, 57, -1, 59, 60, 61,
798 -1, -1, -1, 30, -1, 67, 33, 34, 35, 36,
799 37, 38, 39, -1, 41, 42, 43, 44, 45, 46,
800 47, 48, 49, 50, 51, 52, 53, 54, -1, 56,
801 57, -1, 59, 60, 61, 30, -1, 64, 33, 34,
802 35, 36, 37, 38, 39, -1, 41, 42, 43, 44,
803 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
804 -1, 56, 57, -1, 59, 60, 61, 30, -1, 64,
805 33, 34, 35, 36, 37, 38, 39, -1, 41, 42,
806 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
807 53, 54, -1, 56, 57, -1, 59, 60, 61, 34,
808 35, 36, 37, 38, 39, -1, 41, 42, 43, 44,
809 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
810 -1, 56, 57, -1, 59, 60, 61, 36, 37, 38,
811 39, -1, 41, 42, 43, 44, 45, 46, 47, 48,
812 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
813 59, 60, 61, 37, 38, 39, -1, 41, 42, 43,
814 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
815 54, -1, 56, 57, -1, 59, 60, 61, 38, 39,
816 -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
817 50, 51, 52, 53, 54, -1, 56, 57, -1, 59,
818 60, 61, 39, -1, 41, 42, 43, 44, 45, 46,
819 47, 48, 49, 50, 51, 52, 53, 54, -1, 56,
820 57, -1, 59, 60, 61, 41, 42, 43, 44, 45,
821 46, 47, 48, 49, 50, 51, 52, 53, 54, -1,
822 56, 57, -1, 59, 60, 61, 43, 44, 45, 46,
823 47, 48, 49, 50, 51, 52, 53, 54, -1, 56,
824 57, -1, 59, 60, 61, 47, 48, 49, 50, 51,
825 52, 53, 54, -1, 56, 57, -1, 59, 60, 61,
826 50, 51, 52, 53, 54, -1, 56, 57, -1, 59,
827 60, 61, 52, 53, 54, -1, 56, 57, -1, 59,
835 0, 3, 4, 6, 7, 8, 9, 11, 12, 13,
836 18, 28, 29, 38, 39, 50, 51, 52, 61, 62,
837 65, 69, 70, 71, 72, 74, 77, 78, 79, 80,
838 61, 72, 79, 72, 72, 72, 72, 79, 71, 72,
839 0, 31, 30, 33, 34, 35, 36, 37, 38, 39,
840 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
841 51, 52, 53, 54, 56, 57, 59, 60, 61, 52,
842 79, 50, 61, 26, 72, 79, 64, 72, 72, 72,
843 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
844 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
845 10, 80, 71, 73, 79, 66, 76, 6, 72, 64,
846 64, 67, 10, 63, 72, 75, 72, 64, 72, 31,
851 static const yytype_uint8
yyr1[] =
853 0, 68, 69, 69, 70, 71, 71, 72, 72, 72,
854 72, 72, 72, 72, 72, 72, 72, 72, 72, 73,
855 72, 74, 75, 75, 75, 76, 72, 72, 72, 72,
856 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
857 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
858 72, 72, 72, 72, 72, 72, 72, 72, 72, 77,
859 77, 72, 72, 72, 78, 78, 79, 79, 79, 80
863 static const yytype_uint8
yyr2[] =
865 0, 2, 1, 1, 1, 1, 3, 2, 2, 2,
866 2, 2, 2, 2, 2, 3, 4, 3, 4, 0,
867 5, 1, 0, 1, 3, 1, 4, 4, 3, 3,
868 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
869 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
870 3, 1, 1, 1, 1, 1, 1, 4, 4, 1,
871 3, 1, 1, 1, 2, 1, 2, 1, 1, 1
875 #define yyerrok (yyerrstatus = 0)
876 #define yyclearin (yychar = YYEMPTY)
880 #define YYACCEPT goto yyacceptlab
881 #define YYABORT goto yyabortlab
882 #define YYERROR goto yyerrorlab
885 #define YYRECOVERING() (!!yyerrstatus)
887 #define YYBACKUP(Token, Value) \
889 if (yychar == YYEMPTY) \
893 YYPOPSTACK (yylen); \
899 yyerror (YY_("syntax error: cannot back up")); \
906 #define YYERRCODE 256
915 # define YYFPRINTF fprintf
918 # define YYDPRINTF(Args) \
925 #ifndef YY_LOCATION_PRINT
926 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
930 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
934 YYFPRINTF (stderr, "%s ", Title); \
935 yy_symbol_print (stderr, \
937 YYFPRINTF (stderr, "\n"); \
949 FILE *yyo = yyoutput;
955 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
969 yytype <
YYNTOKENS ?
"token" :
"nterm", yytname[yytype]);
984 for (; yybottom <= yytop; yybottom++)
986 int yybot = *yybottom;
992 # define YY_STACK_PRINT(Bottom, Top) \
995 yy_stack_print ((Bottom), (Top)); \
1006 unsigned long int yylno = yyrline[
yyrule];
1007 int yynrhs = yyr2[
yyrule];
1009 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1012 for (yyi = 0; yyi < yynrhs; yyi++)
1016 yystos[yyssp[yyi + 1 - yynrhs]],
1017 &(yyvsp[(yyi + 1) - (yynrhs)])
1023 # define YY_REDUCE_PRINT(Rule) \
1026 yy_reduce_print (yyssp, yyvsp, Rule); \
1033 # define YYDPRINTF(Args)
1034 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1035 # define YY_STACK_PRINT(Bottom, Top)
1036 # define YY_REDUCE_PRINT(Rule)
1042 # define YYINITDEPTH 200
1053 # define YYMAXDEPTH 10000
1060 # if defined __GLIBC__ && defined _STRING_H
1061 # define yystrlen strlen
1065 yystrlen (
const char *yystr)
1068 for (yylen = 0; yystr[
yylen]; yylen++)
1076 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1077 # define yystpcpy stpcpy
1082 yystpcpy (
char *yydest,
const char *yysrc)
1085 const char *yys = yysrc;
1087 while ((*yyd++ = *yys++) !=
'\0')
1104 yytnamerr (
char *yyres,
const char *yystr)
1109 char const *yyp = yystr;
1116 goto do_not_strip_quotes;
1120 goto do_not_strip_quotes;
1133 do_not_strip_quotes: ;
1137 return yystrlen (yystr);
1139 return yystpcpy (yyres, yystr) - yyres;
1152 yysyntax_error (
YYSIZE_T *yymsg_alloc,
char **yymsg,
1153 yytype_int16 *yyssp,
int yytoken)
1157 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1161 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1191 int yyn = yypact[*
yyssp];
1192 yyarg[yycount++] = yytname[yytoken];
1198 int yyxbegin = yyn < 0 ? -yyn : 0;
1200 int yychecklim =
YYLAST - yyn + 1;
1204 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1205 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR
1208 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1214 yyarg[yycount++] = yytname[yyx];
1217 if (! (yysize <= yysize1
1228 # define YYCASE_(N, S) \
1232 YYCASE_(0,
YY_(
"syntax error"));
1233 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1234 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1235 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1236 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1237 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1242 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1248 if (*yymsg_alloc < yysize)
1250 *yymsg_alloc = 2 * yysize;
1251 if (! (yysize <= *yymsg_alloc
1263 while ((*yyp = *yyformat) !=
'\0')
1264 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1266 yyp += yytnamerr (yyp, yyarg[yyi++]);
1329 yytype_int16 *
yyssp;
1349 char *yymsg = yymsgbuf;
1350 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1353 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1359 yyssp = yyss = yyssa;
1360 yyvsp = yyvs = yyvsa;
1363 YYDPRINTF ((stderr,
"Starting parse\n"));
1382 if (yyss + yystacksize - 1 <= yyssp)
1385 YYSIZE_T yysize = yyssp - yyss + 1;
1393 yytype_int16 *yyss1 =
yyss;
1399 yyoverflow (
YY_(
"memory exhausted"),
1400 &yyss1, yysize *
sizeof (*yyssp),
1401 &yyvs1, yysize *
sizeof (*yyvsp),
1408 # ifndef YYSTACK_RELOCATE
1409 goto yyexhaustedlab;
1413 goto yyexhaustedlab;
1419 yytype_int16 *yyss1 =
yyss;
1423 goto yyexhaustedlab;
1426 # undef YYSTACK_RELOCATE
1433 yyssp = yyss + yysize - 1;
1434 yyvsp = yyvs + yysize - 1;
1436 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1437 (
unsigned long int) yystacksize));
1439 if (yyss + yystacksize - 1 <= yyssp)
1443 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1468 YYDPRINTF ((stderr,
"Reading a token: "));
1472 if (yychar <=
YYEOF)
1474 yychar = yytoken =
YYEOF;
1475 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1486 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1541 yyval = yyvsp[1-
yylen];
1548 #line 247 "go-exp.y"
1552 #line 1554 "go-exp.c"
1556 #line 255 "go-exp.y"
1558 #line 1560 "go-exp.c"
1562 #line 260 "go-exp.y"
1564 #line 1566 "go-exp.c"
1568 #line 264 "go-exp.y"
1570 #line 1572 "go-exp.c"
1574 #line 268 "go-exp.y"
1576 #line 1578 "go-exp.c"
1580 #line 272 "go-exp.y"
1582 #line 1584 "go-exp.c"
1586 #line 276 "go-exp.y"
1588 #line 1590 "go-exp.c"
1592 #line 280 "go-exp.y"
1594 #line 1596 "go-exp.c"
1598 #line 284 "go-exp.y"
1600 #line 1602 "go-exp.c"
1604 #line 288 "go-exp.y"
1606 #line 1608 "go-exp.c"
1610 #line 294 "go-exp.y"
1614 #line 1616 "go-exp.c"
1618 #line 300 "go-exp.y"
1623 #line 1625 "go-exp.c"
1627 #line 307 "go-exp.y"
1635 #line 1637 "go-exp.c"
1639 #line 317 "go-exp.y"
1641 #line 1643 "go-exp.c"
1645 #line 323 "go-exp.y"
1647 #line 1649 "go-exp.c"
1651 #line 325 "go-exp.y"
1656 #line 1658 "go-exp.c"
1660 #line 332 "go-exp.y"
1662 #line 1664 "go-exp.c"
1666 #line 339 "go-exp.y"
1668 #line 1670 "go-exp.c"
1672 #line 343 "go-exp.y"
1674 #line 1676 "go-exp.c"
1678 #line 347 "go-exp.y"
1680 #line 1682 "go-exp.c"
1684 #line 351 "go-exp.y"
1688 #line 1690 "go-exp.c"
1692 #line 357 "go-exp.y"
1696 #line 1698 "go-exp.c"
1700 #line 363 "go-exp.y"
1702 #line 1704 "go-exp.c"
1706 #line 369 "go-exp.y"
1708 #line 1710 "go-exp.c"
1712 #line 373 "go-exp.y"
1714 #line 1716 "go-exp.c"
1718 #line 377 "go-exp.y"
1720 #line 1722 "go-exp.c"
1724 #line 381 "go-exp.y"
1726 #line 1728 "go-exp.c"
1730 #line 385 "go-exp.y"
1732 #line 1734 "go-exp.c"
1736 #line 389 "go-exp.y"
1738 #line 1740 "go-exp.c"
1742 #line 393 "go-exp.y"
1744 #line 1746 "go-exp.c"
1748 #line 397 "go-exp.y"
1750 #line 1752 "go-exp.c"
1754 #line 401 "go-exp.y"
1756 #line 1758 "go-exp.c"
1760 #line 405 "go-exp.y"
1762 #line 1764 "go-exp.c"
1766 #line 409 "go-exp.y"
1768 #line 1770 "go-exp.c"
1772 #line 413 "go-exp.y"
1774 #line 1776 "go-exp.c"
1778 #line 417 "go-exp.y"
1780 #line 1782 "go-exp.c"
1784 #line 421 "go-exp.y"
1786 #line 1788 "go-exp.c"
1790 #line 425 "go-exp.y"
1792 #line 1794 "go-exp.c"
1796 #line 429 "go-exp.y"
1798 #line 1800 "go-exp.c"
1802 #line 433 "go-exp.y"
1804 #line 1806 "go-exp.c"
1808 #line 437 "go-exp.y"
1810 #line 1812 "go-exp.c"
1814 #line 441 "go-exp.y"
1816 #line 1818 "go-exp.c"
1820 #line 445 "go-exp.y"
1822 #line 1824 "go-exp.c"
1826 #line 449 "go-exp.y"
1828 #line 1830 "go-exp.c"
1832 #line 453 "go-exp.y"
1836 #line 1838 "go-exp.c"
1840 #line 459 "go-exp.y"
1845 #line 1847 "go-exp.c"
1849 #line 466 "go-exp.y"
1853 vec.
tokens = &(yyvsp[0].tsval);
1856 #line 1858 "go-exp.c"
1860 #line 475 "go-exp.y"
1863 (yyvsp[0].ssym).stoken.length, 0, &val);
1870 #line 1872 "go-exp.c"
1874 #line 488 "go-exp.y"
1879 #line 1881 "go-exp.c"
1883 #line 498 "go-exp.y"
1887 #line 1889 "go-exp.c"
1891 #line 504 "go-exp.y"
1904 #line 1906 "go-exp.c"
1908 #line 519 "go-exp.y"
1913 #line 1915 "go-exp.c"
1917 #line 526 "go-exp.y"
1926 (yyval.
svec).tokens = vec;
1931 memcpy (vec->
ptr, (yyvsp[0].tsval).ptr, (yyvsp[0].tsval).length + 1);
1933 #line 1935 "go-exp.c"
1937 #line 543 "go-exp.y"
1947 memcpy (p, (yyvsp[0].tsval).
ptr, (yyvsp[0].tsval).
length + 1);
1949 (yyval.
svec).tokens[(yyval.
svec).len - 1].type = (yyvsp[0].tsval).
type;
1951 (yyval.
svec).tokens[(yyval.
svec).len - 1].ptr = p;
1953 #line 1955 "go-exp.c"
1957 #line 561 "go-exp.y"
1963 for (i = 0; i < (yyvsp[0].svec).
len; ++i)
1964 xfree ((yyvsp[0].svec).tokens[i].ptr);
1965 xfree ((yyvsp[0].svec).tokens);
1967 #line 1969 "go-exp.c"
1971 #line 573 "go-exp.y"
1975 #line 1977 "go-exp.c"
1979 #line 579 "go-exp.y"
1983 #line 1985 "go-exp.c"
1987 #line 585 "go-exp.y"
1988 {
struct symbol *sym = (yyvsp[-1].ssym).sym;
1993 error (
_(
"@entry can be used only for function "
1994 "parameters, not for \"%s\""),
2001 #line 2003 "go-exp.c"
2005 #line 601 "go-exp.y"
2006 {
struct symbol *sym = (yyvsp[0].ssym).sym;
2026 else if ((yyvsp[0].ssym).is_a_field_of_this)
2039 if (msymbol.
minsym != NULL)
2043 error (
_(
"No symbol table is loaded. "
2044 "Use the \"file\" command."));
2046 error (
_(
"No symbol \"%s\" in current context."),
2050 #line 2052 "go-exp.c"
2054 #line 656 "go-exp.y"
2056 #line 2058 "go-exp.c"
2060 #line 658 "go-exp.y"
2061 { (yyval.
tval) = (yyvsp[0].tsym).type; }
2062 #line 2064 "go-exp.c"
2066 #line 665 "go-exp.y"
2069 #line 2071 "go-exp.c"
2073 #line 2075 "go-exp.c"
2102 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
2122 #if ! YYERROR_VERBOSE
2125 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2128 char const *yymsgp =
YY_(
"syntax error");
2129 int yysyntax_error_status;
2130 yysyntax_error_status = YYSYNTAX_ERROR;
2131 if (yysyntax_error_status == 0)
2133 else if (yysyntax_error_status == 1)
2135 if (yymsg != yymsgbuf)
2141 yymsg_alloc =
sizeof yymsgbuf;
2142 yysyntax_error_status = 2;
2146 yysyntax_error_status = YYSYNTAX_ERROR;
2151 if (yysyntax_error_status == 2)
2152 goto yyexhaustedlab;
2154 # undef YYSYNTAX_ERROR
2160 if (yyerrstatus == 3)
2165 if (yychar <=
YYEOF)
2168 if (yychar ==
YYEOF)
2230 yystos[yystate], yyvsp);
2262 #if !defined yyoverflow || YYERROR_VERBOSE
2285 while (yyssp != yyss)
2288 yystos[*yyssp], yyvsp);
2296 if (yymsg != yymsgbuf)
2301 #line 687 "go-exp.y"
2333 const char *p,
int len,
int parsed_float,
YYSTYPE *putithere)
2350 int found_suffix = 0;
2353 struct type *signed_type;
2354 struct type *unsigned_type;
2409 if (c >=
'A' && c <=
'Z')
2411 if (c !=
'l' && c !=
'u')
2413 if (c >=
'0' && c <=
'9')
2421 if (base > 10 && c >=
'a' && c <=
'f')
2425 n += i = c -
'a' + 10;
2446 if (c !=
'l' && c !=
'u' && (prevn >= n) && n != 0)
2452 if (c !=
'l' && c !=
'u' && n != 0)
2455 error (
_(
"Numeric constant too large."));
2485 unsigned_type =
parse_type (par_state)->builtin_unsigned_int;
2486 signed_type =
parse_type (par_state)->builtin_int;
2488 else if (long_p <= 1
2493 unsigned_type =
parse_type (par_state)->builtin_unsigned_long;
2494 signed_type =
parse_type (par_state)->builtin_long;
2506 unsigned_type =
parse_type (par_state)->builtin_unsigned_long_long;
2507 signed_type =
parse_type (par_state)->builtin_long_long;
2515 if (unsigned_p || (n & high_bit))
2556 obstack_free (&
tempbuf, NULL);
2573 else if (c == quote)
2586 if (*tokptr != quote)
2589 error (
_(
"Unterminated string in expression."));
2591 error (
_(
"Unmatched single quote."));
2633 {
"&&",
ANDAND, BINOP_END},
2634 {
"||",
OROR, BINOP_END},
2635 {
"<<",
LSH, BINOP_END},
2636 {
">>",
RSH, BINOP_END},
2637 {
"==",
EQUAL, BINOP_END},
2639 {
"<=",
LEQ, BINOP_END},
2640 {
">=",
GEQ, BINOP_END},
2645 static const struct token ident_tokens[] =
2680 const char *tokstart;
2684 last_was_structop = 0;
2692 for (i = 0; i <
sizeof (
tokentab3) /
sizeof (tokentab3[0]); i++)
2693 if (strncmp (tokstart, tokentab3[i].
oper, 3) == 0)
2697 return tokentab3[i].
token;
2701 for (i = 0; i <
sizeof (
tokentab2) /
sizeof (tokentab2[0]); i++)
2702 if (strncmp (tokstart, tokentab2[i].oper, 2) == 0)
2708 return tokentab2[i].
token;
2711 switch (c = *tokstart)
2714 if (saw_name_at_eof)
2716 saw_name_at_eof = 0;
2719 else if (saw_structop)
2756 last_was_structop = 1;
2773 int got_dot = 0, got_e = 0, toktype;
2774 const char *p = tokstart;
2777 if (c ==
'0' && (p[1] ==
'x' || p[1] ==
'X'))
2788 if (!hex && !got_e && (*p ==
'e' || *p ==
'E'))
2789 got_dot = got_e = 1;
2792 else if (!got_dot && *p ==
'.')
2794 else if (got_e && (p[-1] ==
'e' || p[-1] ==
'E')
2795 && (*p ==
'-' || *p ==
'+'))
2801 else if ((*p < '0' || *p >
'9')
2802 && ((*p < 'a' || *p >
'z')
2803 && (*p < 'A' || *p >
'Z')))
2806 toktype =
parse_number (par_state, tokstart, p - tokstart,
2807 got_dot|got_e, &yylval);
2808 if (toktype ==
ERROR)
2810 char *err_copy = (
char *) alloca (p - tokstart + 1);
2812 memcpy (err_copy, tokstart, p - tokstart);
2813 err_copy[p - tokstart] = 0;
2814 error (
_(
"Invalid number \"%s\"."), err_copy);
2822 const char *p = &tokstart[1];
2823 size_t len = strlen (
"entry");
2825 while (isspace (*p))
2827 if (strncmp (p,
"entry", len) == 0 && !isalnum (p[len])
2866 error (
_(
"Empty character constant."));
2867 else if (host_len > 2 && c ==
'\'')
2870 namelen =
lexptr - tokstart - 1;
2873 else if (host_len > 1)
2874 error (
_(
"Invalid character constant."));
2880 if (!(c ==
'_' || c ==
'$'
2881 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z')))
2883 error (
_(
"Invalid character '%c' in expression."), c);
2887 for (c = tokstart[namelen];
2888 (c ==
'_' || c ==
'$' || (c >=
'0' && c <=
'9')
2889 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z'));)
2891 c = tokstart[++namelen];
2898 && tokstart[0] ==
'i'
2899 && tokstart[1] ==
'f')
2912 && strncmp (tokstart,
"thread", namelen) == 0
2913 && (tokstart[namelen] ==
' ' || tokstart[namelen] ==
'\t'))
2915 const char *p = tokstart + namelen + 1;
2917 while (*p ==
' ' || *p ==
'\t')
2919 if (*p >=
'0' && *p <=
'9')
2932 for (i = 0; i <
sizeof (
ident_tokens) /
sizeof (ident_tokens[0]); i++)
2933 if (strcmp (copy, ident_tokens[i].oper) == 0)
2938 return ident_tokens[i].
token;
2941 if (*tokstart ==
'$')
2945 saw_name_at_eof = 1;
2967 static struct obstack name_obstack;
2974 build_packaged_name (
const char *package,
int package_len,
2975 const char *
name,
int name_len)
2979 obstack_free (&name_obstack, obstack_base (&name_obstack));
2980 obstack_grow (&name_obstack, package, package_len);
2982 obstack_grow (&name_obstack, name, name_len);
2983 obstack_grow (&name_obstack,
"", 1);
2984 result.ptr = obstack_base (&name_obstack);
2985 result.length = obstack_object_size (&name_obstack) - 1;
3019 if (strcmp (copy,
"Sizeof") == 0)
3021 yylval.
sval = function_name;
3025 error (
_(
"Unknown function in `unsafe' package: %s"), copy);
3104 if (current_package_name != NULL)
3107 build_packaged_name (current_package_name,
3108 strlen (current_package_name),
3109 copy, strlen (copy));
3111 xfree (current_package_name);
3113 &is_a_field_of_this);
3127 if ((copy[0] >=
'a' && copy[0] <
'a' +
input_radix - 10)
3128 || (copy[0] >=
'A' && copy[0] <
'A' +
input_radix - 10))
3171 return current.
token;
3179 if (next.
token ==
'.')
3193 if (strcmp (copy,
"unsafe") == 0)
3221 yylval = current.
value;
3242 last_was_structop = 0;
3243 saw_name_at_eof = 0;
3247 obstack_init (&name_obstack);
3261 error (
_(
"A %s in expression, near `%s'."), (msg ? msg :
"error"),
lexptr);
struct internalvar * ivar
char * go_block_package_name(const struct block *block)
void write_exp_elt_sym(struct parser_state *ps, struct symbol *expelt)
#define parse_language(ps)
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep)
#define parse_gdbarch(ps)
static int saw_name_at_eof
int gdbarch_int_bit(struct gdbarch *gdbarch)
static const yytype_int8 yypgoto[]
struct type ** const(pascal_builtin_types[])
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
#define SYMBOL_CLASS(symbol)
static const yytype_int8 yydefgoto[]
static void yy_reduce_print(yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
static VEC(token_and_value)
int gdbarch_long_bit(struct gdbarch *gdbarch)
const struct block * innermost_block
int have_partial_symbols(void)
#define VEC_safe_push(T, V, O)
static struct obstack tempbuf
int c_parse_escape(const char **ptr, struct obstack *output)
#define yypact_value_is_default(Yystate)
static const char *const yytname[]
#define YYPRINT(FILE, TYPE, VALUE)
int parse_c_float(struct gdbarch *gdbarch, const char *p, int len, DOUBLEST *d, struct type **t)
static const yytype_uint8 yydefact[]
static const struct token ident_tokens[]
static const yytype_uint16 yyrline[]
void null_cleanup(void *arg)
static int classify_unsafe_function(struct stoken function_name)
struct typed_stoken tsval
static int parse_number(struct parser_state *, const char *, int, int, YYSTYPE *)
void write_exp_elt_block(struct parser_state *ps, const struct block *b)
void write_exp_elt_longcst(struct parser_state *ps, LONGEST expelt)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_REDUCE_PRINT(Rule)
int contained_in(const struct block *a, const struct block *b)
struct cleanup * make_cleanup_restore_integer(int *variable)
struct stoken_vector svec
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)
#define gdb_assert_not_reached(message)
const struct builtin_go_type * builtin_go_type(struct gdbarch *gdbarch)
static const struct token tokentab3[]
static const yytype_uint8 yytranslate[]
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
unsigned short int yytype_uint16
#define VEC_index(T, V, I)
const struct block * block_found
#define YY_STACK_PRINT(Bottom, Top)
static const yytype_uint16 yytoknum[]
void write_dollar_variable(struct parser_state *ps, struct stoken str)
void mark_struct_expression(struct parser_state *ps)
struct cleanup * make_cleanup_clear_parser_state(struct parser_state **p)
static int classify_packaged_name(const struct block *block)
int go_parse(struct parser_state *par_state)
static int classify_name(struct parser_state *par_state, const struct block *block)
struct type * builtin_float64
void write_exp_msymbol(struct parser_state *ps, struct bound_minimal_symbol bound_msym)
static int parse_string_or_char(const char *tokptr, const char **outptr, struct typed_stoken *value, int *host_chars)
static const struct token tokentab2[]
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 yy_symbol_value_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
struct type * builtin_double
static const yytype_uint8 yystos[]
static int last_was_structop
#define TYPE_CODE(thistype)
static void yy_stack_print(yytype_int16 *yybottom, yytype_int16 *yytop)
struct minimal_symbol * minsym
int gdbarch_long_long_bit(struct gdbarch *gdbarch)
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)
#define obstack_grow_str(OBSTACK, STRING)
#define CHECK_TYPEDEF(TYPE)
int have_full_symbols(void)
static int package_name_p(const char *name, const struct block *block)
static int lex_one_token(struct parser_state *par_state)
const struct block * expression_context_block
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
unsigned long long ULONGEST
struct typed_stoken * tokens
#define SYMBOL_TYPE(symbol)
static void yy_symbol_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep)
static int parse_go_float(struct gdbarch *gdbarch, const char *p, int len, DOUBLEST *d, struct type **t)
#define INTERFACE_KEYWORD
#define TYPE_LENGTH(thistype)
struct type * language_lookup_primitive_type(const struct language_defn *la, struct gdbarch *gdbarch, const char *name)
unsigned char yytype_uint8
#define YYSTACK_ALLOC_MAXIMUM
DEF_VEC_O(token_and_value)
struct cleanup * make_cleanup_obstack_free(struct obstack *obstack)
static const char * prev_lexptr
struct type * builtin_float32
void write_exp_string(struct parser_state *ps, struct stoken str)
void write_exp_elt_type(struct parser_state *ps, struct type *expelt)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
void error(const char *fmt,...)
#define yytable_value_is_error(Yytable_value)
void write_exp_string_vector(struct parser_state *ps, int type, struct stoken_vector *vec)
struct type * lookup_pointer_type(struct type *type)
void do_cleanups(struct cleanup *old_chain)
#define SYMBOL_IS_ARGUMENT(symbol)
char * copy_name(struct stoken token)
struct type * builtin_float
#define VEC_ordered_remove(T, V, I)
const ULONGEST const LONGEST len