52#define YYBISON_VERSION "3.8.2"
55#define YYSKELETON_NAME "yacc.c"
85#define parse_type(ps) builtin_type (ps->gdbarch ())
86#define parse_m2_type(ps) builtin_m2_type (ps->gdbarch ())
90#define GDB_YY_REMAP_PREFIX m2_
100static int yylex (
void);
102static void yyerror (
const char *);
111#line 112 "m2-exp.c.tmp"
115# define YY_CAST(Type, Val) static_cast<Type> (Val)
116# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
118# define YY_CAST(Type, Val) ((Type) (Val))
119# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
122# ifndef YY_NULLPTRPTR
123# if defined __cplusplus
124# if 201103L <= __cplusplus
125# define YY_NULLPTRPTR nullptr
127# define YY_NULLPTRPTR 0
130# define YY_NULLPTRPTR ((void*)0)
228#define FLOAT_FUNC 279
238#define COLONCOLON 289
239#define DOLLAR_VARIABLE 290
240#define ABOVE_COMMA 291
247#define LOGICAL_AND 298
256#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
276#line 277 "m2-exp.c.tmp"
280# define YYSTYPE_IS_TRIVIAL 1
281# define YYSTYPE_IS_DECLARED 1
394#ifndef __PTRDIFF_MAX__
396# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
407#ifdef __INT_LEAST8_MAX__
409#elif defined YY_STDINT_H
415#ifdef __INT_LEAST16_MAX__
417#elif defined YY_STDINT_H
429# undef UINT_LEAST8_MAX
430# undef UINT_LEAST16_MAX
431# define UINT_LEAST8_MAX 255
432# define UINT_LEAST16_MAX 65535
435#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
437#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
438 && UINT_LEAST8_MAX <= INT_MAX)
440#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
446#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
448#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
449 && UINT_LEAST16_MAX <= INT_MAX)
451#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
458# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
459# define YYPTRDIFF_T __PTRDIFF_TYPE__
460# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
461# elif defined PTRDIFF_MAX
465# define YYPTRDIFF_T ptrdiff_t
466# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
468# define YYPTRDIFF_T long
469# define YYPTRDIFF_MAXIMUM LONG_MAX
475# define YYSIZE_T __SIZE_TYPE__
477# define YYSIZE_T size_t
478# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
480# define YYSIZE_T size_t
482# define YYSIZE_T unsigned
486#define YYSIZE_MAXIMUM \
487 YY_CAST (YYPTRDIFF_T, \
488 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
489 ? YYPTRDIFF_MAXIMUM \
490 : YY_CAST (YYSIZE_T, -1)))
492#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
502# if defined YYENABLE_NLS && YYENABLE_NLS
505# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
509# define YY_(Msgid) Msgid
514#ifndef YY_ATTRIBUTE_PURE
515# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
516# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
518# define YY_ATTRIBUTE_PURE
522#ifndef YY_ATTRIBUTE_UNUSED
523# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
524# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
526# define YY_ATTRIBUTE_UNUSED
531#if ! defined lint || defined __GNUC__
532# define YY_USE(E) ((void) (E))
538#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
539# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
540# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
541 _Pragma ("GCC diagnostic push") \
542 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
544# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
545 _Pragma ("GCC diagnostic push") \
546 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
547 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
549# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
550 _Pragma ("GCC diagnostic pop")
552# define YY_INITIAL_VALUE(Value) Value
554#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
555# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
556# define YY_IGNORE_MAYBE_UNINITIALIZED_END
558#ifndef YY_INITIAL_VALUE
559# define YY_INITIAL_VALUE(Value)
562#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
563# define YY_IGNORE_USELESS_CAST_BEGIN \
564 _Pragma ("GCC diagnostic push") \
565 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
566# define YY_IGNORE_USELESS_CAST_END \
567 _Pragma ("GCC diagnostic pop")
569#ifndef YY_IGNORE_USELESS_CAST_BEGIN
570# define YY_IGNORE_USELESS_CAST_BEGIN
571# define YY_IGNORE_USELESS_CAST_END
575#define YY_ASSERT(E) ((void) (0 && (E)))
577#if !defined yyoverflow
581# ifdef YYSTACK_USE_ALLOCA
582# if YYSTACK_USE_ALLOCA
584# define YYSTACK_ALLOC __builtin_alloca
585# elif defined __BUILTIN_VA_ARG_INCR
588# define YYSTACK_ALLOC __alloca
589# elif defined _MSC_VER
590# define alloca _alloca
592# define YYSTACK_ALLOC alloca
593# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
597# define EXIT_SUCCESS 0
606# define YYSTACK_FREE(Ptr) do { ; } while (0)
607# ifndef YYSTACK_ALLOC_MAXIMUM
612# define YYSTACK_ALLOC_MAXIMUM 4032
615# define YYSTACK_ALLOC YYMALLOC
616# define YYSTACK_FREE YYFREE
617# ifndef YYSTACK_ALLOC_MAXIMUM
618# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
620# if (defined __cplusplus && ! defined EXIT_SUCCESS \
621 && ! ((defined YYMALLOC || defined xmalloc) \
622 && (defined YYFREE || defined xfree)))
625# define EXIT_SUCCESS 0
629# define YYMALLOC xmalloc
630# if ! defined xmalloc && ! defined EXIT_SUCCESS
636# if ! defined xfree && ! defined EXIT_SUCCESS
643#if (! defined yyoverflow \
644 && (! defined __cplusplus \
645 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
655# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
659# define YYSTACK_BYTES(N) \
660 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
661 + YYSTACK_GAP_MAXIMUM)
663# define YYCOPY_NEEDED 1
670# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
673 YYPTRDIFF_T yynewbytes; \
674 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
675 Stack = &yyptr->Stack_alloc; \
676 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
677 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
683#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
687# if defined __GNUC__ && 1 < __GNUC__
688# define YYCOPY(Dst, Src, Count) \
689 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
691# define YYCOPY(Dst, Src, Count) \
695 for (yyi = 0; yyi < (Count); yyi++) \
696 (Dst)[yyi] = (Src)[yyi]; \
723#define YYTRANSLATE(YYX) \
724 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
725 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
732 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
733 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
734 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
735 2, 2, 2, 2, 2, 45, 2, 2, 49, 2,
736 61, 65, 53, 51, 36, 52, 2, 54, 2, 2,
737 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
738 39, 43, 40, 2, 50, 2, 2, 2, 2, 2,
739 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
740 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
741 2, 60, 2, 68, 58, 2, 2, 2, 2, 2,
742 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
743 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
744 2, 2, 2, 66, 2, 67, 63, 2, 2, 2,
745 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
746 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
747 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
748 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
749 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
752 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
755 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
756 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
757 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
758 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
759 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
760 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
761 35, 37, 38, 41, 42, 44, 46, 47, 48, 55,
769 0, 153, 153, 154, 157, 163, 168, 167, 174, 178,
770 182, 183, 186, 190, 194, 198, 202, 206, 210, 214,
771 218, 222, 226, 230, 234, 239, 243, 252, 256, 265,
772 272, 275, 279, 283, 287, 289, 299, 295, 313, 310,
773 323, 326, 330, 335, 340, 345, 352, 359, 367, 371,
774 375, 379, 383, 387, 391, 395, 399, 401, 405, 409,
775 413, 417, 421, 425, 429, 436, 440, 444, 451, 458,
776 466, 476, 479, 487, 492, 496, 506, 518, 526, 531,
782#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
793 "\"end of file\"",
"error",
"\"invalid token\"",
"INT",
"HEX",
"ERROR",
794 "UINT",
"M2_TRUE",
"M2_FALSE",
"CHAR",
"FLOAT",
"STRING",
"NAME",
795 "BLOCKNAME",
"IDENT",
"VARNAME",
"TYPENAME",
"SIZE",
"CAP",
"ORD",
796 "HIGH",
"ABS",
"MIN_FUNC",
"MAX_FUNC",
"FLOAT_FUNC",
"VAL",
"CHR",
"ODD",
797 "TRUNC",
"TSIZE",
"INC",
"DEC",
"INCL",
"EXCL",
"COLONCOLON",
798 "DOLLAR_VARIABLE",
"','",
"ABOVE_COMMA",
"ASSIGN",
"'<'",
"'>'",
"LEQ",
799 "GEQ",
"'='",
"NOTEQUAL",
"'#'",
"IN",
"OROR",
"LOGICAL_AND",
"'&'",
800 "'@'",
"'+'",
"'-'",
"'*'",
"'/'",
"DIV",
"MOD",
"UNARY",
"'^'",
"DOT",
801 "'['",
"'('",
"NOT",
"'~'",
"QID",
"')'",
"'{'",
"'}'",
"']'",
"$accept",
802 "start",
"type_exp",
"exp",
"$@1",
"not_exp",
"set",
"$@2",
"$@3",
803 "arglist",
"non_empty_arglist",
"block",
"fblock",
"variable",
"type",
YY_NULLPTRPTR
813#define YYPACT_NINF (-89)
815#define yypact_value_is_default(Yyn) \
816 ((Yyn) == YYPACT_NINF)
818#define YYTABLE_NINF (-75)
820#define yytable_value_is_error(Yyn) \
821 ((Yyn) == YYTABLE_NINF)
827 161, -89, -89, -89, -89, -89, -89, -89, -89, -89,
828 -89, 222, -55, -53, -28, -22, -18, 2, 8, 17,
829 28, 29, 30, 31, 32, 34, 35, 36, -89, 161,
830 -89, 161, -89, -89, 161, 46, -89, 805, 161, -89,
831 -6, -4, -89, -21, 161, 7, -21, 161, 161, 161,
832 161, 83, 83, 161, 83, 161, 161, 161, 161, 161,
833 161, 161, 161, 7, 161, 307, 805, -32, -42, -89,
834 161, 161, 161, 161, 161, 161, 161, 161, -15, 161,
835 161, 161, 161, 161, 161, 161, 161, 161, -89, 88,
836 -89, -89, 7, 14, 161, 161, -24, 335, 363, 391,
837 419, 37, 38, 447, 65, 475, 503, 531, 559, 251,
838 279, 755, 781, 7, -89, 161, -89, 161, 829, -38,
839 -38, -38, -38, -38, -38, -38, 161, -89, 41, 68,
840 90, 146, 205, 205, 7, 7, 7, 7, -89, 161,
841 161, -89, -89, 587, -31, -89, -89, -89, -89, -89,
842 -89, -89, -89, 161, -89, -89, -89, -89, 161, -89,
843 161, -89, 161, 161, 805, 7, 805, -34, -33, -89,
844 -89, 615, 643, 671, 699, 727, 161, -89, -89, -89,
845 -89, -89, -89, -89, 805
853 0, 67, 68, 65, 66, 69, 70, 73, 80, 75,
854 81, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 78, 0,
856 6, 0, 10, 11, 40, 0, 3, 2, 0, 30,
857 0, 77, 71, 4, 0, 24, 0, 0, 0, 0,
858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
859 0, 0, 0, 8, 0, 0, 41, 0, 0, 1,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 5, 0,
862 36, 38, 9, 0, 0, 40, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 7, 47, 0, 34, 0, 64, 60,
865 61, 58, 59, 55, 56, 57, 40, 31, 0, 63,
866 62, 48, 53, 54, 49, 50, 51, 52, 29, 0,
867 40, 79, 76, 0, 0, 72, 12, 13, 15, 14,
868 16, 17, 18, 0, 20, 21, 22, 23, 0, 25,
869 0, 27, 0, 0, 42, 45, 43, 0, 0, 46,
870 35, 0, 0, 0, 0, 0, 0, 37, 39, 19,
877 -89, -89, -89, 0, -89, -89, 26, -89, -89, -88,
878 -89, -89, -89, -89, 54
884 0, 35, 36, 66, 64, 38, 39, 139, 140, 67,
893 37, 10, 176, 115, 115, 115, 47, 144, 48, 79,
894 80, 45, 81, 82, 83, 84, 85, 86, 87, 94,
895 88, 89, 90, 91, 95, 117, 141, 142, 93, 63,
896 -74, 65, 178, 49, 177, 116, 170, 94, 92, 50,
897 94, 145, 95, 51, 65, 95, 69, 97, 98, 99,
898 100, 126, 168, 103, 43, 105, 106, 107, 108, 109,
899 110, 111, 112, 52, 113, 88, 89, 90, 91, 53,
900 118, 119, 120, 121, 122, 123, 124, 125, 54, 129,
901 130, 131, 132, 133, 134, 135, 136, 137, 68, 55,
902 56, 57, 58, 59, 143, 60, 61, 62, 96, 10,
903 138, 153, 150, 151, 127, 101, 102, 95, 104, 0,
904 0, 0, 0, 0, 0, 164, 80, 165, 81, 82,
905 83, 84, 85, 86, 87, 0, 88, 89, 90, 91,
906 0, 0, 128, 0, 0, 0, 0, 0, 0, 166,
907 81, 82, 83, 84, 85, 86, 87, 0, 88, 89,
908 90, 91, 0, 171, 0, 0, 0, 0, 172, 0,
909 173, 0, 174, 175, 1, 0, 0, 2, 3, 4,
910 5, 6, 7, 8, 9, 0, 184, 10, 11, 12,
911 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
912 23, 24, 25, 26, 27, 0, 28, 82, 83, 84,
913 85, 86, 87, 0, 88, 89, 90, 91, 0, 0,
914 0, 0, 29, 30, 0, 0, 0, 0, 0, 0,
915 0, 0, 31, 32, 33, 1, 0, 34, 2, 3,
916 4, 5, 6, 7, 8, 9, 0, 0, 10, 11,
917 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
918 22, 23, 24, 25, 26, 27, 0, 28, 84, 85,
919 86, 87, 0, 88, 89, 90, 91, 0, 0, 0,
920 0, 0, 0, 29, 30, 0, 0, 0, 0, 0,
921 0, 0, 0, 44, 32, 33, 0, 158, 34, 70,
922 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
923 0, 81, 82, 83, 84, 85, 86, 87, 0, 88,
924 89, 90, 91, 0, 0, 160, 159, 70, 71, 72,
925 73, 74, 75, 76, 77, 78, 79, 80, 0, 81,
926 82, 83, 84, 85, 86, 87, 0, 88, 89, 90,
927 91, 0, 0, 0, 161, 70, 71, 72, 73, 74,
928 75, 76, 77, 78, 79, 80, 0, 81, 82, 83,
929 84, 85, 86, 87, 0, 88, 89, 90, 91, 0,
930 0, 0, 114, 70, 71, 72, 73, 74, 75, 76,
931 77, 78, 79, 80, 0, 81, 82, 83, 84, 85,
932 86, 87, 0, 88, 89, 90, 91, 0, 0, 0,
933 146, 70, 71, 72, 73, 74, 75, 76, 77, 78,
934 79, 80, 0, 81, 82, 83, 84, 85, 86, 87,
935 0, 88, 89, 90, 91, 0, 0, 0, 147, 70,
936 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
937 0, 81, 82, 83, 84, 85, 86, 87, 0, 88,
938 89, 90, 91, 0, 0, 0, 148, 70, 71, 72,
939 73, 74, 75, 76, 77, 78, 79, 80, 0, 81,
940 82, 83, 84, 85, 86, 87, 0, 88, 89, 90,
941 91, 0, 0, 0, 149, 70, 71, 72, 73, 74,
942 75, 76, 77, 78, 79, 80, 0, 81, 82, 83,
943 84, 85, 86, 87, 0, 88, 89, 90, 91, 0,
944 0, 0, 152, 70, 71, 72, 73, 74, 75, 76,
945 77, 78, 79, 80, 0, 81, 82, 83, 84, 85,
946 86, 87, 0, 88, 89, 90, 91, 0, 0, 0,
947 154, 70, 71, 72, 73, 74, 75, 76, 77, 78,
948 79, 80, 0, 81, 82, 83, 84, 85, 86, 87,
949 0, 88, 89, 90, 91, 0, 0, 0, 155, 70,
950 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
951 0, 81, 82, 83, 84, 85, 86, 87, 0, 88,
952 89, 90, 91, 0, 0, 0, 156, 70, 71, 72,
953 73, 74, 75, 76, 77, 78, 79, 80, 0, 81,
954 82, 83, 84, 85, 86, 87, 0, 88, 89, 90,
955 91, 0, 0, 0, 157, 70, 71, 72, 73, 74,
956 75, 76, 77, 78, 79, 80, 0, 81, 82, 83,
957 84, 85, 86, 87, 0, 88, 89, 90, 91, 0,
958 0, 0, 169, 70, 71, 72, 73, 74, 75, 76,
959 77, 78, 79, 80, 0, 81, 82, 83, 84, 85,
960 86, 87, 0, 88, 89, 90, 91, 0, 0, 0,
961 179, 70, 71, 72, 73, 74, 75, 76, 77, 78,
962 79, 80, 0, 81, 82, 83, 84, 85, 86, 87,
963 0, 88, 89, 90, 91, 0, 0, 0, 180, 70,
964 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
965 0, 81, 82, 83, 84, 85, 86, 87, 0, 88,
966 89, 90, 91, 0, 0, 0, 181, 70, 71, 72,
967 73, 74, 75, 76, 77, 78, 79, 80, 0, 81,
968 82, 83, 84, 85, 86, 87, 0, 88, 89, 90,
969 91, 0, 0, 0, 182, 70, 71, 72, 73, 74,
970 75, 76, 77, 78, 79, 80, 0, 81, 82, 83,
971 84, 85, 86, 87, 0, 88, 89, 90, 91, 0,
972 0, 162, 183, 70, 71, 72, 73, 74, 75, 76,
973 77, 78, 79, 80, 0, 81, 82, 83, 84, 85,
974 86, 87, 0, 88, 89, 90, 91, 163, 0, 70,
975 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
976 0, 81, 82, 83, 84, 85, 86, 87, 0, 88,
977 89, 90, 91, 70, 71, 72, 73, 74, 75, 76,
978 77, 78, 79, 80, 0, 81, 82, 83, 84, 85,
979 86, 87, 0, 88, 89, 90, 91, -75, 71, 72,
980 73, 74, 75, 76, 77, 78, 79, 80, 0, 81,
981 82, 83, 84, 85, 86, 87, 0, 88, 89, 90,
987 0, 16, 36, 36, 36, 36, 61, 95, 61, 47,
988 48, 11, 50, 51, 52, 53, 54, 55, 56, 61,
989 58, 59, 60, 61, 66, 67, 12, 13, 34, 29,
990 34, 31, 65, 61, 68, 67, 67, 61, 38, 61,
991 61, 65, 66, 61, 44, 66, 0, 47, 48, 49,
992 50, 66, 140, 53, 0, 55, 56, 57, 58, 59,
993 60, 61, 62, 61, 64, 58, 59, 60, 61, 61,
994 70, 71, 72, 73, 74, 75, 76, 77, 61, 79,
995 80, 81, 82, 83, 84, 85, 86, 87, 34, 61,
996 61, 61, 61, 61, 94, 61, 61, 61, 44, 16,
997 12, 36, 65, 65, 78, 51, 52, 66, 54, -1,
998 -1, -1, -1, -1, -1, 115, 48, 117, 50, 51,
999 52, 53, 54, 55, 56, -1, 58, 59, 60, 61,
1000 -1, -1, 78, -1, -1, -1, -1, -1, -1, 139,
1001 50, 51, 52, 53, 54, 55, 56, -1, 58, 59,
1002 60, 61, -1, 153, -1, -1, -1, -1, 158, -1,
1003 160, -1, 162, 163, 3, -1, -1, 6, 7, 8,
1004 9, 10, 11, 12, 13, -1, 176, 16, 17, 18,
1005 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1006 29, 30, 31, 32, 33, -1, 35, 51, 52, 53,
1007 54, 55, 56, -1, 58, 59, 60, 61, -1, -1,
1008 -1, -1, 51, 52, -1, -1, -1, -1, -1, -1,
1009 -1, -1, 61, 62, 63, 3, -1, 66, 6, 7,
1010 8, 9, 10, 11, 12, 13, -1, -1, 16, 17,
1011 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1012 28, 29, 30, 31, 32, 33, -1, 35, 53, 54,
1013 55, 56, -1, 58, 59, 60, 61, -1, -1, -1,
1014 -1, -1, -1, 51, 52, -1, -1, -1, -1, -1,
1015 -1, -1, -1, 61, 62, 63, -1, 36, 66, 38,
1016 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1017 -1, 50, 51, 52, 53, 54, 55, 56, -1, 58,
1018 59, 60, 61, -1, -1, 36, 65, 38, 39, 40,
1019 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
1020 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
1021 61, -1, -1, -1, 65, 38, 39, 40, 41, 42,
1022 43, 44, 45, 46, 47, 48, -1, 50, 51, 52,
1023 53, 54, 55, 56, -1, 58, 59, 60, 61, -1,
1024 -1, -1, 65, 38, 39, 40, 41, 42, 43, 44,
1025 45, 46, 47, 48, -1, 50, 51, 52, 53, 54,
1026 55, 56, -1, 58, 59, 60, 61, -1, -1, -1,
1027 65, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1028 47, 48, -1, 50, 51, 52, 53, 54, 55, 56,
1029 -1, 58, 59, 60, 61, -1, -1, -1, 65, 38,
1030 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1031 -1, 50, 51, 52, 53, 54, 55, 56, -1, 58,
1032 59, 60, 61, -1, -1, -1, 65, 38, 39, 40,
1033 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
1034 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
1035 61, -1, -1, -1, 65, 38, 39, 40, 41, 42,
1036 43, 44, 45, 46, 47, 48, -1, 50, 51, 52,
1037 53, 54, 55, 56, -1, 58, 59, 60, 61, -1,
1038 -1, -1, 65, 38, 39, 40, 41, 42, 43, 44,
1039 45, 46, 47, 48, -1, 50, 51, 52, 53, 54,
1040 55, 56, -1, 58, 59, 60, 61, -1, -1, -1,
1041 65, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1042 47, 48, -1, 50, 51, 52, 53, 54, 55, 56,
1043 -1, 58, 59, 60, 61, -1, -1, -1, 65, 38,
1044 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1045 -1, 50, 51, 52, 53, 54, 55, 56, -1, 58,
1046 59, 60, 61, -1, -1, -1, 65, 38, 39, 40,
1047 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
1048 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
1049 61, -1, -1, -1, 65, 38, 39, 40, 41, 42,
1050 43, 44, 45, 46, 47, 48, -1, 50, 51, 52,
1051 53, 54, 55, 56, -1, 58, 59, 60, 61, -1,
1052 -1, -1, 65, 38, 39, 40, 41, 42, 43, 44,
1053 45, 46, 47, 48, -1, 50, 51, 52, 53, 54,
1054 55, 56, -1, 58, 59, 60, 61, -1, -1, -1,
1055 65, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1056 47, 48, -1, 50, 51, 52, 53, 54, 55, 56,
1057 -1, 58, 59, 60, 61, -1, -1, -1, 65, 38,
1058 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1059 -1, 50, 51, 52, 53, 54, 55, 56, -1, 58,
1060 59, 60, 61, -1, -1, -1, 65, 38, 39, 40,
1061 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
1062 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
1063 61, -1, -1, -1, 65, 38, 39, 40, 41, 42,
1064 43, 44, 45, 46, 47, 48, -1, 50, 51, 52,
1065 53, 54, 55, 56, -1, 58, 59, 60, 61, -1,
1066 -1, 36, 65, 38, 39, 40, 41, 42, 43, 44,
1067 45, 46, 47, 48, -1, 50, 51, 52, 53, 54,
1068 55, 56, -1, 58, 59, 60, 61, 36, -1, 38,
1069 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1070 -1, 50, 51, 52, 53, 54, 55, 56, -1, 58,
1071 59, 60, 61, 38, 39, 40, 41, 42, 43, 44,
1072 45, 46, 47, 48, -1, 50, 51, 52, 53, 54,
1073 55, 56, -1, 58, 59, 60, 61, 38, 39, 40,
1074 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
1075 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
1083 0, 3, 6, 7, 8, 9, 10, 11, 12, 13,
1084 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1085 26, 27, 28, 29, 30, 31, 32, 33, 35, 51,
1086 52, 61, 62, 63, 66, 70, 71, 72, 74, 75,
1087 80, 81, 82, 83, 61, 72, 83, 61, 61, 61,
1088 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1089 61, 61, 61, 72, 73, 72, 72, 78, 83, 0,
1090 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1091 48, 50, 51, 52, 53, 54, 55, 56, 58, 59,
1092 60, 61, 72, 34, 61, 66, 83, 72, 72, 72,
1093 72, 83, 83, 72, 83, 72, 72, 72, 72, 72,
1094 72, 72, 72, 72, 65, 36, 67, 67, 72, 72,
1095 72, 72, 72, 72, 72, 72, 66, 75, 83, 72,
1096 72, 72, 72, 72, 72, 72, 72, 72, 12, 76,
1097 77, 12, 13, 72, 78, 65, 65, 65, 65, 65,
1098 65, 65, 65, 36, 65, 65, 65, 65, 36, 65,
1099 36, 65, 36, 36, 72, 72, 72, 79, 78, 65,
1100 67, 72, 72, 72, 72, 72, 36, 68, 65, 65,
1107 0, 69, 70, 70, 71, 72, 73, 72, 72, 72,
1108 74, 74, 72, 72, 72, 72, 72, 72, 72, 72,
1109 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1110 72, 72, 72, 72, 75, 75, 76, 72, 77, 72,
1111 78, 78, 78, 79, 79, 72, 72, 72, 72, 72,
1112 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1113 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1114 72, 72, 72, 72, 80, 81, 81, 82, 82, 82,
1121 0, 2, 1, 1, 1, 2, 0, 3, 2, 2,
1122 1, 1, 4, 4, 4, 4, 4, 4, 4, 6,
1123 4, 4, 4, 4, 2, 4, 6, 4, 6, 3,
1124 1, 3, 6, 6, 3, 4, 0, 5, 0, 5,
1125 0, 1, 3, 1, 3, 4, 4, 3, 3, 3,
1126 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1127 3, 3, 3, 3, 3, 1, 1, 1, 1, 1,
1128 1, 1, 4, 1, 1, 1, 3, 1, 1, 3,
1135#define yyerrok (yyerrstatus = 0)
1136#define yyclearin (yychar = YYEMPTY)
1138#define YYACCEPT goto yyacceptlab
1139#define YYABORT goto yyabortlab
1140#define YYERROR goto yyerrorlab
1141#define YYNOMEM goto yyexhaustedlab
1144#define YYRECOVERING() (!!yyerrstatus)
1146#define YYBACKUP(Token, Value) \
1148 if (yychar == YYEMPTY) \
1152 YYPOPSTACK (yylen); \
1158 yyerror (YY_("syntax error: cannot back up")); \
1165#define YYERRCODE YYUNDEF
1173# define YYFPRINTF fprintf
1176# define YYDPRINTF(Args) \
1185# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1189 YYFPRINTF (stderr, "%s ", Title); \
1190 yy_symbol_print (stderr, \
1192 YYFPRINTF (stderr, "\n"); \
1205 FILE *yyoutput = yyo;
1239 for (; yybottom <= yytop; yybottom++)
1241 int yybot = *yybottom;
1247# define YY_STACK_PRINT(Bottom, Top) \
1250 yy_stack_print ((Bottom), (Top)); \
1265 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1268 for (yyi = 0; yyi < yynrhs; yyi++)
1273 &
yyvsp[(yyi + 1) - (yynrhs)]);
1278# define YY_REDUCE_PRINT(Rule) \
1281 yy_reduce_print (yyssp, yyvsp, Rule); \
1288# define YYDPRINTF(Args) ((void) 0)
1289# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1290# define YY_STACK_PRINT(Bottom, Top)
1291# define YY_REDUCE_PRINT(Rule)
1297# define YYINITDEPTH 200
1308# define YYMAXDEPTH 10000
1355 int yyerrstatus = 0;
1384#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1390 YYDPRINTF ((stderr,
"Starting parse\n"));
1418#if !defined yyoverflow && !defined YYSTACK_RELOCATE
1425# if defined yyoverflow
1437 yyoverflow (
YY_(
"memory exhausted"),
1461# undef YYSTACK_RELOCATE
1471 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1504 YYDPRINTF ((stderr,
"Reading a token\n"));
1512 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1595#line 1597 "m2-exp.c.tmp"
1601#line 1603 "m2-exp.c.tmp"
1607#line 1609 "m2-exp.c.tmp"
1614#line 1616 "m2-exp.c.tmp"
1620#line 1622 "m2-exp.c.tmp"
1626#line 1628 "m2-exp.c.tmp"
1631 { error (_(
"CAP function is not implemented")); }
1632#line 1634 "m2-exp.c.tmp"
1637 { error (_(
"ORD function is not implemented")); }
1638#line 1640 "m2-exp.c.tmp"
1643 { error (_(
"ABS function is not implemented")); }
1644#line 1646 "m2-exp.c.tmp"
1650#line 1652 "m2-exp.c.tmp"
1655 { error (_(
"MIN function is not implemented")); }
1656#line 1658 "m2-exp.c.tmp"
1661 { error (_(
"MAX function is not implemented")); }
1662#line 1664 "m2-exp.c.tmp"
1667 { error (_(
"FLOAT function is not implemented")); }
1668#line 1670 "m2-exp.c.tmp"
1673 { error (_(
"VAL function is not implemented")); }
1674#line 1676 "m2-exp.c.tmp"
1679 { error (_(
"CHR function is not implemented")); }
1680#line 1682 "m2-exp.c.tmp"
1685 { error (_(
"ODD function is not implemented")); }
1686#line 1688 "m2-exp.c.tmp"
1691 { error (_(
"TRUNC function is not implemented")); }
1692#line 1694 "m2-exp.c.tmp"
1698#line 1700 "m2-exp.c.tmp"
1704#line 1706 "m2-exp.c.tmp"
1710#line 1712 "m2-exp.c.tmp"
1719 (BINOP_ADD, std::move (lhs), std::move (rhs));
1721#line 1723 "m2-exp.c.tmp"
1727#line 1729 "m2-exp.c.tmp"
1736 (BINOP_SUB, std::move (lhs), std::move (rhs));
1738#line 1740 "m2-exp.c.tmp"
1747#line 1749 "m2-exp.c.tmp"
1752 { error (_(
"Sets are not implemented."));}
1753#line 1755 "m2-exp.c.tmp"
1758 { error (_(
"Sets are not implemented."));}
1759#line 1761 "m2-exp.c.tmp"
1764 { error (_(
"Sets are not implemented."));}
1765#line 1767 "m2-exp.c.tmp"
1770 { error (_(
"Sets are not implemented."));}
1771#line 1773 "m2-exp.c.tmp"
1776 { error (_(
"Sets are not implemented."));}
1777#line 1779 "m2-exp.c.tmp"
1783#line 1785 "m2-exp.c.tmp"
1790 std::vector<operation_up> args
1795#line 1797 "m2-exp.c.tmp"
1801#line 1803 "m2-exp.c.tmp"
1807 std::vector<operation_up> args
1812#line 1814 "m2-exp.c.tmp"
1818#line 1820 "m2-exp.c.tmp"
1824#line 1826 "m2-exp.c.tmp"
1830#line 1832 "m2-exp.c.tmp"
1836#line 1838 "m2-exp.c.tmp"
1845#line 1847 "m2-exp.c.tmp"
1854#line 1856 "m2-exp.c.tmp"
1860#line 1862 "m2-exp.c.tmp"
1866#line 1868 "m2-exp.c.tmp"
1872#line 1874 "m2-exp.c.tmp"
1878#line 1880 "m2-exp.c.tmp"
1884#line 1886 "m2-exp.c.tmp"
1890#line 1892 "m2-exp.c.tmp"
1896#line 1898 "m2-exp.c.tmp"
1902#line 1904 "m2-exp.c.tmp"
1908#line 1910 "m2-exp.c.tmp"
1914#line 1916 "m2-exp.c.tmp"
1920#line 1922 "m2-exp.c.tmp"
1926#line 1928 "m2-exp.c.tmp"
1932#line 1934 "m2-exp.c.tmp"
1938#line 1940 "m2-exp.c.tmp"
1944#line 1946 "m2-exp.c.tmp"
1950#line 1952 "m2-exp.c.tmp"
1956#line 1958 "m2-exp.c.tmp"
1962#line 1964 "m2-exp.c.tmp"
1968#line 1970 "m2-exp.c.tmp"
1974#line 1976 "m2-exp.c.tmp"
1983#line 1985 "m2-exp.c.tmp"
1992#line 1994 "m2-exp.c.tmp"
2001#line 2003 "m2-exp.c.tmp"
2008 std::copy (std::begin ((
yyvsp[0].val)), std::end ((
yyvsp[0].val)),
2013#line 2015 "m2-exp.c.tmp"
2021 (
yyvsp[-1].tval)->length ());
2023#line 2025 "m2-exp.c.tmp"
2028 { error (_(
"strings are not implemented")); }
2029#line 2031 "m2-exp.c.tmp"
2034 { (
yyval.bval) = (
yyvsp[0].sym)->value_block (); }
2035#line 2037 "m2-exp.c.tmp"
2045#line 2047 "m2-exp.c.tmp"
2054 error (_(
"No function \"%s\" in specified context."),
2058#line 2060 "m2-exp.c.tmp"
2067#line 2069 "m2-exp.c.tmp"
2073#line 2075 "m2-exp.c.tmp"
2083 error (_(
"No symbol \"%s\" in specified context."),
2090#line 2092 "m2-exp.c.tmp"
2103 &is_a_field_of_this);
2107#line 2109 "m2-exp.c.tmp"
2118#line 2120 "m2-exp.c.tmp"
2122#line 2124 "m2-exp.c.tmp"
2172 if (yyerrstatus == 3)
2339 else if(p[len-1] ==
'C' || p[len-1] ==
'B')
2342 ischar = p[len-1] ==
'C';
2347 for (c = 0; c < len; c++)
2349 if (p[c] ==
'.' && base == 10)
2360 if (p[c] ==
'.' && base != 10)
2361 error (_(
"Floating point numbers must be base 10."));
2362 if (base == 10 && (p[c] <
'0' || p[c] >
'9'))
2363 error (_(
"Invalid digit \'%c\' in number."),p[c]);
2370 if( base == 8 && (c ==
'8' || c ==
'9'))
2371 error (_(
"Invalid digit \'%c\' in octal number."),c);
2372 if (c >=
'0' && c <=
'9')
2376 if (base == 16 && c >=
'A' && c <=
'F')
2384 if (n == 0 && prevn == 0)
2393 if(*p ==
'B' || *p ==
'C' || *p ==
'H')
2416 error (_(
"Overflow on numeric constant."));
2430 { {
'<',
'='},
LEQ },
2431 { {
'>',
'='},
GEQ },
2485 const char *tokstart;
2503 switch (c = *tokstart)
2565 for (namelen = 1; (c = tokstart[namelen]) != quote && c !=
'\0'; namelen++)
2568 c = tokstart[++namelen];
2569 if (c >=
'0' && c <=
'9')
2571 c = tokstart[++namelen];
2572 if (c >=
'0' && c <=
'9')
2573 c = tokstart[++namelen];
2577 error (_(
"Unterminated string or character constant."));
2594 if ((c >=
'0' && c <=
'9'))
2597 int got_dot = 0, got_e = 0;
2598 const char *p = tokstart;
2603 if (!got_e && (*p ==
'e' || *p ==
'E'))
2604 got_dot = got_e = 1;
2605 else if (!got_dot && *p ==
'.')
2607 else if (got_e && (p[-1] ==
'e' || p[-1] ==
'E')
2608 && (*p ==
'-' || *p ==
'+'))
2612 else if ((*p <
'0' || *p >
'9') &&
2613 (*p <
'A' || *p >
'F') &&
2618 if (toktype ==
ERROR)
2620 char *err_copy = (
char *) alloca (p - tokstart + 1);
2622 memcpy (err_copy, tokstart, p - tokstart);
2623 err_copy[p - tokstart] = 0;
2624 error (_(
"Invalid number \"%s\"."), err_copy);
2630 if (!(c ==
'_' || c ==
'$'
2631 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z')))
2633 error (_(
"Invalid character '%c' in expression."), c);
2637 for (c = tokstart[namelen];
2638 (c ==
'_' || c ==
'$' || (c >=
'0' && c <=
'9')
2639 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z'));
2640 c = tokstart[++namelen])
2645 if (namelen == 2 && tokstart[0] ==
'i' && tokstart[1] ==
'f')
2653 for(i = 0 ; i < (int) (
sizeof(
keytab) /
sizeof(
keytab[0])) ; i++)
2655 && strncmp (tokstart,
keytab[i].
keyw, namelen) == 0)
2661 if (*tokstart ==
'$')
2706 error (_(
"internal: Undefined class in m2lex()"));
2710 error (_(
"internal: Unforseen case in m2lex()"));
2713 error (_(
"unhandled token in m2lex()"));
2720 if (startswith (tokstart,
"TRUE"))
2725 else if (startswith (tokstart,
"FALSE"))
2741 scoped_restore pstate_restore = make_scoped_restore (&
pstate);
2742 gdb_assert (par_state != NULL);
2758 error (_(
"A %s in expression, near `%s'."), msg,
pstate->
lexptr);
static struct parser_state * pstate
void update(const struct block *b, innermost_block_tracker_types t)
int parser(struct parser_state *ps) const override
int symbol_read_needs_frame(struct symbol *sym)
int gdbarch_int_bit(struct gdbarch *gdbarch)
struct type * lookup_typename(const struct language_defn *language, const char *name, const struct block *block, int noerr)
void range_error(const char *string,...)
static const char * yysymbol_name(yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
static const yytype_int8 yytranslate[]
@ YYSYMBOL_non_empty_arglist
@ YYSYMBOL_DOLLAR_VARIABLE
static void yy_symbol_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
static const yytype_int8 yydefact[]
#define YY_IGNORE_USELESS_CAST_END
static struct @85 tokentab2[]
static const yytype_int16 yyrline[]
static int parse_number(int)
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
static struct parser_state * pstate
static const yytype_int16 yypact[]
static const yytype_uint8 yydefgoto[]
#define YY_ACCESSING_SYMBOL(State)
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
#define YY_STACK_PRINT(Bottom, Top)
static void yy_symbol_value_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
#define YY_IGNORE_USELESS_CAST_BEGIN
static const yytype_int8 yyr2[]
static void yy_reduce_print(yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
static const yytype_int16 yytable[]
#define yytable_value_is_error(Yyn)
static const yytype_int8 yystos[]
#define YY_ATTRIBUTE_UNUSED
static const char *const yytname[]
static const yytype_int8 yypgoto[]
static const yytype_int8 yyr1[]
enum yytokentype yytoken_kind_t
#define parse_m2_type(ps)
static struct keyword keytab[]
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define yypact_value_is_default(Yyn)
static void yy_stack_print(yy_state_t *yybottom, yy_state_t *yytop)
static const yytype_int16 yycheck[]
std::unique_ptr< operation > operation_up
std::array< gdb_byte, 16 > float_data
bool parse_float(const char *p, int len, const struct type *type, gdb_byte *data)
bool fits_in_type(int n_sign, ULONGEST n, int type_bits, bool type_signed_p)
std::string copy_name(struct stoken token)
void set_operation(expr::operation_up &&op)
const struct language_defn * language()
struct gdbarch * gdbarch()
void push_new(Arg... args)
const struct block *const expression_context_block
std::vector< expr::operation_up > pop_vector(int n)
void push_dollar(struct stoken str)
void push_symbol(const char *name, block_symbol sym)
innermost_block_tracker * block_tracker
address_class aclass() const
struct block_symbol lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
struct symtab * lookup_symtab(const char *name)
const struct block * bval
struct internalvar * ivar
std::vector< struct type * > * tvec