52 #define YYBISON_VERSION "3.7.5"
55 #define YYSKELETON_NAME "yacc.c"
67 #define YYSTYPE OCTAVE_STYPE
69 #define yyparse octave_parse
70 #define yypush_parse octave_push_parse
71 #define yypull_parse octave_pull_parse
72 #define yypstate_new octave_pstate_new
73 #define yypstate_clear octave_pstate_clear
74 #define yypstate_delete octave_pstate_delete
75 #define yypstate octave_pstate
76 #define yylex octave_lex
77 #define yyerror octave_error
78 #define yydebug octave_debug
79 #define yynerrs octave_nerrs
82 #line 30 "../libinterp/parse-tree/oct-parse.yy"
87 #if defined (HAVE_CONFIG_H)
110 #include "builtin-defun-decls.h"
146 #define lexer (parser.get_lexer ())
147 #define scanner lexer.m_scanner
155 #define OCTAVE_YYUSE(X)
157 #if defined (HAVE_PRAGMA_GCC_DIAGNOSTIC)
162 # pragma GCC diagnostic push
163 # pragma GCC diagnostic ignored "-Wold-style-cast"
167 #line 168 "libinterp/parse-tree/oct-parse.cc"
171 # define YY_CAST(Type, Val) static_cast<Type> (Val)
172 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
174 # define YY_CAST(Type, Val) ((Type) (Val))
175 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
179 # if defined __cplusplus
180 # if 201103L <= __cplusplus
181 # define YY_NULLPTR nullptr
183 # define YY_NULLPTR 0
186 # define YY_NULLPTR ((void*)0)
192 #ifndef YY_OCTAVE_LIBINTERP_PARSE_TREE_OCT_PARSE_H_INCLUDED
193 # define YY_OCTAVE_LIBINTERP_PARSE_TREE_OCT_PARSE_H_INCLUDED
198 # define OCTAVE_DEBUG 1
200 # define OCTAVE_DEBUG 0
203 # define OCTAVE_DEBUG 0
211 #ifndef OCTAVE_TOKENTYPE
212 # define OCTAVE_TOKENTYPE
301 #define OCTAVE_EMPTY -2
303 #define OCTAVE_error 256
304 #define OCTAVE_UNDEF 257
309 #define LEFTDIV_EQ 262
313 #define ELEFTDIV_EQ 266
317 #define EXPR_AND_AND 270
318 #define EXPR_OR_OR 271
334 #define HERMITIAN 287
335 #define TRANSPOSE 288
336 #define PLUS_PLUS 289
337 #define MINUS_MINUS 290
342 #define STRUCT_ELT 295
345 #define DQ_STRING 298
346 #define SQ_STRING 299
357 #define OTHERWISE 310
366 #define PERSISTENT 319
367 #define FCN_HANDLE 320
369 #define PROPERTIES 322
372 #define ENUMERATION 325
373 #define METAQUERY 326
374 #define SUPERCLASSREF 327
379 #define LEXICAL_ERROR 332
380 #define END_OF_INPUT 333
381 #define INPUT_FILE 334
385 #if ! defined OCTAVE_STYPE && ! defined OCTAVE_STYPE_IS_DECLARED
388 #line 139 "../libinterp/parse-tree/oct-parse.yy"
447 #line 448 "libinterp/parse-tree/oct-parse.cc"
451 # define OCTAVE_STYPE_IS_TRIVIAL 1
452 # define OCTAVE_STYPE_IS_DECLARED 1
457 #ifndef YYPUSH_MORE_DEFINED
458 # define YYPUSH_MORE_DEFINED
703 #ifndef __PTRDIFF_MAX__
705 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
716 #ifdef __INT_LEAST8_MAX__
718 #elif defined YY_STDINT_H
724 #ifdef __INT_LEAST16_MAX__
726 #elif defined YY_STDINT_H
738 # undef UINT_LEAST8_MAX
739 # undef UINT_LEAST16_MAX
740 # define UINT_LEAST8_MAX 255
741 # define UINT_LEAST16_MAX 65535
744 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
746 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
747 && UINT_LEAST8_MAX <= INT_MAX)
749 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
755 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
757 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
758 && UINT_LEAST16_MAX <= INT_MAX)
760 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
767 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
768 # define YYPTRDIFF_T __PTRDIFF_TYPE__
769 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
770 # elif defined PTRDIFF_MAX
774 # define YYPTRDIFF_T ptrdiff_t
775 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
777 # define YYPTRDIFF_T long
778 # define YYPTRDIFF_MAXIMUM LONG_MAX
783 # ifdef __SIZE_TYPE__
784 # define YYSIZE_T __SIZE_TYPE__
785 # elif defined size_t
786 # define YYSIZE_T size_t
787 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
789 # define YYSIZE_T size_t
791 # define YYSIZE_T unsigned
795 #define YYSIZE_MAXIMUM \
796 YY_CAST (YYPTRDIFF_T, \
797 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
798 ? YYPTRDIFF_MAXIMUM \
799 : YY_CAST (YYSIZE_T, -1)))
801 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
811 # if defined YYENABLE_NLS && YYENABLE_NLS
813 # include <libintl.h>
814 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
818 # define YY_(Msgid) Msgid
823 #ifndef YY_ATTRIBUTE_PURE
824 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
825 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
827 # define YY_ATTRIBUTE_PURE
831 #ifndef YY_ATTRIBUTE_UNUSED
832 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
833 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
835 # define YY_ATTRIBUTE_UNUSED
840 #if ! defined lint || defined __GNUC__
841 # define YY_USE(E) ((void) (E))
846 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
848 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
849 _Pragma ("GCC diagnostic push") \
850 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
851 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
852 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
853 _Pragma ("GCC diagnostic pop")
855 # define YY_INITIAL_VALUE(Value) Value
857 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
858 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
859 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
861 #ifndef YY_INITIAL_VALUE
862 # define YY_INITIAL_VALUE(Value)
865 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
866 # define YY_IGNORE_USELESS_CAST_BEGIN \
867 _Pragma ("GCC diagnostic push") \
868 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
869 # define YY_IGNORE_USELESS_CAST_END \
870 _Pragma ("GCC diagnostic pop")
872 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
873 # define YY_IGNORE_USELESS_CAST_BEGIN
874 # define YY_IGNORE_USELESS_CAST_END
878 #define YY_ASSERT(E) ((void) (0 && (E)))
880 #if !defined yyoverflow
884 # ifdef YYSTACK_ALLOC
886 # define YYSTACK_FREE(Ptr) do { ; } while (0)
887 # ifndef YYSTACK_ALLOC_MAXIMUM
892 # define YYSTACK_ALLOC_MAXIMUM 4032
895 # define YYSTACK_ALLOC YYMALLOC
896 # define YYSTACK_FREE YYFREE
897 # ifndef YYSTACK_ALLOC_MAXIMUM
898 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
900 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
901 && ! ((defined YYMALLOC || defined malloc) \
902 && (defined YYFREE || defined free)))
904 # ifndef EXIT_SUCCESS
905 # define EXIT_SUCCESS 0
909 # define YYMALLOC malloc
910 # if ! defined malloc && ! defined EXIT_SUCCESS
916 # if ! defined free && ! defined EXIT_SUCCESS
923 #if (! defined yyoverflow \
924 && (! defined __cplusplus \
925 || (defined OCTAVE_STYPE_IS_TRIVIAL && OCTAVE_STYPE_IS_TRIVIAL)))
935 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
939 # define YYSTACK_BYTES(N) \
940 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
941 + YYSTACK_GAP_MAXIMUM)
943 # define YYCOPY_NEEDED 1
950 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
953 YYPTRDIFF_T yynewbytes; \
954 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
955 Stack = &yyptr->Stack_alloc; \
956 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
957 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
963 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
967 # if defined __GNUC__ && 1 < __GNUC__
968 # define YYCOPY(Dst, Src, Count) \
969 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
971 # define YYCOPY(Dst, Src, Count) \
975 for (yyi = 0; yyi < (Count); yyi++) \
976 (Dst)[yyi] = (Src)[yyi]; \
995 #define YYNSTATES 529
998 #define YYMAXUTOK 335
1003 #define YYTRANSLATE(YYX) \
1004 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
1005 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
1012 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1013 19, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1014 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1015 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1016 9, 10, 7, 6, 17, 5, 15, 8, 2, 2,
1017 2, 2, 2, 2, 2, 2, 2, 2, 4, 18,
1018 2, 3, 2, 2, 16, 2, 2, 2, 2, 2,
1019 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1020 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1021 2, 11, 2, 12, 2, 2, 2, 2, 2, 2,
1022 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1023 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1024 2, 2, 2, 13, 2, 14, 2, 2, 2, 2,
1025 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1026 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1027 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1028 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1029 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1030 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1031 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1032 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1033 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1034 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1035 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1036 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1037 2, 2, 2, 2, 2, 2, 1, 2, 20, 21,
1038 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1039 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1040 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1041 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1042 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1043 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1044 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1045 92, 93, 94, 95, 96, 97
1052 0, 391, 391, 400, 410, 417, 423, 427, 429, 434,
1053 435, 439, 443, 445, 450, 451, 455, 463, 468, 475,
1054 477, 479, 491, 503, 505, 516, 525, 536, 545, 547,
1055 551, 553, 555, 559, 563, 565, 581, 585, 587, 612,
1056 613, 619, 621, 627, 633, 642, 650, 662, 675, 677,
1057 679, 681, 686, 688, 690, 692, 701, 710, 718, 720,
1058 722, 724, 731, 738, 747, 756, 758, 760, 762, 774,
1059 786, 798, 810, 812, 814, 816, 823, 825, 827, 829,
1060 831, 833, 835, 837, 839, 841, 843, 845, 847, 849,
1061 851, 853, 855, 859, 861, 863, 865, 877, 889, 901,
1062 913, 915, 922, 924, 926, 928, 930, 934, 946, 961,
1063 963, 965, 967, 969, 971, 973, 975, 977, 979, 981,
1064 983, 987, 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015,
1065 1017, 1019, 1021, 1023, 1025, 1029, 1044, 1051, 1059, 1061,
1066 1063, 1065, 1067, 1069, 1071, 1079, 1084, 1091, 1093, 1101,
1067 1106, 1108, 1121, 1123, 1131, 1141, 1143, 1150, 1158, 1165,
1068 1176, 1189, 1202, 1203, 1205, 1207, 1214, 1216, 1223, 1232,
1069 1245, 1257, 1264, 1276, 1290, 1302, 1323, 1328, 1333, 1341,
1070 1354, 1367, 1385, 1397, 1414, 1425, 1426, 1430, 1437, 1446,
1071 1447, 1464, 1466, 1475, 1477, 1485, 1494, 1513, 1533, 1537,
1072 1552, 1556, 1565, 1569, 1597, 1616, 1625, 1634, 1644, 1656,
1073 1669, 1704, 1711, 1725, 1742, 1762, 1763, 1773, 1775, 1784,
1074 1786, 1793, 1802, 1808, 1820, 1826, 1835, 1840, 1841, 1849,
1075 1851, 1853, 1855, 1857, 1864, 1871, 1878, 1888, 1906, 1907,
1076 1916, 1918, 1950, 1954, 1964, 1981, 1986, 1993, 1996, 1995,
1077 2011, 2013, 2018, 2019, 2027, 2035, 2049, 2067, 2068, 2076,
1078 2078, 2087, 2091, 2109, 2110, 2118, 2120, 2129, 2143, 2150,
1079 2158, 2161, 2167, 2171, 2177, 2183, 2189, 2198, 2199, 2204,
1080 2205, 2209, 2215, 2223, 2229, 2235, 2241, 2247, 2253, 2262,
1086 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
1088 #if OCTAVE_DEBUG || 0
1095 static const char *
const yytname[] =
1097 "\"end of file\"",
"error",
"\"invalid token\"",
"'='",
"':'",
"'-'",
1098 "'+'",
"'*'",
"'/'",
"'('",
"')'",
"'['",
"']'",
"'{'",
"'}'",
"'.'",
1099 "'@'",
"','",
"';'",
"'\\n'",
"ADD_EQ",
"SUB_EQ",
"MUL_EQ",
"DIV_EQ",
1100 "LEFTDIV_EQ",
"POW_EQ",
"EMUL_EQ",
"EDIV_EQ",
"ELEFTDIV_EQ",
"EPOW_EQ",
1101 "AND_EQ",
"OR_EQ",
"EXPR_AND_AND",
"EXPR_OR_OR",
"EXPR_AND",
"EXPR_OR",
1102 "EXPR_NOT",
"EXPR_LT",
"EXPR_LE",
"EXPR_EQ",
"EXPR_NE",
"EXPR_GE",
1103 "EXPR_GT",
"LEFTDIV",
"EMUL",
"EDIV",
"ELEFTDIV",
"EPLUS",
"EMINUS",
1104 "HERMITIAN",
"TRANSPOSE",
"PLUS_PLUS",
"MINUS_MINUS",
"POW",
"EPOW",
1105 "NUM",
"IMAG_NUM",
"STRUCT_ELT",
"NAME",
"END",
"DQ_STRING",
"SQ_STRING",
1106 "FOR",
"PARFOR",
"WHILE",
"DO",
"UNTIL",
"IF",
"ELSEIF",
"ELSE",
1107 "SWITCH",
"CASE",
"OTHERWISE",
"BREAK",
"CONTINUE",
"FUNC_RET",
"UNWIND",
1108 "CLEANUP",
"TRY",
"CATCH",
"GLOBAL",
"PERSISTENT",
"FCN_HANDLE",
1109 "CLASSDEF",
"PROPERTIES",
"METHODS",
"EVENTS",
"ENUMERATION",
1110 "METAQUERY",
"SUPERCLASSREF",
"FQ_IDENT",
"GET",
"SET",
"FCN",
1111 "LEXICAL_ERROR",
"END_OF_INPUT",
"INPUT_FILE",
"UNARY",
"$accept",
1112 "input",
"simple_list",
"simple_list1",
"opt_list",
"list",
"list1",
1113 "opt_fcn_list",
"fcn_list",
"fcn_list1",
"statement",
"word_list_cmd",
1114 "word_list",
"identifier",
"superclass_identifier",
"meta_identifier",
1115 "string",
"constant",
"matrix",
"matrix_rows",
"cell",
"cell_rows",
1116 "cell_or_matrix_row",
"fcn_handle",
"anon_fcn_handle",
"primary_expr",
1117 "magic_colon",
"magic_tilde",
"arg_list",
"indirect_ref_op",
"oper_expr",
1118 "power_expr",
"colon_expr",
"simple_expr",
"assign_lhs",
"assign_expr",
1119 "expression",
"command",
"declaration",
"decl1",
"decl_param_init",
1120 "decl2",
"select_command",
"if_command",
"if_cmd_list",
"if_cmd_list1",
1121 "elseif_clause",
"else_clause",
"switch_command",
"case_list",
1122 "case_list1",
"switch_case",
"default_case",
"loop_command",
1123 "jump_command",
"except_command",
"push_fcn_symtab",
"param_list_beg",
1124 "param_list_end",
"opt_param_list",
"param_list",
"param_list1",
1125 "param_list2",
"param_list_elt",
"return_list",
"return_list1",
1126 "parsing_local_fcns",
"push_script_symtab",
"begin_file",
"file",
1127 "function_beg",
"fcn_name",
"function_end",
"function",
"classdef_beg",
1128 "classdef",
"attr_list",
"attr_list1",
"attr",
"superclass_list",
1129 "superclass_list1",
"superclass",
"class_body",
"class_body1",
1130 "properties_block",
"property_list",
"property_list1",
"class_property",
1131 "methods_block",
"method_decl1",
"method_decl",
"$@1",
"method",
1132 "methods_list",
"methods_list1",
"events_block",
"events_list",
1133 "events_list1",
"class_event",
"enum_block",
"enum_list",
"enum_list1",
1134 "class_enum",
"stmt_begin",
"anon_fcn_begin",
"stash_comment",
1135 "parse_error",
"sep_no_nl",
"opt_sep_no_nl",
"opt_nl",
"nl",
"sep",
1142 return yytname[yysymbol];
1151 0, 256, 257, 61, 58, 45, 43, 42, 47, 40,
1152 41, 91, 93, 123, 125, 46, 64, 44, 59, 10,
1153 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1154 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1155 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1156 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1157 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1158 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1159 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
1160 328, 329, 330, 331, 332, 333, 334, 335
1164 #define YYPACT_NINF (-385)
1166 #define yypact_value_is_default(Yyn) \
1167 ((Yyn) == YYPACT_NINF)
1169 #define YYTABLE_NINF (-291)
1171 #define yytable_value_is_error(Yyn) \
1178 615, -385, 1291, 1291, 1233, 285, 285, 52, -385, -385,
1179 1291, 1291, 1291, -385, -385, -385, -385, -385, -385, -385,
1180 -385, -385, -385, -385, -385, -385, -385, -385, -385, 33,
1181 33, -385, -385, -385, -385, 69, 9, 203, -385, -385,
1182 178, -385, -385, -385, -385, -385, -385, -385, -385, -385,
1183 1420, -385, 1546, 619, -385, -385, -385, -385, -385, -385,
1184 -385, -385, -385, -385, 7, -1, 103, -385, -385, -385,
1185 -385, 261, -385, -385, 197, 197, 135, -385, 1221, 1291,
1186 190, -385, -385, -385, 144, -385, 60, -385, -385, 48,
1187 -385, 197, 197, 197, 1326, 1361, 1233, 218, 1233, 1233,
1188 218, 218, 160, 33, -385, 33, -385, -385, -385, 788,
1189 -385, 178, -385, 1291, 1291, 1291, 1291, 1291, 1031, 1044,
1190 -385, 1291, 1291, 1291, 1291, 1291, 1291, -385, -385, -385,
1191 -385, 1396, 1396, 29, 1291, 1291, 1291, 1291, 1291, 1291,
1192 1291, 1291, 1291, 1291, 1233, 1233, 1233, 1233, 1233, 1233,
1193 1233, 1233, 1233, 1233, 1233, 1233, 1233, -385, -385, -385,
1194 869, 163, 23, -385, -385, -385, 167, -385, 285, 1221,
1195 -385, 285, -385, -385, -385, -385, 182, 177, -385, 41,
1196 1233, 323, 206, 1233, 224, -385, -385, -385, -385, 251,
1197 950, -385, 173, 212, 218, 950, 950, -385, -385, -385,
1198 -385, 1482, 1468, 1468, 197, 197, -385, 55, -385, 96,
1199 197, 197, 197, 197, 1468, 1468, 1396, 1396, 1396, 1396,
1200 1396, -385, 28, 28, 1233, -385, 382, 343, 292, 400,
1201 -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
1202 -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
1203 146, -385, 218, -385, -385, -385, -385, 36, 228, 230,
1204 269, 272, 52, 1221, -385, -385, -385, -385, -385, -385,
1205 -385, 17, -385, -385, 711, 1233, 724, 1233, 218, -385,
1206 -385, -385, 216, 218, -385, -385, -385, -385, -385, 214,
1207 207, -8, 1233, 1291, -385, 1221, -385, 28, 28, 28,
1208 28, 28, 1105, 1163, -385, -385, 30, 277, -385, 707,
1209 -385, 279, 218, -385, -385, 47, 33, 33, 94, 218,
1210 -385, -385, 1233, -385, 1233, -385, 950, 1233, 950, 218,
1211 218, -385, -385, 233, 214, -385, -385, -385, -385, -385,
1212 -385, 1494, -385, 187, -385, 217, 1233, -385, -385, -385,
1213 24, 33, 200, -385, 33, -385, -385, -385, 52, 950,
1214 289, 218, 283, 218, 244, -385, -385, 1233, 950, 218,
1215 218, -385, -385, -385, 218, 218, -385, -385, 295, 33,
1216 303, 188, -385, 218, 215, -385, 218, -385, -385, 218,
1217 -19, 218, 950, 1233, 950, -385, -385, -385, 1233, 950,
1218 950, 950, -385, -385, -385, 218, 24, 270, -385, 200,
1219 950, -385, -385, -385, 950, 265, 325, 280, 218, -385,
1220 -385, 290, 293, 1233, -385, -385, 248, 56, 196, -385,
1221 -19, 294, -385, 218, -385, 950, 218, -385, -385, -385,
1222 -385, -385, -385, -385, -385, -385, 310, 218, -385, -385,
1223 -385, -385, 248, -385, -385, -385, 950, -385, 950, 218,
1224 218, 218, 218, -385, 56, -385, 312, -385, 279, 279,
1225 279, 279, -385, -385, -385, -385, -385, 314, 14, 314,
1226 314, 317, 218, -385, 33, -385, -385, -385, 327, 218,
1227 25, 329, 218, -385, 33, 330, 218, -385, 33, -385,
1228 49, -385, 345, -385, 100, 213, 387, -385, -385, 314,
1229 -385, -385, 314, 384, -385, -385, -385, -385, -385, -385,
1230 -385, 1233, 1233, 33, 381, -385, 52, -385, -385
1238 0, 272, 0, 0, 0, 39, 39, 0, 273, 274,
1239 0, 0, 0, 30, 31, 25, 28, 29, 270, 270,
1240 270, 270, 270, 270, 176, 177, 178, 270, 270, 0,
1241 0, 45, 27, 26, 271, 0, 0, 277, 7, 21,
1242 48, 54, 53, 32, 49, 51, 52, 50, 137, 65,
1243 109, 110, 135, 0, 136, 19, 20, 138, 139, 152,
1244 153, 140, 141, 142, 0, 0, 279, 144, 270, 143,
1245 4, 278, 5, 48, 80, 79, 0, 56, 40, 57,
1246 0, 34, 59, 60, 41, 58, 0, 37, 183, 0,
1247 269, 78, 76, 77, 0, 0, 0, 289, 0, 0,
1248 289, 289, 150, 145, 147, 146, 1, 2, 3, 278,
1249 6, 22, 23, 0, 0, 0, 0, 0, 0, 0,
1250 64, 0, 0, 0, 0, 0, 0, 72, 73, 66,
1251 67, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 205, 202, 281,
1254 9, 280, 0, 275, 276, 55, 43, 33, 39, 42,
1255 36, 39, 188, 57, 194, 193, 0, 190, 191, 0,
1256 0, 121, 0, 0, 0, 268, 283, 284, 285, 290,
1257 9, 268, 0, 155, 289, 9, 9, 149, 148, 8,
1258 24, 107, 84, 83, 85, 86, 68, 0, 70, 0,
1259 91, 89, 90, 92, 87, 88, 0, 0, 0, 0,
1260 0, 93, 81, 82, 0, 74, 119, 120, 117, 118,
1261 111, 112, 113, 116, 114, 115, 122, 123, 124, 125,
1262 126, 127, 128, 129, 130, 131, 132, 133, 134, 213,
1263 0, 10, 289, 12, 270, 200, 282, 0, 0, 0,
1264 206, 0, 185, 44, 35, 61, 62, 63, 38, 184,
1265 187, 0, 47, 46, 0, 0, 0, 0, 289, 286,
1266 287, 288, 0, 289, 154, 270, 270, 158, 156, 162,
1267 0, 0, 0, 0, 69, 0, 71, 106, 105, 104,
1268 102, 103, 0, 0, 94, 95, 0, 0, 203, 290,
1269 11, 215, 289, 195, 198, 0, 0, 0, 0, 289,
1270 186, 192, 0, 268, 0, 268, 9, 0, 9, 289,
1271 289, 270, 270, 0, 164, 166, 163, 270, 181, 270,
1272 151, 108, 96, 0, 98, 0, 0, 100, 75, 13,
1273 0, 0, 14, 197, 0, 207, 208, 206, 185, 9,
1274 0, 289, 122, 289, 0, 171, 157, 0, 9, 289,
1275 289, 161, 167, 165, 289, 289, 97, 99, 0, 0,
1276 219, 0, 217, 289, 0, 15, 289, 17, 199, 289,
1277 0, 289, 9, 0, 9, 170, 268, 160, 0, 9,
1278 9, 9, 101, 221, 149, 289, 0, 222, 204, 16,
1279 9, 209, 210, 211, 9, 0, 0, 0, 289, 268,
1280 169, 0, 0, 0, 216, 218, 0, 227, 289, 18,
1281 0, 0, 172, 289, 174, 9, 289, 179, 180, 220,
1282 226, 224, 270, 270, 270, 270, 0, 289, 229, 230,
1283 231, 232, 0, 223, 212, 173, 9, 159, 9, 289,
1284 289, 289, 289, 214, 228, 225, 0, 168, 215, 215,
1285 215, 215, 233, 234, 235, 236, 175, 238, 270, 257,
1286 263, 0, 289, 240, 0, 251, 250, 254, 0, 289,
1287 0, 0, 289, 259, 0, 0, 289, 265, 0, 237,
1288 270, 239, 242, 244, 270, 245, 0, 247, 256, 258,
1289 261, 262, 264, 0, 241, 149, 255, 246, 248, 260,
1290 266, 0, 0, 0, 0, 243, 245, 249, 267
1296 -385, -385, -385, -385, 118, -385, -385, -385, -385, -385,
1297 2, -385, -385, 0, -385, -385, -23, -385, -385, -385,
1298 -385, -385, 12, -385, -385, -69, -142, -84, -74, -45,
1299 11, -62, -385, 124, -63, -385, 20, -385, -385, 365,
1300 -384, -70, -385, -385, -385, -385, -385, -385, -385, -385,
1301 -385, 62, 63, -385, -385, -385, -385, -385, -385, 40,
1302 -6, -385, -385, 131, -87, -385, -385, -385, -385, -385,
1303 -385, 86, -25, -297, -385, -385, -245, -385, 1, -385,
1304 -385, -44, -385, -385, -55, -385, -385, -89, -52, -108,
1305 -385, -385, -79, -385, -385, -38, -385, -385, -82, -35,
1306 -385, -385, -76, -179, -385, -12, -385, 408, 410, -385,
1313 0, 35, 36, 37, 250, 251, 252, 384, 385, 386,
1314 253, 39, 111, 73, 41, 42, 43, 44, 45, 80,
1315 46, 86, 81, 47, 48, 49, 82, 83, 84, 133,
1316 50, 222, 51, 52, 53, 54, 55, 56, 57, 103,
1317 292, 104, 58, 59, 192, 193, 287, 288, 60, 333,
1318 334, 335, 336, 61, 62, 63, 64, 89, 270, 319,
1319 320, 176, 177, 178, 261, 315, 312, 65, 66, 67,
1320 68, 262, 413, 69, 254, 255, 351, 381, 382, 427,
1321 428, 441, 446, 447, 448, 481, 482, 483, 449, 507,
1322 486, 523, 487, 488, 489, 450, 491, 492, 493, 451,
1323 495, 496, 497, 278, 179, 484, 70, 71, 72, 160,
1332 40, 90, 38, 309, 166, 174, 94, 95, 96, 97,
1333 98, 99, 283, 74, 75, 100, 101, 112, 87, 175,
1334 423, 91, 92, 93, 76, 85, 85, 265, 107, 102,
1335 102, 182, 184, 198, 257, 198, 257, 302, 224, 346,
1336 411, 303, 272, 120, 207, 209, 2, 3, 313, 172,
1337 4, 338, 5, 173, 6, 387, 162, 7, -189, 353,
1338 379, 88, 221, 221, 354, 294, 279, 280, 281, 106,
1339 223, 339, 295, -252, 170, 15, 412, 10, 171, 304,
1340 305, 15, 15, 15, 173, 266, 225, 347, 200, 102,
1341 91, 15, 11, 12, 15, 158, 13, 14, 85, 15,
1342 157, 16, 17, 102, 108, 102, 15, -182, -290, 40,
1343 296, 199, 429, 295, 258, 259, 185, 274, 191, 194,
1344 276, 265, 159, 31, 201, 202, 203, 204, 205, 32,
1345 33, 522, 210, 211, 212, 213, 214, 215, 85, 85,
1346 442, 443, 444, 445, 361, 165, 363, 221, 221, 221,
1347 221, 221, 15, 265, 297, 298, 299, 300, 301, -253,
1348 40, 169, 260, 197, 236, 237, 238, 239, 240, 241,
1349 242, 243, 244, 245, 246, 247, 248, 306, 306, 266,
1350 264, 485, 256, 268, 263, 258, 259, 174, 85, 267,
1351 40, 85, 269, -182, 271, 40, 40, 376, 405, 273,
1352 76, 175, 167, 76, 295, 406, 118, 485, 168, 275,
1353 119, 266, 120, 186, 187, 188, -196, 418, 181, 181,
1354 8, 9, 88, 477, 478, 479, 480, 277, 343, 345,
1355 452, 377, 284, 500, 295, 186, 187, 188, 16, 17,
1356 436, 308, 311, 316, 307, 317, 127, 128, 129, 130,
1357 131, 132, 306, 306, 306, 306, 306, 314, 226, 227,
1358 228, 229, 230, 231, 232, 233, 234, 235, 279, 280,
1359 281, 102, -196, 329, 330, 318, 195, 196, 163, 164,
1360 285, 286, 327, 267, 337, 331, 332, 348, 350, 77,
1361 2, 3, 371, -182, 4, 323, 5, 325, 6, 391,
1362 393, 7, 78, 395, 341, 402, 404, 426, 282, 40,
1363 408, 349, 340, 290, 291, 267, 355, 356, 357, 369,
1364 370, 79, 85, 85, 432, 374, 40, 375, 40, 138,
1365 139, 140, 141, 142, 143, 433, 11, 12, 440, 434,
1366 13, 14, 360, 15, 362, 16, 17, 365, 515, 437,
1367 380, 383, 438, 455, 388, 134, 135, 136, 137, 40,
1368 138, 139, 140, 141, 142, 143, 378, 31, 40, 463,
1369 289, 476, -270, 32, 33, 134, 499, 136, 137, 403,
1370 138, 139, 140, 141, 142, 143, 503, 396, 508, 511,
1371 518, 528, 40, 521, 40, 105, 372, 373, 389, 40,
1372 40, 40, 321, 506, 358, 454, 380, 425, 465, 472,
1373 40, 514, 473, 416, 40, 527, 136, 137, 419, 138,
1374 139, 140, 141, 142, 143, 516, 474, 519, 310, 475,
1375 459, 460, 461, 462, 136, 40, 520, 138, 139, 140,
1376 141, 142, 143, 439, 364, 109, 366, 110, 0, 0,
1377 0, 0, 0, 0, 326, 0, 40, 0, 40, 328,
1378 0, 0, 0, 0, 0, 0, 490, 494, 498, 0,
1379 0, 0, 0, 0, 0, 0, 0, 390, 0, 0,
1380 0, 0, 0, 0, 502, 0, 397, 0, 352, 0,
1381 505, 0, 490, 0, 510, 359, 0, 494, 513, 517,
1382 498, 0, 0, 0, 0, 367, 368, 0, 0, 0,
1383 415, 0, 417, 0, 0, 0, 0, 420, 421, 422,
1384 517, 0, 0, 526, 0, 0, 0, 0, 430, 0,
1385 0, 0, 431, 0, 0, 0, 0, 392, 0, 394,
1386 0, 524, 525, 0, 0, 398, 399, 0, 0, 0,
1387 400, 401, 0, 457, 0, 0, 0, 0, 0, 407,
1388 0, 0, 409, 0, 0, 410, 0, 414, 0, 0,
1389 0, 0, 0, 0, 466, 0, 467, 0, 0, 0,
1390 0, 424, 0, 0, 0, 0, 0, 0, 0, 0,
1391 0, 0, 0, 0, 435, 0, 0, 0, 0, 0,
1392 0, 0, 0, 0, 453, 0, 0, 0, 0, 456,
1393 0, 0, 458, 0, 0, 0, 1, 0, 0, 0,
1394 2, 3, 144, 464, 4, 0, 5, 0, 6, 0,
1395 0, 7, 8, 9, -277, 468, 469, 470, 471, 145,
1396 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1397 156, 10, 0, 0, 0, 0, 0, 0, 501, 0,
1398 0, 0, 0, 0, 0, 504, 11, 12, 509, 0,
1399 13, 14, 512, 15, 0, 16, 17, 18, 19, 20,
1400 21, 0, 22, 0, 0, 23, 0, 0, 24, 25,
1401 26, 27, 0, 28, 0, 29, 30, 31, 0, 0,
1402 0, 0, 0, 32, 33, 0, 0, 0, -182, 34,
1403 -277, -201, 2, 3, 322, 0, 4, 0, 5, 0,
1404 6, 0, 0, 7, 279, 280, 281, 324, 0, 0,
1405 0, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1406 154, 155, 156, 10, 145, 146, 147, 148, 149, 150,
1407 151, 152, 153, 154, 155, 156, 0, 0, 11, 12,
1408 0, 0, 13, 14, 0, 15, 0, 16, 17, 18,
1409 19, 20, 21, 0, 22, 0, 0, 23, 0, 0,
1410 24, 25, 26, 27, 0, 28, 0, 29, 30, 31,
1411 0, 0, 0, 2, 3, 32, 33, 4, 0, 5,
1412 -182, 6, 0, -201, 7, 163, 164, 0, 0, 0,
1413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1414 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1416 12, 0, 0, 13, 14, 0, 15, 0, 16, 17,
1417 18, 19, 20, 21, 0, 22, 0, 0, 23, 0,
1418 0, 24, 25, 26, 27, 0, 28, 0, 29, 30,
1419 31, 0, 0, 0, 2, 3, 32, 33, 4, 0,
1420 5, -182, 6, 0, -201, 7, 0, 0, 0, 0,
1421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1422 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424 11, 12, 0, 0, 13, 14, 0, 15, 0, 16,
1425 17, 18, 19, 20, 21, 0, 22, 0, 0, 23,
1426 0, 0, 24, 25, 26, 27, 0, 28, 0, 29,
1427 30, 31, 249, 0, 0, 2, 3, 32, 33, 4,
1428 0, 5, -182, 6, 0, -201, 7, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 0, 11, 12, 0, 0, 13, 14, 0, 15, 0,
1433 16, 17, 18, 19, 20, 21, 0, 22, 0, 0,
1434 23, 0, 0, 24, 25, 26, 27, 0, 28, 0,
1435 29, 30, 31, 0, 0, 77, 2, 3, 32, 33,
1436 4, 206, 5, -182, 6, 0, -201, 7, 77, 2,
1437 3, 0, 0, 4, 0, 5, 0, 6, 208, 0,
1438 7, 0, 0, 0, 0, 0, 0, 79, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440 79, 0, 11, 12, 0, 0, 13, 14, 0, 15,
1441 0, 16, 17, 0, 0, 11, 12, 0, 0, 13,
1442 14, 0, 15, 0, 16, 17, 0, 0, 0, 77,
1443 2, 3, 0, 31, 4, 342, 5, 0, 6, 32,
1444 33, 7, 0, 0, 0, 0, 31, 0, 0, 0,
1445 0, 0, 32, 33, 0, 0, 0, 0, 0, 0,
1446 0, 79, 0, 0, 0, 0, 0, 0, 0, 0,
1447 0, 0, 0, 0, 0, 0, 11, 12, 0, 0,
1448 13, 14, 0, 15, 0, 16, 17, 77, 2, 3,
1449 0, 0, 4, 0, 5, 0, 6, 344, 0, 7,
1450 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
1451 0, 0, 0, 32, 33, 0, 0, 0, 0, 79,
1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 11, 12, 0, 0, 13, 14,
1454 0, 15, 0, 16, 17, 77, 2, 3, 0, 0,
1455 4, 0, 5, 0, 6, 0, 0, 7, 2, 3,
1456 0, 0, 4, 0, 5, 31, 6, 0, 0, 7,
1457 0, 32, 33, 0, 0, 0, 0, 79, 0, 0,
1458 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
1459 0, 0, 11, 12, 0, 0, 13, 14, 0, 15,
1460 0, 16, 17, 0, 11, 12, 0, 0, 13, 14,
1461 0, 15, 0, 16, 17, 0, 2, 3, 0, 0,
1462 4, 0, 5, 31, 6, 0, 0, 0, 0, 32,
1463 33, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1464 0, 32, 33, 0, 0, 0, 0, 10, 0, 0,
1465 0, 2, 3, 0, 0, 180, 0, 5, 0, 6,
1466 0, 0, 11, 12, 0, 0, 13, 14, 0, 15,
1467 0, 16, 17, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 10, 0, 0, 0, 2, 3, 0, 0,
1469 183, 0, 5, 31, 6, 0, 0, 11, 12, 32,
1470 33, 13, 14, 0, 15, 0, 16, 17, 0, 0,
1471 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
1472 0, 216, 217, 0, 0, 4, 0, 5, 31, 6,
1473 0, 0, 11, 12, 32, 33, 13, 14, 0, 15,
1474 0, 16, 17, 0, 113, 114, 115, 116, 117, 118,
1475 0, 0, 218, 119, 0, 120, 0, 0, 0, 0,
1476 0, 0, 0, 31, 0, 0, 0, 219, 220, 32,
1477 33, 13, 14, 0, 15, 0, 16, 17, 0, 0,
1478 0, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1479 128, 129, 130, 131, 132, 116, 117, 118, 31, 0,
1480 0, 119, 0, 120, 32, 33, 293, 114, 115, 116,
1481 117, 118, 0, 0, 0, 119, 0, 120, 0, 114,
1482 115, 116, 117, 118, 0, 0, 0, 119, 0, 120,
1483 0, 121, 122, 123, 124, 0, 0, 127, 128, 129,
1484 130, 131, 132, 0, 0, 121, 122, 123, 124, 125,
1485 126, 127, 128, 129, 130, 131, 132, 121, 122, 123,
1486 124, 125, 126, 127, 128, 129, 130, 131, 132, -121,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, -121, -121, -121, -121,
1489 -121, -121, -121, -121, -121, -121, -121, -121, 134, 135,
1490 136, 137, 0, 138, 139, 140, 141, 142, 143
1495 0, 7, 0, 252, 78, 89, 18, 19, 20, 21,
1496 22, 23, 191, 2, 3, 27, 28, 40, 6, 89,
1497 404, 10, 11, 12, 4, 5, 6, 169, 19, 29,
1498 30, 94, 95, 103, 11, 105, 11, 9, 9, 9,
1499 59, 13, 1, 15, 118, 119, 5, 6, 12, 1,
1500 9, 59, 11, 36, 13, 352, 68, 16, 10, 12,
1501 36, 9, 131, 132, 17, 10, 17, 18, 19, 0,
1502 132, 79, 17, 59, 14, 58, 95, 36, 18, 51,
1503 52, 58, 58, 58, 36, 169, 57, 57, 111, 89,
1504 79, 58, 51, 52, 58, 96, 55, 56, 78, 58,
1505 93, 60, 61, 103, 95, 105, 58, 93, 59, 109,
1506 14, 109, 409, 17, 91, 92, 96, 180, 98, 99,
1507 183, 263, 19, 82, 113, 114, 115, 116, 117, 88,
1508 89, 515, 121, 122, 123, 124, 125, 126, 118, 119,
1509 84, 85, 86, 87, 323, 10, 325, 216, 217, 218,
1510 219, 220, 58, 295, 216, 217, 218, 219, 220, 59,
1511 160, 17, 162, 3, 144, 145, 146, 147, 148, 149,
1512 150, 151, 152, 153, 154, 155, 156, 222, 223, 263,
1513 168, 478, 19, 171, 17, 91, 92, 271, 168, 169,
1514 190, 171, 10, 93, 17, 195, 196, 10, 10, 179,
1515 180, 271, 12, 183, 17, 17, 9, 504, 18, 3,
1516 13, 295, 15, 17, 18, 19, 3, 396, 94, 95,
1517 17, 18, 9, 468, 469, 470, 471, 3, 302, 303,
1518 34, 14, 59, 482, 17, 17, 18, 19, 60, 61,
1519 419, 95, 254, 15, 224, 15, 49, 50, 51, 52,
1520 53, 54, 297, 298, 299, 300, 301, 257, 134, 135,
1521 136, 137, 138, 139, 140, 141, 142, 143, 17, 18,
1522 19, 271, 3, 285, 286, 3, 100, 101, 17, 18,
1523 68, 69, 66, 263, 77, 71, 72, 10, 9, 4,
1524 5, 6, 59, 93, 9, 275, 11, 277, 13, 10,
1525 17, 16, 17, 59, 293, 10, 3, 37, 190, 309,
1526 95, 309, 292, 195, 196, 295, 316, 317, 318, 331,
1527 332, 36, 302, 303, 59, 337, 326, 339, 328, 37,
1528 38, 39, 40, 41, 42, 10, 51, 52, 90, 59,
1529 55, 56, 322, 58, 324, 60, 61, 327, 3, 59,
1530 350, 351, 59, 59, 354, 32, 33, 34, 35, 359,
1531 37, 38, 39, 40, 41, 42, 346, 82, 368, 59,
1532 194, 59, 58, 88, 89, 32, 59, 34, 35, 379,
1533 37, 38, 39, 40, 41, 42, 59, 367, 59, 59,
1534 3, 10, 392, 9, 394, 30, 334, 334, 358, 399,
1535 400, 401, 271, 490, 318, 430, 406, 406, 452, 464,
1536 410, 500, 464, 393, 414, 523, 34, 35, 398, 37,
1537 38, 39, 40, 41, 42, 504, 464, 509, 252, 464,
1538 442, 443, 444, 445, 34, 435, 512, 37, 38, 39,
1539 40, 41, 42, 423, 326, 37, 328, 37, -1, -1,
1540 -1, -1, -1, -1, 278, -1, 456, -1, 458, 283,
1541 -1, -1, -1, -1, -1, -1, 478, 479, 480, -1,
1542 -1, -1, -1, -1, -1, -1, -1, 359, -1, -1,
1543 -1, -1, -1, -1, 484, -1, 368, -1, 312, -1,
1544 490, -1, 504, -1, 494, 319, -1, 509, 498, 505,
1545 512, -1, -1, -1, -1, 329, 330, -1, -1, -1,
1546 392, -1, 394, -1, -1, -1, -1, 399, 400, 401,
1547 526, -1, -1, 523, -1, -1, -1, -1, 410, -1,
1548 -1, -1, 414, -1, -1, -1, -1, 361, -1, 363,
1549 -1, 521, 522, -1, -1, 369, 370, -1, -1, -1,
1550 374, 375, -1, 435, -1, -1, -1, -1, -1, 383,
1551 -1, -1, 386, -1, -1, 389, -1, 391, -1, -1,
1552 -1, -1, -1, -1, 456, -1, 458, -1, -1, -1,
1553 -1, 405, -1, -1, -1, -1, -1, -1, -1, -1,
1554 -1, -1, -1, -1, 418, -1, -1, -1, -1, -1,
1555 -1, -1, -1, -1, 428, -1, -1, -1, -1, 433,
1556 -1, -1, 436, -1, -1, -1, 1, -1, -1, -1,
1557 5, 6, 3, 447, 9, -1, 11, -1, 13, -1,
1558 -1, 16, 17, 18, 19, 459, 460, 461, 462, 20,
1559 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1560 31, 36, -1, -1, -1, -1, -1, -1, 482, -1,
1561 -1, -1, -1, -1, -1, 489, 51, 52, 492, -1,
1562 55, 56, 496, 58, -1, 60, 61, 62, 63, 64,
1563 65, -1, 67, -1, -1, 70, -1, -1, 73, 74,
1564 75, 76, -1, 78, -1, 80, 81, 82, -1, -1,
1565 -1, -1, -1, 88, 89, -1, -1, -1, 93, 94,
1566 95, 96, 5, 6, 3, -1, 9, -1, 11, -1,
1567 13, -1, -1, 16, 17, 18, 19, 3, -1, -1,
1568 -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1569 29, 30, 31, 36, 20, 21, 22, 23, 24, 25,
1570 26, 27, 28, 29, 30, 31, -1, -1, 51, 52,
1571 -1, -1, 55, 56, -1, 58, -1, 60, 61, 62,
1572 63, 64, 65, -1, 67, -1, -1, 70, -1, -1,
1573 73, 74, 75, 76, -1, 78, -1, 80, 81, 82,
1574 -1, -1, -1, 5, 6, 88, 89, 9, -1, 11,
1575 93, 13, -1, 96, 16, 17, 18, -1, -1, -1,
1576 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1577 -1, -1, -1, -1, 36, -1, -1, -1, -1, -1,
1578 -1, -1, -1, -1, -1, -1, -1, -1, -1, 51,
1579 52, -1, -1, 55, 56, -1, 58, -1, 60, 61,
1580 62, 63, 64, 65, -1, 67, -1, -1, 70, -1,
1581 -1, 73, 74, 75, 76, -1, 78, -1, 80, 81,
1582 82, -1, -1, -1, 5, 6, 88, 89, 9, -1,
1583 11, 93, 13, -1, 96, 16, -1, -1, -1, -1,
1584 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1585 -1, -1, -1, -1, -1, 36, -1, -1, -1, -1,
1586 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1587 51, 52, -1, -1, 55, 56, -1, 58, -1, 60,
1588 61, 62, 63, 64, 65, -1, 67, -1, -1, 70,
1589 -1, -1, 73, 74, 75, 76, -1, 78, -1, 80,
1590 81, 82, 83, -1, -1, 5, 6, 88, 89, 9,
1591 -1, 11, 93, 13, -1, 96, 16, -1, -1, -1,
1592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1593 -1, -1, -1, -1, -1, -1, 36, -1, -1, -1,
1594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1595 -1, 51, 52, -1, -1, 55, 56, -1, 58, -1,
1596 60, 61, 62, 63, 64, 65, -1, 67, -1, -1,
1597 70, -1, -1, 73, 74, 75, 76, -1, 78, -1,
1598 80, 81, 82, -1, -1, 4, 5, 6, 88, 89,
1599 9, 10, 11, 93, 13, -1, 96, 16, 4, 5,
1600 6, -1, -1, 9, -1, 11, -1, 13, 14, -1,
1601 16, -1, -1, -1, -1, -1, -1, 36, -1, -1,
1602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1603 36, -1, 51, 52, -1, -1, 55, 56, -1, 58,
1604 -1, 60, 61, -1, -1, 51, 52, -1, -1, 55,
1605 56, -1, 58, -1, 60, 61, -1, -1, -1, 4,
1606 5, 6, -1, 82, 9, 10, 11, -1, 13, 88,
1607 89, 16, -1, -1, -1, -1, 82, -1, -1, -1,
1608 -1, -1, 88, 89, -1, -1, -1, -1, -1, -1,
1609 -1, 36, -1, -1, -1, -1, -1, -1, -1, -1,
1610 -1, -1, -1, -1, -1, -1, 51, 52, -1, -1,
1611 55, 56, -1, 58, -1, 60, 61, 4, 5, 6,
1612 -1, -1, 9, -1, 11, -1, 13, 14, -1, 16,
1613 -1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
1614 -1, -1, -1, 88, 89, -1, -1, -1, -1, 36,
1615 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1616 -1, -1, -1, -1, 51, 52, -1, -1, 55, 56,
1617 -1, 58, -1, 60, 61, 4, 5, 6, -1, -1,
1618 9, -1, 11, -1, 13, -1, -1, 16, 5, 6,
1619 -1, -1, 9, -1, 11, 82, 13, -1, -1, 16,
1620 -1, 88, 89, -1, -1, -1, -1, 36, -1, -1,
1621 -1, -1, -1, -1, -1, -1, -1, -1, -1, 36,
1622 -1, -1, 51, 52, -1, -1, 55, 56, -1, 58,
1623 -1, 60, 61, -1, 51, 52, -1, -1, 55, 56,
1624 -1, 58, -1, 60, 61, -1, 5, 6, -1, -1,
1625 9, -1, 11, 82, 13, -1, -1, -1, -1, 88,
1626 89, -1, -1, -1, -1, 82, -1, -1, -1, -1,
1627 -1, 88, 89, -1, -1, -1, -1, 36, -1, -1,
1628 -1, 5, 6, -1, -1, 9, -1, 11, -1, 13,
1629 -1, -1, 51, 52, -1, -1, 55, 56, -1, 58,
1630 -1, 60, 61, -1, -1, -1, -1, -1, -1, -1,
1631 -1, -1, 36, -1, -1, -1, 5, 6, -1, -1,
1632 9, -1, 11, 82, 13, -1, -1, 51, 52, 88,
1633 89, 55, 56, -1, 58, -1, 60, 61, -1, -1,
1634 -1, -1, -1, -1, -1, -1, -1, 36, -1, -1,
1635 -1, 5, 6, -1, -1, 9, -1, 11, 82, 13,
1636 -1, -1, 51, 52, 88, 89, 55, 56, -1, 58,
1637 -1, 60, 61, -1, 4, 5, 6, 7, 8, 9,
1638 -1, -1, 36, 13, -1, 15, -1, -1, -1, -1,
1639 -1, -1, -1, 82, -1, -1, -1, 51, 52, 88,
1640 89, 55, 56, -1, 58, -1, 60, 61, -1, -1,
1641 -1, -1, -1, 43, 44, 45, 46, 47, 48, 49,
1642 50, 51, 52, 53, 54, 7, 8, 9, 82, -1,
1643 -1, 13, -1, 15, 88, 89, 4, 5, 6, 7,
1644 8, 9, -1, -1, -1, 13, -1, 15, -1, 5,
1645 6, 7, 8, 9, -1, -1, -1, 13, -1, 15,
1646 -1, 43, 44, 45, 46, -1, -1, 49, 50, 51,
1647 52, 53, 54, -1, -1, 43, 44, 45, 46, 47,
1648 48, 49, 50, 51, 52, 53, 54, 43, 44, 45,
1649 46, 47, 48, 49, 50, 51, 52, 53, 54, 3,
1650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, -1, -1, -1, 20, 21, 22, 23,
1652 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1653 34, 35, -1, 37, 38, 39, 40, 41, 42
1660 0, 1, 5, 6, 9, 11, 13, 16, 17, 18,
1661 36, 51, 52, 55, 56, 58, 60, 61, 62, 63,
1662 64, 65, 67, 70, 73, 74, 75, 76, 78, 80,
1663 81, 82, 88, 89, 94, 99, 100, 101, 108, 109,
1664 111, 112, 113, 114, 115, 116, 118, 121, 122, 123,
1665 128, 130, 131, 132, 133, 134, 135, 136, 140, 141,
1666 146, 151, 152, 153, 154, 165, 166, 167, 168, 171,
1667 204, 205, 206, 111, 128, 128, 134, 4, 17, 36,
1668 117, 120, 124, 125, 126, 134, 119, 120, 9, 155,
1669 158, 128, 128, 128, 203, 203, 203, 203, 203, 203,
1670 203, 203, 111, 137, 139, 137, 0, 19, 95, 205,
1671 206, 110, 114, 4, 5, 6, 7, 8, 9, 13,
1672 15, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1673 52, 53, 54, 127, 32, 33, 34, 35, 37, 38,
1674 39, 40, 41, 42, 3, 20, 21, 22, 23, 24,
1675 25, 26, 27, 28, 29, 30, 31, 93, 96, 19,
1676 207, 208, 203, 17, 18, 10, 126, 12, 18, 17,
1677 14, 18, 1, 36, 125, 139, 159, 160, 161, 202,
1678 9, 131, 132, 9, 132, 134, 17, 18, 19, 209,
1679 210, 134, 142, 143, 134, 210, 210, 3, 139, 108,
1680 114, 128, 128, 128, 128, 128, 10, 126, 14, 126,
1681 128, 128, 128, 128, 128, 128, 5, 6, 36, 51,
1682 52, 123, 129, 129, 9, 57, 131, 131, 131, 131,
1683 131, 131, 131, 131, 131, 131, 134, 134, 134, 134,
1684 134, 134, 134, 134, 134, 134, 134, 134, 134, 83,
1685 102, 103, 104, 108, 172, 173, 19, 11, 91, 92,
1686 111, 162, 169, 17, 120, 124, 125, 134, 120, 10,
1687 156, 17, 1, 134, 132, 3, 132, 3, 201, 17,
1688 18, 19, 102, 201, 59, 68, 69, 144, 145, 210,
1689 102, 102, 138, 4, 10, 17, 14, 129, 129, 129,
1690 129, 129, 9, 13, 51, 52, 127, 134, 95, 209,
1691 210, 203, 164, 12, 111, 163, 15, 15, 3, 157,
1692 158, 161, 3, 134, 3, 134, 210, 66, 210, 203,
1693 203, 71, 72, 147, 148, 149, 150, 77, 59, 79,
1694 134, 128, 10, 126, 14, 126, 9, 57, 10, 108,
1695 9, 174, 210, 12, 17, 111, 111, 111, 169, 210,
1696 134, 201, 134, 201, 102, 134, 102, 210, 210, 203,
1697 203, 59, 149, 150, 203, 203, 10, 14, 134, 36,
1698 111, 175, 176, 111, 105, 106, 107, 171, 111, 157,
1699 102, 10, 210, 17, 210, 59, 134, 102, 210, 210,
1700 210, 210, 10, 111, 3, 10, 17, 210, 95, 210,
1701 210, 59, 95, 170, 210, 102, 134, 102, 201, 134,
1702 102, 102, 102, 138, 210, 176, 37, 177, 178, 171,
1703 102, 102, 59, 10, 59, 210, 201, 59, 59, 134,
1704 90, 179, 84, 85, 86, 87, 180, 181, 182, 186,
1705 193, 197, 34, 210, 170, 59, 210, 102, 210, 203,
1706 203, 203, 203, 59, 210, 179, 102, 102, 210, 210,
1707 210, 210, 182, 186, 193, 197, 59, 174, 174, 174,
1708 174, 183, 184, 185, 203, 171, 188, 190, 191, 192,
1709 203, 194, 195, 196, 203, 198, 199, 200, 203, 59,
1710 209, 210, 111, 59, 210, 111, 162, 187, 59, 210,
1711 111, 59, 210, 111, 185, 3, 190, 158, 3, 196,
1712 200, 9, 138, 189, 134, 134, 111, 187, 10
1718 0, 98, 99, 99, 99, 100, 100, 101, 101, 102,
1719 102, 103, 104, 104, 105, 105, 106, 107, 107, 108,
1720 108, 108, 109, 110, 110, 111, 112, 113, 114, 114,
1721 115, 115, 115, 116, 117, 117, 118, 119, 119, 120,
1722 120, 120, 120, 120, 120, 121, 122, 122, 123, 123,
1723 123, 123, 123, 123, 123, 123, 124, 125, 126, 126,
1724 126, 126, 126, 126, 127, 128, 128, 128, 128, 128,
1725 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1726 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1727 128, 128, 128, 129, 129, 129, 129, 129, 129, 129,
1728 129, 129, 129, 129, 129, 129, 129, 130, 130, 131,
1729 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1730 131, 132, 133, 133, 133, 133, 133, 133, 133, 133,
1731 133, 133, 133, 133, 133, 134, 134, 134, 135, 135,
1732 135, 135, 135, 135, 135, 136, 136, 137, 137, 138,
1733 139, 139, 140, 140, 141, 142, 142, 143, 143, 144,
1734 145, 146, 147, 147, 147, 147, 148, 148, 149, 150,
1735 151, 151, 151, 151, 151, 151, 152, 152, 152, 153,
1736 153, 153, 154, 155, 156, 157, 157, 158, 158, 159,
1737 159, 160, 160, 161, 161, 162, 162, 162, 163, 163,
1738 164, 165, 166, 167, 167, 168, 169, 169, 169, 170,
1739 170, 171, 171, 172, 173, 174, 174, 175, 175, 176,
1740 176, 176, 177, 177, 178, 178, 179, 180, 180, 181,
1741 181, 181, 181, 181, 181, 181, 181, 182, 183, 183,
1742 184, 184, 185, 185, 186, 187, 187, 188, 189, 188,
1743 190, 190, 191, 191, 192, 192, 193, 194, 194, 195,
1744 195, 196, 197, 198, 198, 199, 199, 200, 201, 202,
1745 203, 204, 204, 205, 205, 205, 205, 206, 206, 207,
1746 207, 208, 208, 209, 209, 209, 209, 209, 209, 210,
1753 0, 2, 2, 2, 1, 1, 2, 1, 3, 0,
1754 1, 2, 1, 3, 0, 1, 2, 1, 3, 1,
1755 1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
1756 1, 1, 1, 3, 1, 3, 3, 1, 3, 0,
1757 1, 1, 2, 2, 3, 1, 4, 4, 1, 1,
1758 1, 1, 1, 1, 1, 3, 1, 1, 1, 1,
1759 1, 3, 3, 3, 1, 1, 2, 2, 3, 4,
1760 3, 4, 2, 2, 3, 5, 2, 2, 2, 2,
1761 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1762 3, 3, 3, 1, 2, 2, 3, 4, 3, 4,
1763 3, 5, 2, 2, 2, 2, 2, 3, 5, 1,
1764 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1765 3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
1766 3, 3, 3, 3, 3, 1, 1, 1, 1, 1,
1767 1, 1, 1, 1, 1, 2, 2, 1, 2, 0,
1768 1, 4, 1, 1, 4, 1, 2, 4, 2, 7,
1769 4, 6, 0, 1, 1, 2, 1, 2, 7, 4,
1770 7, 6, 9, 10, 9, 12, 1, 1, 1, 9,
1771 9, 5, 0, 1, 1, 0, 1, 3, 2, 0,
1772 1, 1, 3, 1, 1, 2, 1, 3, 1, 3,
1773 0, 0, 2, 4, 7, 2, 1, 3, 3, 1,
1774 1, 7, 9, 1, 8, 0, 4, 1, 3, 1,
1775 4, 2, 0, 2, 2, 3, 1, 0, 2, 1,
1776 1, 1, 1, 3, 3, 3, 3, 6, 0, 2,
1777 1, 3, 2, 5, 6, 1, 2, 2, 0, 5,
1778 1, 1, 0, 2, 1, 3, 6, 0, 2, 1,
1779 3, 2, 6, 0, 2, 1, 3, 5, 0, 0,
1780 0, 1, 1, 1, 1, 2, 2, 0, 1, 0,
1781 1, 1, 2, 1, 1, 1, 2, 2, 2, 0,
1788 #define yyerrok (yyerrstatus = 0)
1789 #define yyclearin (yychar = OCTAVE_EMPTY)
1791 #define YYACCEPT goto yyacceptlab
1792 #define YYABORT goto yyabortlab
1793 #define YYERROR goto yyerrorlab
1796 #define YYRECOVERING() (!!yyerrstatus)
1798 #define YYBACKUP(Token, Value) \
1800 if (yychar == OCTAVE_EMPTY) \
1804 YYPOPSTACK (yylen); \
1810 yyerror (parser, YY_("syntax error: cannot back up")); \
1817 #define YYERRCODE OCTAVE_UNDEF
1825 # define YYFPRINTF fprintf
1828 # define YYDPRINTF(Args) \
1835 # ifndef YY_LOCATION_PRINT
1836 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1840 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1844 YYFPRINTF (stderr, "%s ", Title); \
1845 yy_symbol_print (stderr, \
1846 Kind, Value, parser); \
1847 YYFPRINTF (stderr, "\n"); \
1857 yy_symbol_value_print (FILE *yyo,
1860 FILE *yyoutput = yyo;
1867 YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
1880 yy_symbol_print (FILE *yyo,
1883 YYFPRINTF (yyo,
"%s %s (",
1884 yykind <
YYNTOKENS ?
"token" :
"nterm", yysymbol_name (yykind));
1886 yy_symbol_value_print (yyo, yykind, yyvaluep, parser);
1887 YYFPRINTF (yyo,
")");
1898 YYFPRINTF (stderr,
"Stack now");
1899 for (; yybottom <= yytop; yybottom++)
1901 int yybot = *yybottom;
1902 YYFPRINTF (stderr,
" %d", yybot);
1904 YYFPRINTF (stderr,
"\n");
1907 # define YY_STACK_PRINT(Bottom, Top) \
1910 yy_stack_print ((Bottom), (Top)); \
1922 int yylno = yyrline[yyrule];
1923 int yynrhs =
yyr2[yyrule];
1925 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1928 for (yyi = 0; yyi < yynrhs; yyi++)
1930 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1931 yy_symbol_print (stderr,
1933 &
yyvsp[(yyi + 1) - (yynrhs)], parser);
1934 YYFPRINTF (stderr,
"\n");
1938 # define YY_REDUCE_PRINT(Rule) \
1941 yy_reduce_print (yyssp, yyvsp, Rule, parser); \
1948 # define YYDPRINTF(Args) ((void) 0)
1949 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1950 # define YY_STACK_PRINT(Bottom, Top)
1951 # define YY_REDUCE_PRINT(Rule)
1957 # define YYINITDEPTH 200
1968 # define YYMAXDEPTH 10000
2023 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2025 #line 2026 "libinterp/parse-tree/oct-parse.cc"
2029 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2031 #line 2032 "libinterp/parse-tree/oct-parse.cc"
2035 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2037 #line 2038 "libinterp/parse-tree/oct-parse.cc"
2041 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2043 #line 2044 "libinterp/parse-tree/oct-parse.cc"
2047 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2049 #line 2050 "libinterp/parse-tree/oct-parse.cc"
2053 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2055 #line 2056 "libinterp/parse-tree/oct-parse.cc"
2059 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2061 #line 2062 "libinterp/parse-tree/oct-parse.cc"
2065 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2067 #line 2068 "libinterp/parse-tree/oct-parse.cc"
2071 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2073 #line 2074 "libinterp/parse-tree/oct-parse.cc"
2077 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2079 #line 2080 "libinterp/parse-tree/oct-parse.cc"
2083 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2085 #line 2086 "libinterp/parse-tree/oct-parse.cc"
2089 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2091 #line 2092 "libinterp/parse-tree/oct-parse.cc"
2095 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2097 #line 2098 "libinterp/parse-tree/oct-parse.cc"
2101 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2103 #line 2104 "libinterp/parse-tree/oct-parse.cc"
2107 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2109 #line 2110 "libinterp/parse-tree/oct-parse.cc"
2113 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2115 #line 2116 "libinterp/parse-tree/oct-parse.cc"
2119 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2121 #line 2122 "libinterp/parse-tree/oct-parse.cc"
2125 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2127 #line 2128 "libinterp/parse-tree/oct-parse.cc"
2131 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2133 #line 2134 "libinterp/parse-tree/oct-parse.cc"
2137 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2139 #line 2140 "libinterp/parse-tree/oct-parse.cc"
2143 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2145 #line 2146 "libinterp/parse-tree/oct-parse.cc"
2149 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2151 #line 2152 "libinterp/parse-tree/oct-parse.cc"
2155 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2157 #line 2158 "libinterp/parse-tree/oct-parse.cc"
2161 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2163 #line 2164 "libinterp/parse-tree/oct-parse.cc"
2167 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2169 #line 2170 "libinterp/parse-tree/oct-parse.cc"
2173 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2175 #line 2176 "libinterp/parse-tree/oct-parse.cc"
2179 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2181 #line 2182 "libinterp/parse-tree/oct-parse.cc"
2185 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2187 #line 2188 "libinterp/parse-tree/oct-parse.cc"
2191 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2193 #line 2194 "libinterp/parse-tree/oct-parse.cc"
2197 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2199 #line 2200 "libinterp/parse-tree/oct-parse.cc"
2203 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2205 #line 2206 "libinterp/parse-tree/oct-parse.cc"
2209 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2211 #line 2212 "libinterp/parse-tree/oct-parse.cc"
2215 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2217 #line 2218 "libinterp/parse-tree/oct-parse.cc"
2221 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2223 #line 2224 "libinterp/parse-tree/oct-parse.cc"
2227 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2229 #line 2230 "libinterp/parse-tree/oct-parse.cc"
2233 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2235 #line 2236 "libinterp/parse-tree/oct-parse.cc"
2239 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2241 #line 2242 "libinterp/parse-tree/oct-parse.cc"
2245 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2247 #line 2248 "libinterp/parse-tree/oct-parse.cc"
2251 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2253 #line 2254 "libinterp/parse-tree/oct-parse.cc"
2257 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2259 #line 2260 "libinterp/parse-tree/oct-parse.cc"
2263 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2265 #line 2266 "libinterp/parse-tree/oct-parse.cc"
2269 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2271 #line 2272 "libinterp/parse-tree/oct-parse.cc"
2275 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2277 #line 2278 "libinterp/parse-tree/oct-parse.cc"
2281 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2283 #line 2284 "libinterp/parse-tree/oct-parse.cc"
2287 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2289 #line 2290 "libinterp/parse-tree/oct-parse.cc"
2293 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2295 #line 2296 "libinterp/parse-tree/oct-parse.cc"
2299 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2301 #line 2302 "libinterp/parse-tree/oct-parse.cc"
2305 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2307 #line 2308 "libinterp/parse-tree/oct-parse.cc"
2311 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2313 #line 2314 "libinterp/parse-tree/oct-parse.cc"
2317 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2319 #line 2320 "libinterp/parse-tree/oct-parse.cc"
2323 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2325 #line 2326 "libinterp/parse-tree/oct-parse.cc"
2329 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2331 #line 2332 "libinterp/parse-tree/oct-parse.cc"
2335 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2337 #line 2338 "libinterp/parse-tree/oct-parse.cc"
2341 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2343 #line 2344 "libinterp/parse-tree/oct-parse.cc"
2347 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2349 #line 2350 "libinterp/parse-tree/oct-parse.cc"
2353 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2355 #line 2356 "libinterp/parse-tree/oct-parse.cc"
2359 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2361 #line 2362 "libinterp/parse-tree/oct-parse.cc"
2365 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2367 #line 2368 "libinterp/parse-tree/oct-parse.cc"
2371 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2373 #line 2374 "libinterp/parse-tree/oct-parse.cc"
2377 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2379 #line 2380 "libinterp/parse-tree/oct-parse.cc"
2383 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2385 #line 2386 "libinterp/parse-tree/oct-parse.cc"
2389 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2391 #line 2392 "libinterp/parse-tree/oct-parse.cc"
2395 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2397 #line 2398 "libinterp/parse-tree/oct-parse.cc"
2401 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2403 #line 2404 "libinterp/parse-tree/oct-parse.cc"
2407 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2409 #line 2410 "libinterp/parse-tree/oct-parse.cc"
2413 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2415 #line 2416 "libinterp/parse-tree/oct-parse.cc"
2419 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2421 #line 2422 "libinterp/parse-tree/oct-parse.cc"
2425 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2427 #line 2428 "libinterp/parse-tree/oct-parse.cc"
2431 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2433 #line 2434 "libinterp/parse-tree/oct-parse.cc"
2437 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2439 #line 2440 "libinterp/parse-tree/oct-parse.cc"
2443 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2445 #line 2446 "libinterp/parse-tree/oct-parse.cc"
2449 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2451 #line 2452 "libinterp/parse-tree/oct-parse.cc"
2455 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2457 #line 2458 "libinterp/parse-tree/oct-parse.cc"
2461 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2463 #line 2464 "libinterp/parse-tree/oct-parse.cc"
2467 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2469 #line 2470 "libinterp/parse-tree/oct-parse.cc"
2473 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2475 #line 2476 "libinterp/parse-tree/oct-parse.cc"
2479 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2481 #line 2482 "libinterp/parse-tree/oct-parse.cc"
2485 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2487 #line 2488 "libinterp/parse-tree/oct-parse.cc"
2491 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2493 #line 2494 "libinterp/parse-tree/oct-parse.cc"
2497 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2499 #line 2500 "libinterp/parse-tree/oct-parse.cc"
2503 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2505 #line 2506 "libinterp/parse-tree/oct-parse.cc"
2509 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2511 #line 2512 "libinterp/parse-tree/oct-parse.cc"
2515 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2517 #line 2518 "libinterp/parse-tree/oct-parse.cc"
2521 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2523 #line 2524 "libinterp/parse-tree/oct-parse.cc"
2527 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2529 #line 2530 "libinterp/parse-tree/oct-parse.cc"
2533 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2535 #line 2536 "libinterp/parse-tree/oct-parse.cc"
2539 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2541 #line 2542 "libinterp/parse-tree/oct-parse.cc"
2545 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2547 #line 2548 "libinterp/parse-tree/oct-parse.cc"
2551 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2553 #line 2554 "libinterp/parse-tree/oct-parse.cc"
2557 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2559 #line 2560 "libinterp/parse-tree/oct-parse.cc"
2563 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2565 #line 2566 "libinterp/parse-tree/oct-parse.cc"
2569 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2571 #line 2572 "libinterp/parse-tree/oct-parse.cc"
2575 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2577 #line 2578 "libinterp/parse-tree/oct-parse.cc"
2581 #line 325 "../libinterp/parse-tree/oct-parse.yy"
2583 #line 2584 "libinterp/parse-tree/oct-parse.cc"
2587 #line 327 "../libinterp/parse-tree/oct-parse.yy"
2588 {
delete ((*yyvaluep).tree_type); }
2589 #line 2590 "libinterp/parse-tree/oct-parse.cc"
2593 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2594 {
delete ((*yyvaluep).tree_statement_list_type); }
2595 #line 2596 "libinterp/parse-tree/oct-parse.cc"
2599 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2600 {
delete ((*yyvaluep).tree_statement_list_type); }
2601 #line 2602 "libinterp/parse-tree/oct-parse.cc"
2605 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2606 {
delete ((*yyvaluep).tree_statement_list_type); }
2607 #line 2608 "libinterp/parse-tree/oct-parse.cc"
2611 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2612 {
delete ((*yyvaluep).tree_statement_list_type); }
2613 #line 2614 "libinterp/parse-tree/oct-parse.cc"
2617 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2618 {
delete ((*yyvaluep).tree_statement_list_type); }
2619 #line 2620 "libinterp/parse-tree/oct-parse.cc"
2623 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2624 {
delete ((*yyvaluep).tree_statement_list_type); }
2625 #line 2626 "libinterp/parse-tree/oct-parse.cc"
2629 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2630 {
delete ((*yyvaluep).tree_statement_list_type); }
2631 #line 2632 "libinterp/parse-tree/oct-parse.cc"
2635 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2636 {
delete ((*yyvaluep).tree_statement_list_type); }
2637 #line 2638 "libinterp/parse-tree/oct-parse.cc"
2641 #line 351 "../libinterp/parse-tree/oct-parse.yy"
2642 {
delete ((*yyvaluep).tree_statement_type); }
2643 #line 2644 "libinterp/parse-tree/oct-parse.cc"
2647 #line 338 "../libinterp/parse-tree/oct-parse.yy"
2648 {
delete ((*yyvaluep).tree_index_expression_type); }
2649 #line 2650 "libinterp/parse-tree/oct-parse.cc"
2653 #line 339 "../libinterp/parse-tree/oct-parse.yy"
2654 {
delete ((*yyvaluep).tree_argument_list_type); }
2655 #line 2656 "libinterp/parse-tree/oct-parse.cc"
2659 #line 337 "../libinterp/parse-tree/oct-parse.yy"
2660 {
delete ((*yyvaluep).tree_identifier_type); }
2661 #line 2662 "libinterp/parse-tree/oct-parse.cc"
2665 #line 333 "../libinterp/parse-tree/oct-parse.yy"
2666 {
delete ((*yyvaluep).tree_superclass_ref_type); }
2667 #line 2668 "libinterp/parse-tree/oct-parse.cc"
2671 #line 334 "../libinterp/parse-tree/oct-parse.yy"
2672 {
delete ((*yyvaluep).tree_metaclass_query_type); }
2673 #line 2674 "libinterp/parse-tree/oct-parse.cc"
2677 #line 331 "../libinterp/parse-tree/oct-parse.yy"
2678 {
delete ((*yyvaluep).tree_constant_type); }
2679 #line 2680 "libinterp/parse-tree/oct-parse.cc"
2683 #line 331 "../libinterp/parse-tree/oct-parse.yy"
2684 {
delete ((*yyvaluep).tree_constant_type); }
2685 #line 2686 "libinterp/parse-tree/oct-parse.cc"
2689 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2690 {
delete ((*yyvaluep).tree_expression_type); }
2691 #line 2692 "libinterp/parse-tree/oct-parse.cc"
2695 #line 328 "../libinterp/parse-tree/oct-parse.yy"
2696 {
delete ((*yyvaluep).tree_matrix_type); }
2697 #line 2698 "libinterp/parse-tree/oct-parse.cc"
2701 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2702 {
delete ((*yyvaluep).tree_expression_type); }
2703 #line 2704 "libinterp/parse-tree/oct-parse.cc"
2707 #line 329 "../libinterp/parse-tree/oct-parse.yy"
2708 {
delete ((*yyvaluep).tree_cell_type); }
2709 #line 2710 "libinterp/parse-tree/oct-parse.cc"
2713 #line 339 "../libinterp/parse-tree/oct-parse.yy"
2714 {
delete ((*yyvaluep).tree_argument_list_type); }
2715 #line 2716 "libinterp/parse-tree/oct-parse.cc"
2719 #line 332 "../libinterp/parse-tree/oct-parse.yy"
2720 {
delete ((*yyvaluep).tree_fcn_handle_type); }
2721 #line 2722 "libinterp/parse-tree/oct-parse.cc"
2725 #line 336 "../libinterp/parse-tree/oct-parse.yy"
2726 {
delete ((*yyvaluep).tree_anon_fcn_handle_type); }
2727 #line 2728 "libinterp/parse-tree/oct-parse.cc"
2731 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2732 {
delete ((*yyvaluep).tree_expression_type); }
2733 #line 2734 "libinterp/parse-tree/oct-parse.cc"
2737 #line 331 "../libinterp/parse-tree/oct-parse.yy"
2738 {
delete ((*yyvaluep).tree_constant_type); }
2739 #line 2740 "libinterp/parse-tree/oct-parse.cc"
2743 #line 337 "../libinterp/parse-tree/oct-parse.yy"
2744 {
delete ((*yyvaluep).tree_identifier_type); }
2745 #line 2746 "libinterp/parse-tree/oct-parse.cc"
2749 #line 339 "../libinterp/parse-tree/oct-parse.yy"
2750 {
delete ((*yyvaluep).tree_argument_list_type); }
2751 #line 2752 "libinterp/parse-tree/oct-parse.cc"
2755 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2756 {
delete ((*yyvaluep).tree_expression_type); }
2757 #line 2758 "libinterp/parse-tree/oct-parse.cc"
2761 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2762 {
delete ((*yyvaluep).tree_expression_type); }
2763 #line 2764 "libinterp/parse-tree/oct-parse.cc"
2767 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2768 {
delete ((*yyvaluep).tree_expression_type); }
2769 #line 2770 "libinterp/parse-tree/oct-parse.cc"
2773 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2774 {
delete ((*yyvaluep).tree_expression_type); }
2775 #line 2776 "libinterp/parse-tree/oct-parse.cc"
2779 #line 339 "../libinterp/parse-tree/oct-parse.yy"
2780 {
delete ((*yyvaluep).tree_argument_list_type); }
2781 #line 2782 "libinterp/parse-tree/oct-parse.cc"
2785 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2786 {
delete ((*yyvaluep).tree_expression_type); }
2787 #line 2788 "libinterp/parse-tree/oct-parse.cc"
2791 #line 330 "../libinterp/parse-tree/oct-parse.yy"
2792 {
delete ((*yyvaluep).tree_expression_type); }
2793 #line 2794 "libinterp/parse-tree/oct-parse.cc"
2797 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2798 {
delete ((*yyvaluep).tree_command_type); }
2799 #line 2800 "libinterp/parse-tree/oct-parse.cc"
2803 #line 350 "../libinterp/parse-tree/oct-parse.yy"
2804 {
delete ((*yyvaluep).tree_decl_command_type); }
2805 #line 2806 "libinterp/parse-tree/oct-parse.cc"
2809 #line 349 "../libinterp/parse-tree/oct-parse.yy"
2810 {
delete ((*yyvaluep).tree_decl_init_list_type); }
2811 #line 2812 "libinterp/parse-tree/oct-parse.cc"
2815 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2816 {
delete ((*yyvaluep).tree_decl_elt_type); }
2817 #line 2818 "libinterp/parse-tree/oct-parse.cc"
2821 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2822 {
delete ((*yyvaluep).tree_command_type); }
2823 #line 2824 "libinterp/parse-tree/oct-parse.cc"
2827 #line 342 "../libinterp/parse-tree/oct-parse.yy"
2828 {
delete ((*yyvaluep).tree_if_command_type); }
2829 #line 2830 "libinterp/parse-tree/oct-parse.cc"
2833 #line 344 "../libinterp/parse-tree/oct-parse.yy"
2834 {
delete ((*yyvaluep).tree_if_command_list_type); }
2835 #line 2836 "libinterp/parse-tree/oct-parse.cc"
2839 #line 344 "../libinterp/parse-tree/oct-parse.yy"
2840 {
delete ((*yyvaluep).tree_if_command_list_type); }
2841 #line 2842 "libinterp/parse-tree/oct-parse.cc"
2845 #line 343 "../libinterp/parse-tree/oct-parse.yy"
2846 {
delete ((*yyvaluep).tree_if_clause_type); }
2847 #line 2848 "libinterp/parse-tree/oct-parse.cc"
2851 #line 343 "../libinterp/parse-tree/oct-parse.yy"
2852 {
delete ((*yyvaluep).tree_if_clause_type); }
2853 #line 2854 "libinterp/parse-tree/oct-parse.cc"
2857 #line 345 "../libinterp/parse-tree/oct-parse.yy"
2858 {
delete ((*yyvaluep).tree_switch_command_type); }
2859 #line 2860 "libinterp/parse-tree/oct-parse.cc"
2863 #line 347 "../libinterp/parse-tree/oct-parse.yy"
2864 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2865 #line 2866 "libinterp/parse-tree/oct-parse.cc"
2869 #line 347 "../libinterp/parse-tree/oct-parse.yy"
2870 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2871 #line 2872 "libinterp/parse-tree/oct-parse.cc"
2875 #line 346 "../libinterp/parse-tree/oct-parse.yy"
2876 {
delete ((*yyvaluep).tree_switch_case_type); }
2877 #line 2878 "libinterp/parse-tree/oct-parse.cc"
2881 #line 346 "../libinterp/parse-tree/oct-parse.yy"
2882 {
delete ((*yyvaluep).tree_switch_case_type); }
2883 #line 2884 "libinterp/parse-tree/oct-parse.cc"
2887 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2888 {
delete ((*yyvaluep).tree_command_type); }
2889 #line 2890 "libinterp/parse-tree/oct-parse.cc"
2893 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2894 {
delete ((*yyvaluep).tree_command_type); }
2895 #line 2896 "libinterp/parse-tree/oct-parse.cc"
2899 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2900 {
delete ((*yyvaluep).tree_command_type); }
2901 #line 2902 "libinterp/parse-tree/oct-parse.cc"
2905 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2906 {
delete ((*yyvaluep).tree_parameter_list_type); }
2907 #line 2908 "libinterp/parse-tree/oct-parse.cc"
2911 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2912 {
delete ((*yyvaluep).tree_parameter_list_type); }
2913 #line 2914 "libinterp/parse-tree/oct-parse.cc"
2917 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2918 {
delete ((*yyvaluep).tree_parameter_list_type); }
2919 #line 2920 "libinterp/parse-tree/oct-parse.cc"
2923 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2924 {
delete ((*yyvaluep).tree_parameter_list_type); }
2925 #line 2926 "libinterp/parse-tree/oct-parse.cc"
2929 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2930 {
delete ((*yyvaluep).tree_decl_elt_type); }
2931 #line 2932 "libinterp/parse-tree/oct-parse.cc"
2935 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2936 {
delete ((*yyvaluep).tree_parameter_list_type); }
2937 #line 2938 "libinterp/parse-tree/oct-parse.cc"
2941 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2942 {
delete ((*yyvaluep).tree_parameter_list_type); }
2943 #line 2944 "libinterp/parse-tree/oct-parse.cc"
2947 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2948 {
delete ((*yyvaluep).tree_command_type); }
2949 #line 2950 "libinterp/parse-tree/oct-parse.cc"
2953 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2955 #line 2956 "libinterp/parse-tree/oct-parse.cc"
2959 #line 337 "../libinterp/parse-tree/oct-parse.yy"
2960 {
delete ((*yyvaluep).tree_identifier_type); }
2961 #line 2962 "libinterp/parse-tree/oct-parse.cc"
2965 #line 351 "../libinterp/parse-tree/oct-parse.yy"
2966 {
delete ((*yyvaluep).tree_statement_type); }
2967 #line 2968 "libinterp/parse-tree/oct-parse.cc"
2971 #line 335 "../libinterp/parse-tree/oct-parse.yy"
2972 {
delete ((*yyvaluep).tree_function_def_type); }
2973 #line 2974 "libinterp/parse-tree/oct-parse.cc"
2977 #line 322 "../libinterp/parse-tree/oct-parse.yy"
2979 #line 2980 "libinterp/parse-tree/oct-parse.cc"
2983 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2984 {
delete ((*yyvaluep).tree_classdef_type); }
2985 #line 2986 "libinterp/parse-tree/oct-parse.cc"
2989 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2990 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2991 #line 2992 "libinterp/parse-tree/oct-parse.cc"
2995 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2996 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2997 #line 2998 "libinterp/parse-tree/oct-parse.cc"
3001 #line 356 "../libinterp/parse-tree/oct-parse.yy"
3002 {
delete ((*yyvaluep).tree_classdef_attribute_type); }
3003 #line 3004 "libinterp/parse-tree/oct-parse.cc"
3007 #line 359 "../libinterp/parse-tree/oct-parse.yy"
3008 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
3009 #line 3010 "libinterp/parse-tree/oct-parse.cc"
3013 #line 359 "../libinterp/parse-tree/oct-parse.yy"
3014 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
3015 #line 3016 "libinterp/parse-tree/oct-parse.cc"
3019 #line 358 "../libinterp/parse-tree/oct-parse.yy"
3020 {
delete ((*yyvaluep).tree_classdef_superclass_type); }
3021 #line 3022 "libinterp/parse-tree/oct-parse.cc"
3025 #line 360 "../libinterp/parse-tree/oct-parse.yy"
3026 {
delete ((*yyvaluep).tree_classdef_body_type); }
3027 #line 3028 "libinterp/parse-tree/oct-parse.cc"
3031 #line 360 "../libinterp/parse-tree/oct-parse.yy"
3032 {
delete ((*yyvaluep).tree_classdef_body_type); }
3033 #line 3034 "libinterp/parse-tree/oct-parse.cc"
3037 #line 363 "../libinterp/parse-tree/oct-parse.yy"
3038 {
delete ((*yyvaluep).tree_classdef_properties_block_type); }
3039 #line 3040 "libinterp/parse-tree/oct-parse.cc"
3043 #line 362 "../libinterp/parse-tree/oct-parse.yy"
3044 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
3045 #line 3046 "libinterp/parse-tree/oct-parse.cc"
3049 #line 362 "../libinterp/parse-tree/oct-parse.yy"
3050 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
3051 #line 3052 "libinterp/parse-tree/oct-parse.cc"
3055 #line 361 "../libinterp/parse-tree/oct-parse.yy"
3056 {
delete ((*yyvaluep).tree_classdef_property_type); }
3057 #line 3058 "libinterp/parse-tree/oct-parse.cc"
3061 #line 365 "../libinterp/parse-tree/oct-parse.yy"
3062 {
delete ((*yyvaluep).tree_classdef_methods_block_type); }
3063 #line 3064 "libinterp/parse-tree/oct-parse.cc"
3067 #line 353 "../libinterp/parse-tree/oct-parse.yy"
3068 {
delete ((*yyvaluep).octave_user_function_type); }
3069 #line 3070 "libinterp/parse-tree/oct-parse.cc"
3073 #line 335 "../libinterp/parse-tree/oct-parse.yy"
3074 {
delete ((*yyvaluep).tree_function_def_type); }
3075 #line 3076 "libinterp/parse-tree/oct-parse.cc"
3079 #line 335 "../libinterp/parse-tree/oct-parse.yy"
3080 {
delete ((*yyvaluep).tree_function_def_type); }
3081 #line 3082 "libinterp/parse-tree/oct-parse.cc"
3085 #line 364 "../libinterp/parse-tree/oct-parse.yy"
3086 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
3087 #line 3088 "libinterp/parse-tree/oct-parse.cc"
3091 #line 364 "../libinterp/parse-tree/oct-parse.yy"
3092 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
3093 #line 3094 "libinterp/parse-tree/oct-parse.cc"
3097 #line 368 "../libinterp/parse-tree/oct-parse.yy"
3098 {
delete ((*yyvaluep).tree_classdef_events_block_type); }
3099 #line 3100 "libinterp/parse-tree/oct-parse.cc"
3103 #line 367 "../libinterp/parse-tree/oct-parse.yy"
3104 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
3105 #line 3106 "libinterp/parse-tree/oct-parse.cc"
3109 #line 367 "../libinterp/parse-tree/oct-parse.yy"
3110 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
3111 #line 3112 "libinterp/parse-tree/oct-parse.cc"
3115 #line 366 "../libinterp/parse-tree/oct-parse.yy"
3116 {
delete ((*yyvaluep).tree_classdef_event_type); }
3117 #line 3118 "libinterp/parse-tree/oct-parse.cc"
3121 #line 371 "../libinterp/parse-tree/oct-parse.yy"
3122 {
delete ((*yyvaluep).tree_classdef_enum_block_type); }
3123 #line 3124 "libinterp/parse-tree/oct-parse.cc"
3127 #line 370 "../libinterp/parse-tree/oct-parse.yy"
3128 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
3129 #line 3130 "libinterp/parse-tree/oct-parse.cc"
3133 #line 370 "../libinterp/parse-tree/oct-parse.yy"
3134 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
3135 #line 3136 "libinterp/parse-tree/oct-parse.cc"
3139 #line 369 "../libinterp/parse-tree/oct-parse.yy"
3140 {
delete ((*yyvaluep).tree_classdef_enum_type); }
3141 #line 3142 "libinterp/parse-tree/oct-parse.cc"
3145 #line 324 "../libinterp/parse-tree/oct-parse.yy"
3147 #line 3148 "libinterp/parse-tree/oct-parse.cc"
3151 #line 323 "../libinterp/parse-tree/oct-parse.yy"
3153 #line 3154 "libinterp/parse-tree/oct-parse.cc"
3157 #line 323 "../libinterp/parse-tree/oct-parse.yy"
3159 #line 3160 "libinterp/parse-tree/oct-parse.cc"
3163 #line 323 "../libinterp/parse-tree/oct-parse.yy"
3165 #line 3166 "libinterp/parse-tree/oct-parse.cc"
3169 #line 323 "../libinterp/parse-tree/oct-parse.yy"
3171 #line 3172 "libinterp/parse-tree/oct-parse.cc"
3175 #line 323 "../libinterp/parse-tree/oct-parse.yy"
3177 #line 3178 "libinterp/parse-tree/oct-parse.cc"
3181 #line 323 "../libinterp/parse-tree/oct-parse.yy"
3183 #line 3184 "libinterp/parse-tree/oct-parse.cc"
3223 #define octave_nerrs yyps->octave_nerrs
3224 #define yystate yyps->yystate
3225 #define yyerrstatus yyps->yyerrstatus
3226 #define yyssa yyps->yyssa
3227 #define yyss yyps->yyss
3228 #define yyssp yyps->yyssp
3229 #define yyvsa yyps->yyvsa
3230 #define yyvs yyps->yyvs
3231 #define yyvsp yyps->yyvsp
3232 #define yystacksize yyps->yystacksize
3312 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3318 switch (yyps->yynew)
3327 goto yyread_pushed_token;
3330 YYDPRINTF ((stderr,
"Starting parse\n"));
3357 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
3358 goto yyexhaustedlab;
3364 # if defined yyoverflow
3376 yyoverflow (
YY_(
"memory exhausted"),
3386 goto yyexhaustedlab;
3397 goto yyexhaustedlab;
3400 # undef YYSTACK_RELOCATE
3410 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
3444 YYDPRINTF ((stderr,
"Return for a new token:\n"));
3449 yyread_pushed_token:
3450 YYDPRINTF ((stderr,
"Reading a token\n"));
3451 yychar = yypushed_char;
3460 YYDPRINTF ((stderr,
"Now at end of input.\n"));
3534 yyval =
yyvsp[1-yylen];
3541 #line 392 "../libinterp/parse-tree/oct-parse.yy"
3545 (yyval.tree_type) =
nullptr;
3546 std::shared_ptr<octave::tree_statement_list> tmp_lst ((
yyvsp[-1].tree_statement_list_type));
3550 #line 3551 "libinterp/parse-tree/oct-parse.cc"
3554 #line 401 "../libinterp/parse-tree/oct-parse.yy"
3558 (yyval.tree_type) =
nullptr;
3559 lexer.m_end_of_input =
true;
3560 std::shared_ptr<octave::tree_statement_list> tmp_lst ((
yyvsp[-1].tree_statement_list_type));
3564 #line 3565 "libinterp/parse-tree/oct-parse.cc"
3568 #line 411 "../libinterp/parse-tree/oct-parse.yy"
3570 (yyval.tree_type) =
nullptr;
3573 #line 3574 "libinterp/parse-tree/oct-parse.cc"
3577 #line 418 "../libinterp/parse-tree/oct-parse.yy"
3581 (yyval.tree_statement_list_type) =
nullptr;
3583 #line 3584 "libinterp/parse-tree/oct-parse.cc"
3587 #line 424 "../libinterp/parse-tree/oct-parse.yy"
3589 #line 3590 "libinterp/parse-tree/oct-parse.cc"
3593 #line 428 "../libinterp/parse-tree/oct-parse.yy"
3595 #line 3596 "libinterp/parse-tree/oct-parse.cc"
3599 #line 430 "../libinterp/parse-tree/oct-parse.yy"
3601 #line 3602 "libinterp/parse-tree/oct-parse.cc"
3605 #line 434 "../libinterp/parse-tree/oct-parse.yy"
3607 #line 3608 "libinterp/parse-tree/oct-parse.cc"
3611 #line 436 "../libinterp/parse-tree/oct-parse.yy"
3612 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3613 #line 3614 "libinterp/parse-tree/oct-parse.cc"
3617 #line 440 "../libinterp/parse-tree/oct-parse.yy"
3619 #line 3620 "libinterp/parse-tree/oct-parse.cc"
3623 #line 444 "../libinterp/parse-tree/oct-parse.yy"
3625 #line 3626 "libinterp/parse-tree/oct-parse.cc"
3629 #line 446 "../libinterp/parse-tree/oct-parse.yy"
3631 #line 3632 "libinterp/parse-tree/oct-parse.cc"
3635 #line 450 "../libinterp/parse-tree/oct-parse.yy"
3637 #line 3638 "libinterp/parse-tree/oct-parse.cc"
3641 #line 452 "../libinterp/parse-tree/oct-parse.yy"
3642 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3643 #line 3644 "libinterp/parse-tree/oct-parse.cc"
3647 #line 456 "../libinterp/parse-tree/oct-parse.yy"
3651 (yyval.tree_statement_list_type) = (
yyvsp[-1].tree_statement_list_type);
3653 #line 3654 "libinterp/parse-tree/oct-parse.cc"
3657 #line 464 "../libinterp/parse-tree/oct-parse.yy"
3662 #line 3663 "libinterp/parse-tree/oct-parse.cc"
3666 #line 469 "../libinterp/parse-tree/oct-parse.yy"
3671 #line 3672 "libinterp/parse-tree/oct-parse.cc"
3675 #line 476 "../libinterp/parse-tree/oct-parse.yy"
3676 { (yyval.tree_statement_type) = parser.
make_statement ((
yyvsp[0].tree_expression_type)); }
3677 #line 3678 "libinterp/parse-tree/oct-parse.cc"
3681 #line 478 "../libinterp/parse-tree/oct-parse.yy"
3683 #line 3684 "libinterp/parse-tree/oct-parse.cc"
3687 #line 480 "../libinterp/parse-tree/oct-parse.yy"
3688 { (yyval.tree_statement_type) = parser.
make_statement ((
yyvsp[0].tree_index_expression_type)); }
3689 #line 3690 "libinterp/parse-tree/oct-parse.cc"
3693 #line 492 "../libinterp/parse-tree/oct-parse.yy"
3696 if (! (yyval.tree_index_expression_type))
3701 (yyval.tree_index_expression_type)->mark_word_list_cmd ();
3703 #line 3704 "libinterp/parse-tree/oct-parse.cc"
3707 #line 504 "../libinterp/parse-tree/oct-parse.yy"
3709 #line 3710 "libinterp/parse-tree/oct-parse.cc"
3713 #line 506 "../libinterp/parse-tree/oct-parse.yy"
3715 (
yyvsp[-1].tree_argument_list_type)->append ((
yyvsp[0].tree_constant_type));
3716 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3718 #line 3719 "libinterp/parse-tree/oct-parse.cc"
3722 #line 517 "../libinterp/parse-tree/oct-parse.yy"
3726 (
yyvsp[0].tok_val)->column ());
3728 #line 3729 "libinterp/parse-tree/oct-parse.cc"
3732 #line 526 "../libinterp/parse-tree/oct-parse.yy"
3734 std::string meth = (
yyvsp[0].tok_val)->superclass_method_name ();
3735 std::string cls = (
yyvsp[0].tok_val)->superclass_class_name ();
3738 (
yyvsp[0].tok_val)->line (),
3739 (
yyvsp[0].tok_val)->column ());
3741 #line 3742 "libinterp/parse-tree/oct-parse.cc"
3745 #line 537 "../libinterp/parse-tree/oct-parse.yy"
3747 std::string cls = (
yyvsp[0].tok_val)->
text ();
3750 (
yyvsp[0].tok_val)->column ());
3752 #line 3753 "libinterp/parse-tree/oct-parse.cc"
3756 #line 546 "../libinterp/parse-tree/oct-parse.yy"
3758 #line 3759 "libinterp/parse-tree/oct-parse.cc"
3762 #line 548 "../libinterp/parse-tree/oct-parse.yy"
3764 #line 3765 "libinterp/parse-tree/oct-parse.cc"
3768 #line 552 "../libinterp/parse-tree/oct-parse.yy"
3770 #line 3771 "libinterp/parse-tree/oct-parse.cc"
3774 #line 554 "../libinterp/parse-tree/oct-parse.yy"
3776 #line 3777 "libinterp/parse-tree/oct-parse.cc"
3780 #line 556 "../libinterp/parse-tree/oct-parse.yy"
3781 { (yyval.tree_constant_type) = (
yyvsp[0].tree_constant_type); }
3782 #line 3783 "libinterp/parse-tree/oct-parse.cc"
3786 #line 560 "../libinterp/parse-tree/oct-parse.yy"
3788 #line 3789 "libinterp/parse-tree/oct-parse.cc"
3792 #line 564 "../libinterp/parse-tree/oct-parse.yy"
3794 #line 3795 "libinterp/parse-tree/oct-parse.cc"
3798 #line 566 "../libinterp/parse-tree/oct-parse.yy"
3802 if ((
yyvsp[-2].tree_matrix_type))
3804 if ((
yyvsp[0].tree_argument_list_type))
3805 (
yyvsp[-2].tree_matrix_type)->append ((
yyvsp[0].tree_argument_list_type));
3807 (yyval.tree_matrix_type) = (
yyvsp[-2].tree_matrix_type);
3812 #line 3813 "libinterp/parse-tree/oct-parse.cc"
3816 #line 582 "../libinterp/parse-tree/oct-parse.yy"
3818 #line 3819 "libinterp/parse-tree/oct-parse.cc"
3822 #line 586 "../libinterp/parse-tree/oct-parse.yy"
3823 { (yyval.tree_cell_type) = (
yyvsp[0].tree_argument_list_type) ?
new octave::tree_cell ((
yyvsp[0].tree_argument_list_type)) :
nullptr; }
3824 #line 3825 "libinterp/parse-tree/oct-parse.cc"
3828 #line 588 "../libinterp/parse-tree/oct-parse.yy"
3832 if ((
yyvsp[-2].tree_cell_type))
3834 if ((
yyvsp[0].tree_argument_list_type))
3835 (
yyvsp[-2].tree_cell_type)->append ((
yyvsp[0].tree_argument_list_type));
3837 (yyval.tree_cell_type) = (
yyvsp[-2].tree_cell_type);
3840 (yyval.tree_cell_type) = (
yyvsp[0].tree_argument_list_type) ?
new octave::tree_cell ((
yyvsp[0].tree_argument_list_type)) :
nullptr;
3842 #line 3843 "libinterp/parse-tree/oct-parse.cc"
3846 #line 612 "../libinterp/parse-tree/oct-parse.yy"
3847 { (yyval.tree_argument_list_type) =
nullptr; }
3848 #line 3849 "libinterp/parse-tree/oct-parse.cc"
3852 #line 614 "../libinterp/parse-tree/oct-parse.yy"
3856 (yyval.tree_argument_list_type) =
nullptr;
3858 #line 3859 "libinterp/parse-tree/oct-parse.cc"
3862 #line 620 "../libinterp/parse-tree/oct-parse.yy"
3863 { (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type); }
3864 #line 3865 "libinterp/parse-tree/oct-parse.cc"
3868 #line 622 "../libinterp/parse-tree/oct-parse.yy"
3872 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3874 #line 3875 "libinterp/parse-tree/oct-parse.cc"
3878 #line 628 "../libinterp/parse-tree/oct-parse.yy"
3882 (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type);
3884 #line 3885 "libinterp/parse-tree/oct-parse.cc"
3888 #line 634 "../libinterp/parse-tree/oct-parse.yy"
3893 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3895 #line 3896 "libinterp/parse-tree/oct-parse.cc"
3899 #line 643 "../libinterp/parse-tree/oct-parse.yy"
3901 #line 3902 "libinterp/parse-tree/oct-parse.cc"
3905 #line 651 "../libinterp/parse-tree/oct-parse.yy"
3908 if (! (yyval.tree_anon_fcn_handle_type))
3914 lexer.m_parsing_anon_fcn_body =
false;
3915 lexer.m_nesting_level.remove ();
3917 #line 3918 "libinterp/parse-tree/oct-parse.cc"
3921 #line 663 "../libinterp/parse-tree/oct-parse.yy"
3926 lexer.m_parsing_anon_fcn_body =
false;
3928 (yyval.tree_anon_fcn_handle_type) =
nullptr;
3929 parser.
bison_error (
"anonymous function bodies must be single expressions");
3932 #line 3933 "libinterp/parse-tree/oct-parse.cc"
3936 #line 676 "../libinterp/parse-tree/oct-parse.yy"
3937 { (yyval.tree_expression_type) = (
yyvsp[0].tree_identifier_type); }
3938 #line 3939 "libinterp/parse-tree/oct-parse.cc"
3942 #line 678 "../libinterp/parse-tree/oct-parse.yy"
3943 { (yyval.tree_expression_type) = (
yyvsp[0].tree_constant_type); }
3944 #line 3945 "libinterp/parse-tree/oct-parse.cc"
3948 #line 680 "../libinterp/parse-tree/oct-parse.yy"
3949 { (yyval.tree_expression_type) = (
yyvsp[0].tree_fcn_handle_type); }
3950 #line 3951 "libinterp/parse-tree/oct-parse.cc"
3954 #line 682 "../libinterp/parse-tree/oct-parse.yy"
3956 lexer.m_looking_at_matrix_or_assign_lhs =
false;
3957 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
3959 #line 3960 "libinterp/parse-tree/oct-parse.cc"
3963 #line 687 "../libinterp/parse-tree/oct-parse.yy"
3964 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
3965 #line 3966 "libinterp/parse-tree/oct-parse.cc"
3969 #line 689 "../libinterp/parse-tree/oct-parse.yy"
3970 { (yyval.tree_expression_type) = (
yyvsp[0].tree_metaclass_query_type); }
3971 #line 3972 "libinterp/parse-tree/oct-parse.cc"
3975 #line 691 "../libinterp/parse-tree/oct-parse.yy"
3976 { (yyval.tree_expression_type) = (
yyvsp[0].tree_superclass_ref_type); }
3977 #line 3978 "libinterp/parse-tree/oct-parse.cc"
3981 #line 693 "../libinterp/parse-tree/oct-parse.yy"
3986 (yyval.tree_expression_type) = (
yyvsp[-1].tree_expression_type)->mark_in_parens ();
3988 #line 3989 "libinterp/parse-tree/oct-parse.cc"
3992 #line 702 "../libinterp/parse-tree/oct-parse.yy"
3999 #line 4000 "libinterp/parse-tree/oct-parse.cc"
4003 #line 711 "../libinterp/parse-tree/oct-parse.yy"
4009 #line 4010 "libinterp/parse-tree/oct-parse.cc"
4013 #line 719 "../libinterp/parse-tree/oct-parse.yy"
4015 #line 4016 "libinterp/parse-tree/oct-parse.cc"
4019 #line 721 "../libinterp/parse-tree/oct-parse.yy"
4021 #line 4022 "libinterp/parse-tree/oct-parse.cc"
4025 #line 723 "../libinterp/parse-tree/oct-parse.yy"
4027 #line 4028 "libinterp/parse-tree/oct-parse.cc"
4031 #line 725 "../libinterp/parse-tree/oct-parse.yy"
4035 (
yyvsp[-2].tree_argument_list_type)->append ((
yyvsp[0].tree_constant_type));
4036 (yyval.tree_argument_list_type) = (
yyvsp[-2].tree_argument_list_type);
4038 #line 4039 "libinterp/parse-tree/oct-parse.cc"
4042 #line 732 "../libinterp/parse-tree/oct-parse.yy"
4046 (
yyvsp[-2].tree_argument_list_type)->append ((
yyvsp[0].tree_identifier_type));
4047 (yyval.tree_argument_list_type) = (
yyvsp[-2].tree_argument_list_type);
4049 #line 4050 "libinterp/parse-tree/oct-parse.cc"
4053 #line 739 "../libinterp/parse-tree/oct-parse.yy"
4057 (
yyvsp[-2].tree_argument_list_type)->append ((
yyvsp[0].tree_expression_type));
4058 (yyval.tree_argument_list_type) = (
yyvsp[-2].tree_argument_list_type);
4060 #line 4061 "libinterp/parse-tree/oct-parse.cc"
4064 #line 748 "../libinterp/parse-tree/oct-parse.yy"
4068 (yyval.dummy_type) = 0;
4069 lexer.m_looking_at_indirect_ref =
true;
4071 #line 4072 "libinterp/parse-tree/oct-parse.cc"
4075 #line 757 "../libinterp/parse-tree/oct-parse.yy"
4076 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4077 #line 4078 "libinterp/parse-tree/oct-parse.cc"
4081 #line 759 "../libinterp/parse-tree/oct-parse.yy"
4083 #line 4084 "libinterp/parse-tree/oct-parse.cc"
4087 #line 761 "../libinterp/parse-tree/oct-parse.yy"
4089 #line 4090 "libinterp/parse-tree/oct-parse.cc"
4093 #line 763 "../libinterp/parse-tree/oct-parse.yy"
4099 if (! (yyval.tree_expression_type))
4105 #line 4106 "libinterp/parse-tree/oct-parse.cc"
4109 #line 775 "../libinterp/parse-tree/oct-parse.yy"
4115 if (! (yyval.tree_expression_type))
4121 #line 4122 "libinterp/parse-tree/oct-parse.cc"
4125 #line 787 "../libinterp/parse-tree/oct-parse.yy"
4131 if (! (yyval.tree_expression_type))
4137 #line 4138 "libinterp/parse-tree/oct-parse.cc"
4141 #line 799 "../libinterp/parse-tree/oct-parse.yy"
4147 if (! (yyval.tree_expression_type))
4153 #line 4154 "libinterp/parse-tree/oct-parse.cc"
4157 #line 811 "../libinterp/parse-tree/oct-parse.yy"
4159 #line 4160 "libinterp/parse-tree/oct-parse.cc"
4163 #line 813 "../libinterp/parse-tree/oct-parse.yy"
4165 #line 4166 "libinterp/parse-tree/oct-parse.cc"
4169 #line 815 "../libinterp/parse-tree/oct-parse.yy"
4171 #line 4172 "libinterp/parse-tree/oct-parse.cc"
4175 #line 817 "../libinterp/parse-tree/oct-parse.yy"
4182 #line 4183 "libinterp/parse-tree/oct-parse.cc"
4186 #line 824 "../libinterp/parse-tree/oct-parse.yy"
4188 #line 4189 "libinterp/parse-tree/oct-parse.cc"
4192 #line 826 "../libinterp/parse-tree/oct-parse.yy"
4194 #line 4195 "libinterp/parse-tree/oct-parse.cc"
4198 #line 828 "../libinterp/parse-tree/oct-parse.yy"
4200 #line 4201 "libinterp/parse-tree/oct-parse.cc"
4204 #line 830 "../libinterp/parse-tree/oct-parse.yy"
4205 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'+', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
4206 #line 4207 "libinterp/parse-tree/oct-parse.cc"
4210 #line 832 "../libinterp/parse-tree/oct-parse.yy"
4211 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'-', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
4212 #line 4213 "libinterp/parse-tree/oct-parse.cc"
4216 #line 834 "../libinterp/parse-tree/oct-parse.yy"
4218 #line 4219 "libinterp/parse-tree/oct-parse.cc"
4222 #line 836 "../libinterp/parse-tree/oct-parse.yy"
4224 #line 4225 "libinterp/parse-tree/oct-parse.cc"
4228 #line 838 "../libinterp/parse-tree/oct-parse.yy"
4229 { (yyval.tree_expression_type) = parser.
make_binary_op (
'+', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4230 #line 4231 "libinterp/parse-tree/oct-parse.cc"
4234 #line 840 "../libinterp/parse-tree/oct-parse.yy"
4235 { (yyval.tree_expression_type) = parser.
make_binary_op (
'-', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4236 #line 4237 "libinterp/parse-tree/oct-parse.cc"
4240 #line 842 "../libinterp/parse-tree/oct-parse.yy"
4241 { (yyval.tree_expression_type) = parser.
make_binary_op (
'*', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4242 #line 4243 "libinterp/parse-tree/oct-parse.cc"
4246 #line 844 "../libinterp/parse-tree/oct-parse.yy"
4247 { (yyval.tree_expression_type) = parser.
make_binary_op (
'/', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4248 #line 4249 "libinterp/parse-tree/oct-parse.cc"
4252 #line 846 "../libinterp/parse-tree/oct-parse.yy"
4253 { (yyval.tree_expression_type) = parser.
make_binary_op (
'+', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4254 #line 4255 "libinterp/parse-tree/oct-parse.cc"
4258 #line 848 "../libinterp/parse-tree/oct-parse.yy"
4259 { (yyval.tree_expression_type) = parser.
make_binary_op (
'-', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4260 #line 4261 "libinterp/parse-tree/oct-parse.cc"
4264 #line 850 "../libinterp/parse-tree/oct-parse.yy"
4266 #line 4267 "libinterp/parse-tree/oct-parse.cc"
4270 #line 852 "../libinterp/parse-tree/oct-parse.yy"
4272 #line 4273 "libinterp/parse-tree/oct-parse.cc"
4276 #line 854 "../libinterp/parse-tree/oct-parse.yy"
4278 #line 4279 "libinterp/parse-tree/oct-parse.cc"
4282 #line 856 "../libinterp/parse-tree/oct-parse.yy"
4284 #line 4285 "libinterp/parse-tree/oct-parse.cc"
4288 #line 860 "../libinterp/parse-tree/oct-parse.yy"
4289 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4290 #line 4291 "libinterp/parse-tree/oct-parse.cc"
4294 #line 862 "../libinterp/parse-tree/oct-parse.yy"
4296 #line 4297 "libinterp/parse-tree/oct-parse.cc"
4300 #line 864 "../libinterp/parse-tree/oct-parse.yy"
4302 #line 4303 "libinterp/parse-tree/oct-parse.cc"
4306 #line 866 "../libinterp/parse-tree/oct-parse.yy"
4312 if (! (yyval.tree_expression_type))
4318 #line 4319 "libinterp/parse-tree/oct-parse.cc"
4322 #line 878 "../libinterp/parse-tree/oct-parse.yy"
4328 if (! (yyval.tree_expression_type))
4334 #line 4335 "libinterp/parse-tree/oct-parse.cc"
4338 #line 890 "../libinterp/parse-tree/oct-parse.yy"
4344 if (! (yyval.tree_expression_type))
4350 #line 4351 "libinterp/parse-tree/oct-parse.cc"
4354 #line 902 "../libinterp/parse-tree/oct-parse.yy"
4360 if (! (yyval.tree_expression_type))
4366 #line 4367 "libinterp/parse-tree/oct-parse.cc"
4370 #line 914 "../libinterp/parse-tree/oct-parse.yy"
4372 #line 4373 "libinterp/parse-tree/oct-parse.cc"
4376 #line 916 "../libinterp/parse-tree/oct-parse.yy"
4383 #line 4384 "libinterp/parse-tree/oct-parse.cc"
4387 #line 923 "../libinterp/parse-tree/oct-parse.yy"
4389 #line 4390 "libinterp/parse-tree/oct-parse.cc"
4393 #line 925 "../libinterp/parse-tree/oct-parse.yy"
4395 #line 4396 "libinterp/parse-tree/oct-parse.cc"
4399 #line 927 "../libinterp/parse-tree/oct-parse.yy"
4401 #line 4402 "libinterp/parse-tree/oct-parse.cc"
4405 #line 929 "../libinterp/parse-tree/oct-parse.yy"
4406 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'+', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
4407 #line 4408 "libinterp/parse-tree/oct-parse.cc"
4411 #line 931 "../libinterp/parse-tree/oct-parse.yy"
4412 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'-', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
4413 #line 4414 "libinterp/parse-tree/oct-parse.cc"
4417 #line 935 "../libinterp/parse-tree/oct-parse.yy"
4423 if (! (yyval.tree_expression_type))
4429 #line 4430 "libinterp/parse-tree/oct-parse.cc"
4433 #line 947 "../libinterp/parse-tree/oct-parse.yy"
4440 if (! (yyval.tree_expression_type))
4446 #line 4447 "libinterp/parse-tree/oct-parse.cc"
4450 #line 962 "../libinterp/parse-tree/oct-parse.yy"
4451 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4452 #line 4453 "libinterp/parse-tree/oct-parse.cc"
4456 #line 964 "../libinterp/parse-tree/oct-parse.yy"
4457 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4458 #line 4459 "libinterp/parse-tree/oct-parse.cc"
4462 #line 966 "../libinterp/parse-tree/oct-parse.yy"
4464 #line 4465 "libinterp/parse-tree/oct-parse.cc"
4468 #line 968 "../libinterp/parse-tree/oct-parse.yy"
4470 #line 4471 "libinterp/parse-tree/oct-parse.cc"
4474 #line 970 "../libinterp/parse-tree/oct-parse.yy"
4476 #line 4477 "libinterp/parse-tree/oct-parse.cc"
4480 #line 972 "../libinterp/parse-tree/oct-parse.yy"
4482 #line 4483 "libinterp/parse-tree/oct-parse.cc"
4486 #line 974 "../libinterp/parse-tree/oct-parse.yy"
4488 #line 4489 "libinterp/parse-tree/oct-parse.cc"
4492 #line 976 "../libinterp/parse-tree/oct-parse.yy"
4494 #line 4495 "libinterp/parse-tree/oct-parse.cc"
4498 #line 978 "../libinterp/parse-tree/oct-parse.yy"
4500 #line 4501 "libinterp/parse-tree/oct-parse.cc"
4504 #line 980 "../libinterp/parse-tree/oct-parse.yy"
4506 #line 4507 "libinterp/parse-tree/oct-parse.cc"
4510 #line 982 "../libinterp/parse-tree/oct-parse.yy"
4512 #line 4513 "libinterp/parse-tree/oct-parse.cc"
4516 #line 984 "../libinterp/parse-tree/oct-parse.yy"
4518 #line 4519 "libinterp/parse-tree/oct-parse.cc"
4522 #line 988 "../libinterp/parse-tree/oct-parse.yy"
4526 if ((yyval.tree_argument_list_type))
4527 {
lexer.m_looking_at_matrix_or_assign_lhs =
false; }
4534 #line 4535 "libinterp/parse-tree/oct-parse.cc"
4538 #line 1002 "../libinterp/parse-tree/oct-parse.yy"
4539 { (yyval.tree_expression_type) = parser.
make_assign_op (
'=', (
yyvsp[-2].tree_argument_list_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4540 #line 4541 "libinterp/parse-tree/oct-parse.cc"
4544 #line 1004 "../libinterp/parse-tree/oct-parse.yy"
4546 #line 4547 "libinterp/parse-tree/oct-parse.cc"
4550 #line 1006 "../libinterp/parse-tree/oct-parse.yy"
4552 #line 4553 "libinterp/parse-tree/oct-parse.cc"
4556 #line 1008 "../libinterp/parse-tree/oct-parse.yy"
4558 #line 4559 "libinterp/parse-tree/oct-parse.cc"
4562 #line 1010 "../libinterp/parse-tree/oct-parse.yy"
4564 #line 4565 "libinterp/parse-tree/oct-parse.cc"
4568 #line 1012 "../libinterp/parse-tree/oct-parse.yy"
4570 #line 4571 "libinterp/parse-tree/oct-parse.cc"
4574 #line 1014 "../libinterp/parse-tree/oct-parse.yy"
4576 #line 4577 "libinterp/parse-tree/oct-parse.cc"
4580 #line 1016 "../libinterp/parse-tree/oct-parse.yy"
4582 #line 4583 "libinterp/parse-tree/oct-parse.cc"
4586 #line 1018 "../libinterp/parse-tree/oct-parse.yy"
4588 #line 4589 "libinterp/parse-tree/oct-parse.cc"
4592 #line 1020 "../libinterp/parse-tree/oct-parse.yy"
4594 #line 4595 "libinterp/parse-tree/oct-parse.cc"
4598 #line 1022 "../libinterp/parse-tree/oct-parse.yy"
4600 #line 4601 "libinterp/parse-tree/oct-parse.cc"
4604 #line 1024 "../libinterp/parse-tree/oct-parse.yy"
4606 #line 4607 "libinterp/parse-tree/oct-parse.cc"
4610 #line 1026 "../libinterp/parse-tree/oct-parse.yy"
4612 #line 4613 "libinterp/parse-tree/oct-parse.cc"
4616 #line 1030 "../libinterp/parse-tree/oct-parse.yy"
4618 if ((
yyvsp[0].tree_expression_type) && ((
yyvsp[0].tree_expression_type)->is_matrix () || (
yyvsp[0].tree_expression_type)->iscell ()))
4621 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4624 delete (
yyvsp[0].tree_expression_type);
4629 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4631 #line 4632 "libinterp/parse-tree/oct-parse.cc"
4635 #line 1045 "../libinterp/parse-tree/oct-parse.yy"
4637 if (! (
yyvsp[0].tree_expression_type))
4640 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4642 #line 4643 "libinterp/parse-tree/oct-parse.cc"
4646 #line 1052 "../libinterp/parse-tree/oct-parse.yy"
4647 { (yyval.tree_expression_type) = (
yyvsp[0].tree_anon_fcn_handle_type); }
4648 #line 4649 "libinterp/parse-tree/oct-parse.cc"
4652 #line 1060 "../libinterp/parse-tree/oct-parse.yy"
4653 { (yyval.tree_command_type) = (
yyvsp[0].tree_decl_command_type); }
4654 #line 4655 "libinterp/parse-tree/oct-parse.cc"
4658 #line 1062 "../libinterp/parse-tree/oct-parse.yy"
4659 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4660 #line 4661 "libinterp/parse-tree/oct-parse.cc"
4664 #line 1064 "../libinterp/parse-tree/oct-parse.yy"
4665 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4666 #line 4667 "libinterp/parse-tree/oct-parse.cc"
4670 #line 1066 "../libinterp/parse-tree/oct-parse.yy"
4671 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4672 #line 4673 "libinterp/parse-tree/oct-parse.cc"
4676 #line 1068 "../libinterp/parse-tree/oct-parse.yy"
4677 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4678 #line 4679 "libinterp/parse-tree/oct-parse.cc"
4682 #line 1070 "../libinterp/parse-tree/oct-parse.yy"
4683 { (yyval.tree_command_type) = (
yyvsp[0].tree_function_def_type); }
4684 #line 4685 "libinterp/parse-tree/oct-parse.cc"
4688 #line 1072 "../libinterp/parse-tree/oct-parse.yy"
4689 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4690 #line 4691 "libinterp/parse-tree/oct-parse.cc"
4694 #line 1080 "../libinterp/parse-tree/oct-parse.yy"
4697 lexer.m_looking_at_decl_list =
false;
4699 #line 4700 "libinterp/parse-tree/oct-parse.cc"
4703 #line 1085 "../libinterp/parse-tree/oct-parse.yy"
4706 lexer.m_looking_at_decl_list =
false;
4708 #line 4709 "libinterp/parse-tree/oct-parse.cc"
4712 #line 1092 "../libinterp/parse-tree/oct-parse.yy"
4714 #line 4715 "libinterp/parse-tree/oct-parse.cc"
4718 #line 1094 "../libinterp/parse-tree/oct-parse.yy"
4720 (
yyvsp[-1].tree_decl_init_list_type)->append ((
yyvsp[0].tree_decl_elt_type));
4721 (yyval.tree_decl_init_list_type) = (
yyvsp[-1].tree_decl_init_list_type);
4723 #line 4724 "libinterp/parse-tree/oct-parse.cc"
4727 #line 1101 "../libinterp/parse-tree/oct-parse.yy"
4729 (yyval.dummy_type) = 0;
4730 lexer.m_looking_at_initializer_expression =
true;
4732 #line 4733 "libinterp/parse-tree/oct-parse.cc"
4736 #line 1107 "../libinterp/parse-tree/oct-parse.yy"
4738 #line 4739 "libinterp/parse-tree/oct-parse.cc"
4742 #line 1109 "../libinterp/parse-tree/oct-parse.yy"
4746 lexer.m_looking_at_initializer_expression =
false;
4749 #line 4750 "libinterp/parse-tree/oct-parse.cc"
4753 #line 1122 "../libinterp/parse-tree/oct-parse.yy"
4754 { (yyval.tree_command_type) = (
yyvsp[0].tree_if_command_type); }
4755 #line 4756 "libinterp/parse-tree/oct-parse.cc"
4759 #line 1124 "../libinterp/parse-tree/oct-parse.yy"
4760 { (yyval.tree_command_type) = (
yyvsp[0].tree_switch_command_type); }
4761 #line 4762 "libinterp/parse-tree/oct-parse.cc"
4765 #line 1132 "../libinterp/parse-tree/oct-parse.yy"
4773 #line 4774 "libinterp/parse-tree/oct-parse.cc"
4777 #line 1142 "../libinterp/parse-tree/oct-parse.yy"
4778 { (yyval.tree_if_command_list_type) = (
yyvsp[0].tree_if_command_list_type); }
4779 #line 4780 "libinterp/parse-tree/oct-parse.cc"
4783 #line 1144 "../libinterp/parse-tree/oct-parse.yy"
4785 (
yyvsp[-1].tree_if_command_list_type)->append ((
yyvsp[0].tree_if_clause_type));
4786 (yyval.tree_if_command_list_type) = (
yyvsp[-1].tree_if_command_list_type);
4788 #line 4789 "libinterp/parse-tree/oct-parse.cc"
4792 #line 1151 "../libinterp/parse-tree/oct-parse.yy"
4796 (
yyvsp[-3].tree_expression_type)->mark_braindead_shortcircuit ();
4798 (yyval.tree_if_command_list_type) = parser.
start_if_command ((
yyvsp[-3].tree_expression_type), (
yyvsp[0].tree_statement_list_type));
4800 #line 4801 "libinterp/parse-tree/oct-parse.cc"
4804 #line 1159 "../libinterp/parse-tree/oct-parse.yy"
4806 (
yyvsp[-1].tree_if_command_list_type)->append ((
yyvsp[0].tree_if_clause_type));
4807 (yyval.tree_if_command_list_type) = (
yyvsp[-1].tree_if_command_list_type);
4809 #line 4810 "libinterp/parse-tree/oct-parse.cc"
4813 #line 1166 "../libinterp/parse-tree/oct-parse.yy"
4818 (
yyvsp[-3].tree_expression_type)->mark_braindead_shortcircuit ();
4822 #line 4823 "libinterp/parse-tree/oct-parse.cc"
4826 #line 1177 "../libinterp/parse-tree/oct-parse.yy"
4833 #line 4834 "libinterp/parse-tree/oct-parse.cc"
4837 #line 1190 "../libinterp/parse-tree/oct-parse.yy"
4847 #line 4848 "libinterp/parse-tree/oct-parse.cc"
4851 #line 1202 "../libinterp/parse-tree/oct-parse.yy"
4853 #line 4854 "libinterp/parse-tree/oct-parse.cc"
4857 #line 1204 "../libinterp/parse-tree/oct-parse.yy"
4859 #line 4860 "libinterp/parse-tree/oct-parse.cc"
4863 #line 1206 "../libinterp/parse-tree/oct-parse.yy"
4864 { (yyval.tree_switch_case_list_type) = (
yyvsp[0].tree_switch_case_list_type); }
4865 #line 4866 "libinterp/parse-tree/oct-parse.cc"
4869 #line 1208 "../libinterp/parse-tree/oct-parse.yy"
4871 (
yyvsp[-1].tree_switch_case_list_type)->append ((
yyvsp[0].tree_switch_case_type));
4872 (yyval.tree_switch_case_list_type) = (
yyvsp[-1].tree_switch_case_list_type);
4874 #line 4875 "libinterp/parse-tree/oct-parse.cc"
4878 #line 1215 "../libinterp/parse-tree/oct-parse.yy"
4880 #line 4881 "libinterp/parse-tree/oct-parse.cc"
4884 #line 1217 "../libinterp/parse-tree/oct-parse.yy"
4886 (
yyvsp[-1].tree_switch_case_list_type)->append ((
yyvsp[0].tree_switch_case_type));
4887 (yyval.tree_switch_case_list_type) = (
yyvsp[-1].tree_switch_case_list_type);
4889 #line 4890 "libinterp/parse-tree/oct-parse.cc"
4893 #line 1224 "../libinterp/parse-tree/oct-parse.yy"
4898 (yyval.tree_switch_case_type) = parser.
make_switch_case ((
yyvsp[-6].tok_val), (
yyvsp[-3].tree_expression_type), (
yyvsp[0].tree_statement_list_type), (
yyvsp[-5].comment_type));
4900 #line 4901 "libinterp/parse-tree/oct-parse.cc"
4904 #line 1233 "../libinterp/parse-tree/oct-parse.yy"
4911 #line 4912 "libinterp/parse-tree/oct-parse.cc"
4915 #line 1246 "../libinterp/parse-tree/oct-parse.yy"
4919 (
yyvsp[-4].tree_expression_type)->mark_braindead_shortcircuit ();
4927 #line 4928 "libinterp/parse-tree/oct-parse.cc"
4931 #line 1258 "../libinterp/parse-tree/oct-parse.yy"
4938 #line 4939 "libinterp/parse-tree/oct-parse.cc"
4942 #line 1265 "../libinterp/parse-tree/oct-parse.yy"
4948 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4954 #line 4955 "libinterp/parse-tree/oct-parse.cc"
4958 #line 1277 "../libinterp/parse-tree/oct-parse.yy"
4966 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-8].comment_type))))
4972 #line 4973 "libinterp/parse-tree/oct-parse.cc"
4976 #line 1291 "../libinterp/parse-tree/oct-parse.yy"
4982 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4988 #line 4989 "libinterp/parse-tree/oct-parse.cc"
4992 #line 1303 "../libinterp/parse-tree/oct-parse.yy"
5001 (
yyvsp[-4].tree_expression_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-10].comment_type))))
5007 #line 5008 "libinterp/parse-tree/oct-parse.cc"
5011 #line 1324 "../libinterp/parse-tree/oct-parse.yy"
5016 #line 5017 "libinterp/parse-tree/oct-parse.cc"
5020 #line 1329 "../libinterp/parse-tree/oct-parse.yy"
5025 #line 5026 "libinterp/parse-tree/oct-parse.cc"
5029 #line 1334 "../libinterp/parse-tree/oct-parse.yy"
5031 #line 5032 "libinterp/parse-tree/oct-parse.cc"
5035 #line 1343 "../libinterp/parse-tree/oct-parse.yy"
5047 #line 5048 "libinterp/parse-tree/oct-parse.cc"
5051 #line 1356 "../libinterp/parse-tree/oct-parse.yy"
5057 if (! ((yyval.tree_command_type) = parser.
make_try_command ((
yyvsp[-8].tok_val), (
yyvsp[-5].tree_statement_list_type), (
yyvsp[-2].punct_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type), (
yyvsp[-3].comment_type))))
5063 #line 5064 "libinterp/parse-tree/oct-parse.cc"
5067 #line 1368 "../libinterp/parse-tree/oct-parse.yy"
5071 if (! ((yyval.tree_command_type) = parser.
make_try_command ((
yyvsp[-4].tok_val), (
yyvsp[-1].tree_statement_list_type), 0,
nullptr,
5072 (
yyvsp[0].tok_val), (
yyvsp[-3].comment_type),
nullptr)))
5078 #line 5079 "libinterp/parse-tree/oct-parse.cc"
5082 #line 1385 "../libinterp/parse-tree/oct-parse.yy"
5087 (yyval.dummy_type) = 0;
5089 #line 5090 "libinterp/parse-tree/oct-parse.cc"
5093 #line 1398 "../libinterp/parse-tree/oct-parse.yy"
5097 (yyval.dummy_type) = 0;
5098 lexer.m_looking_at_parameter_list =
true;
5100 if (
lexer.m_looking_at_function_handle)
5104 lexer.m_looking_at_function_handle--;
5105 lexer.m_looking_at_anon_fcn_args =
true;
5108 #line 5109 "libinterp/parse-tree/oct-parse.cc"
5112 #line 1415 "../libinterp/parse-tree/oct-parse.yy"
5116 (yyval.dummy_type) = 0;
5117 lexer.m_looking_at_parameter_list =
false;
5118 lexer.m_looking_for_object_index =
false;
5120 #line 5121 "libinterp/parse-tree/oct-parse.cc"
5124 #line 1425 "../libinterp/parse-tree/oct-parse.yy"
5125 { (yyval.tree_parameter_list_type) =
nullptr; }
5126 #line 5127 "libinterp/parse-tree/oct-parse.cc"
5130 #line 1427 "../libinterp/parse-tree/oct-parse.yy"
5131 { (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type); }
5132 #line 5133 "libinterp/parse-tree/oct-parse.cc"
5136 #line 1431 "../libinterp/parse-tree/oct-parse.yy"
5138 if ((
yyvsp[-1].tree_parameter_list_type))
5139 lexer.mark_as_variables ((
yyvsp[-1].tree_parameter_list_type)->variable_names ());
5141 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
5143 #line 5144 "libinterp/parse-tree/oct-parse.cc"
5147 #line 1438 "../libinterp/parse-tree/oct-parse.yy"
5149 (yyval.tree_parameter_list_type) =
nullptr;
5153 #line 5154 "libinterp/parse-tree/oct-parse.cc"
5157 #line 1446 "../libinterp/parse-tree/oct-parse.yy"
5159 #line 5160 "libinterp/parse-tree/oct-parse.cc"
5163 #line 1448 "../libinterp/parse-tree/oct-parse.yy"
5165 (
yyvsp[0].tree_parameter_list_type)->mark_as_formal_parameters ();
5169 lexer.mark_as_variables ((
yyvsp[0].tree_parameter_list_type)->variable_names ());
5170 (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type);
5174 delete (
yyvsp[0].tree_parameter_list_type);
5178 #line 5179 "libinterp/parse-tree/oct-parse.cc"
5182 #line 1465 "../libinterp/parse-tree/oct-parse.yy"
5184 #line 5185 "libinterp/parse-tree/oct-parse.cc"
5188 #line 1467 "../libinterp/parse-tree/oct-parse.yy"
5192 (
yyvsp[-2].tree_parameter_list_type)->append ((
yyvsp[0].tree_decl_elt_type));
5193 (yyval.tree_parameter_list_type) = (
yyvsp[-2].tree_parameter_list_type);
5195 #line 5196 "libinterp/parse-tree/oct-parse.cc"
5199 #line 1476 "../libinterp/parse-tree/oct-parse.yy"
5200 { (yyval.tree_decl_elt_type) = (
yyvsp[0].tree_decl_elt_type); }
5201 #line 5202 "libinterp/parse-tree/oct-parse.cc"
5205 #line 1478 "../libinterp/parse-tree/oct-parse.yy"
5207 #line 5208 "libinterp/parse-tree/oct-parse.cc"
5211 #line 1486 "../libinterp/parse-tree/oct-parse.yy"
5216 lexer.m_looking_at_return_list =
false;
5220 #line 5221 "libinterp/parse-tree/oct-parse.cc"
5224 #line 1495 "../libinterp/parse-tree/oct-parse.yy"
5226 lexer.m_looking_at_return_list =
false;
5236 (yyval.tree_parameter_list_type) = tmp;
5243 #line 5244 "libinterp/parse-tree/oct-parse.cc"
5247 #line 1514 "../libinterp/parse-tree/oct-parse.yy"
5252 lexer.m_looking_at_return_list =
false;
5258 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
5261 delete (
yyvsp[-1].tree_parameter_list_type);
5265 #line 5266 "libinterp/parse-tree/oct-parse.cc"
5269 #line 1534 "../libinterp/parse-tree/oct-parse.yy"
5273 #line 5274 "libinterp/parse-tree/oct-parse.cc"
5277 #line 1538 "../libinterp/parse-tree/oct-parse.yy"
5282 (yyval.tree_parameter_list_type) = (
yyvsp[-2].tree_parameter_list_type);
5284 #line 5285 "libinterp/parse-tree/oct-parse.cc"
5288 #line 1552 "../libinterp/parse-tree/oct-parse.yy"
5290 #line 5291 "libinterp/parse-tree/oct-parse.cc"
5294 #line 1556 "../libinterp/parse-tree/oct-parse.yy"
5296 (yyval.dummy_type) = 0;
5302 #line 5303 "libinterp/parse-tree/oct-parse.cc"
5306 #line 1566 "../libinterp/parse-tree/oct-parse.yy"
5307 { (yyval.dummy_type) = 0; }
5308 #line 5309 "libinterp/parse-tree/oct-parse.cc"
5312 #line 1570 "../libinterp/parse-tree/oct-parse.yy"
5316 if (
lexer.m_reading_fcn_file)
5325 lexer.m_symtab_context.pop ();
5327 delete (
yyvsp[-1].tree_statement_list_type);
5332 = parser.
make_end (
"endscript",
true,
5333 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5338 (yyval.tree_command_type) =
nullptr;
5340 #line 5341 "libinterp/parse-tree/oct-parse.cc"
5344 #line 1598 "../libinterp/parse-tree/oct-parse.yy"
5351 lexer.m_symtab_context.pop ();
5355 (yyval.tree_command_type) =
nullptr;
5357 #line 5358 "libinterp/parse-tree/oct-parse.cc"
5361 #line 1617 "../libinterp/parse-tree/oct-parse.yy"
5363 (yyval.tok_val) = (
yyvsp[0].tok_val);
5364 if (
lexer.m_reading_classdef_file
5365 ||
lexer.m_parsing_classdef)
5366 lexer.m_maybe_classdef_get_set_method =
true;
5368 #line 5369 "libinterp/parse-tree/oct-parse.cc"
5372 #line 1626 "../libinterp/parse-tree/oct-parse.yy"
5374 (yyval.tree_identifier_type) = parser.
make_fcn_name ((
yyvsp[0].tree_identifier_type));
5375 if (! (yyval.tree_identifier_type))
5381 #line 5382 "libinterp/parse-tree/oct-parse.cc"
5385 #line 1635 "../libinterp/parse-tree/oct-parse.yy"
5390 lexer.m_parsed_function_name.top () =
true;
5391 lexer.m_maybe_classdef_get_set_method =
false;
5392 lexer.m_parsing_classdef_get_method =
true;
5393 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5395 #line 5396 "libinterp/parse-tree/oct-parse.cc"
5399 #line 1645 "../libinterp/parse-tree/oct-parse.yy"
5404 lexer.m_parsed_function_name.top () =
true;
5405 lexer.m_maybe_classdef_get_set_method =
false;
5406 lexer.m_parsing_classdef_set_method =
true;
5407 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5409 #line 5410 "libinterp/parse-tree/oct-parse.cc"
5413 #line 1657 "../libinterp/parse-tree/oct-parse.yy"
5418 (yyval.tree_statement_type) = parser.
make_end (
"endfunction",
false,
5419 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5426 #line 5427 "libinterp/parse-tree/oct-parse.cc"
5430 #line 1670 "../libinterp/parse-tree/oct-parse.yy"
5441 parser.
bison_error (
"inconsistent function endings -- "
5442 "if one function is explicitly ended, "
5443 "so must all the others");
5447 if (! (
lexer.m_reading_fcn_file ||
lexer.m_reading_script_file
5448 ||
lexer.input_from_eval_string ()))
5450 parser.
bison_error (
"function body open at end of input");
5454 if (
lexer.m_reading_classdef_file)
5456 parser.
bison_error (
"classdef body open at end of input");
5460 (yyval.tree_statement_type) = parser.
make_end (
"endfunction",
true,
5461 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5463 #line 5464 "libinterp/parse-tree/oct-parse.cc"
5467 #line 1706 "../libinterp/parse-tree/oct-parse.yy"
5471 (yyval.tree_function_def_type) = parser.
make_function ((
yyvsp[-6].tok_val),
nullptr, (
yyvsp[-4].tree_identifier_type), (
yyvsp[-3].tree_parameter_list_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tree_statement_type), (
yyvsp[-5].comment_type));
5473 #line 5474 "libinterp/parse-tree/oct-parse.cc"
5477 #line 1713 "../libinterp/parse-tree/oct-parse.yy"
5482 (yyval.tree_function_def_type) = parser.
make_function ((
yyvsp[-8].tok_val), (
yyvsp[-6].tree_parameter_list_type), (
yyvsp[-4].tree_identifier_type), (
yyvsp[-3].tree_parameter_list_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tree_statement_type), (
yyvsp[-7].comment_type));
5484 #line 5485 "libinterp/parse-tree/oct-parse.cc"
5488 #line 1726 "../libinterp/parse-tree/oct-parse.yy"
5490 if (!
lexer.m_reading_classdef_file)
5492 parser.
bison_error (
"classdef must appear inside a file containing only a class definition");
5498 lexer.m_parsing_classdef =
true;
5499 lexer.m_parsing_classdef_decl =
true;
5501 (yyval.tok_val) = (
yyvsp[0].tok_val);
5503 #line 5504 "libinterp/parse-tree/oct-parse.cc"
5507 #line 1743 "../libinterp/parse-tree/oct-parse.yy"
5514 lexer.m_parsing_classdef =
false;
5516 if (! ((yyval.tree_classdef_type) = parser.
make_classdef ((
yyvsp[-7].tok_val), (
yyvsp[-5].tree_classdef_attribute_list_type), (
yyvsp[-4].tree_identifier_type), (
yyvsp[-2].tree_classdef_superclass_list_type), (
yyvsp[-1].tree_classdef_body_type), (
yyvsp[0].tok_val),
5524 #line 5525 "libinterp/parse-tree/oct-parse.cc"
5528 #line 1762 "../libinterp/parse-tree/oct-parse.yy"
5529 { (yyval.tree_classdef_attribute_list_type) =
nullptr; }
5530 #line 5531 "libinterp/parse-tree/oct-parse.cc"
5534 #line 1764 "../libinterp/parse-tree/oct-parse.yy"
5540 (yyval.tree_classdef_attribute_list_type) = (
yyvsp[-2].tree_classdef_attribute_list_type);
5542 #line 5543 "libinterp/parse-tree/oct-parse.cc"
5546 #line 1774 "../libinterp/parse-tree/oct-parse.yy"
5548 #line 5549 "libinterp/parse-tree/oct-parse.cc"
5552 #line 1776 "../libinterp/parse-tree/oct-parse.yy"
5556 (
yyvsp[-2].tree_classdef_attribute_list_type)->append ((
yyvsp[0].tree_classdef_attribute_type));
5557 (yyval.tree_classdef_attribute_list_type) = (
yyvsp[-2].tree_classdef_attribute_list_type);
5559 #line 5560 "libinterp/parse-tree/oct-parse.cc"
5563 #line 1785 "../libinterp/parse-tree/oct-parse.yy"
5565 #line 5566 "libinterp/parse-tree/oct-parse.cc"
5569 #line 1787 "../libinterp/parse-tree/oct-parse.yy"
5573 lexer.m_looking_at_initializer_expression =
false;
5576 #line 5577 "libinterp/parse-tree/oct-parse.cc"
5580 #line 1794 "../libinterp/parse-tree/oct-parse.yy"
5586 #line 5587 "libinterp/parse-tree/oct-parse.cc"
5590 #line 1802 "../libinterp/parse-tree/oct-parse.yy"
5592 lexer.m_parsing_classdef_decl =
false;
5593 lexer.m_parsing_classdef_superclass =
false;
5595 (yyval.tree_classdef_superclass_list_type) =
nullptr;
5597 #line 5598 "libinterp/parse-tree/oct-parse.cc"
5601 #line 1809 "../libinterp/parse-tree/oct-parse.yy"
5605 lexer.m_parsing_classdef_decl =
false;
5606 lexer.m_parsing_classdef_superclass =
false;
5608 (yyval.tree_classdef_superclass_list_type) = (
yyvsp[-1].tree_classdef_superclass_list_type);
5610 #line 5611 "libinterp/parse-tree/oct-parse.cc"
5614 #line 1821 "../libinterp/parse-tree/oct-parse.yy"
5620 #line 5621 "libinterp/parse-tree/oct-parse.cc"
5624 #line 1827 "../libinterp/parse-tree/oct-parse.yy"
5628 (
yyvsp[-2].tree_classdef_superclass_list_type)->append ((
yyvsp[0].tree_classdef_superclass_type));
5629 (yyval.tree_classdef_superclass_list_type) = (
yyvsp[-2].tree_classdef_superclass_list_type);
5631 #line 5632 "libinterp/parse-tree/oct-parse.cc"
5635 #line 1836 "../libinterp/parse-tree/oct-parse.yy"
5637 #line 5638 "libinterp/parse-tree/oct-parse.cc"
5641 #line 1840 "../libinterp/parse-tree/oct-parse.yy"
5642 { (yyval.tree_classdef_body_type) =
nullptr; }
5643 #line 5644 "libinterp/parse-tree/oct-parse.cc"
5647 #line 1842 "../libinterp/parse-tree/oct-parse.yy"
5651 (yyval.tree_classdef_body_type) = (
yyvsp[-1].tree_classdef_body_type);
5653 #line 5654 "libinterp/parse-tree/oct-parse.cc"
5657 #line 1850 "../libinterp/parse-tree/oct-parse.yy"
5659 #line 5660 "libinterp/parse-tree/oct-parse.cc"
5663 #line 1852 "../libinterp/parse-tree/oct-parse.yy"
5665 #line 5666 "libinterp/parse-tree/oct-parse.cc"
5669 #line 1854 "../libinterp/parse-tree/oct-parse.yy"
5671 #line 5672 "libinterp/parse-tree/oct-parse.cc"
5675 #line 1856 "../libinterp/parse-tree/oct-parse.yy"
5677 #line 5678 "libinterp/parse-tree/oct-parse.cc"
5681 #line 1858 "../libinterp/parse-tree/oct-parse.yy"
5685 (
yyvsp[-2].tree_classdef_body_type)->append ((
yyvsp[0].tree_classdef_properties_block_type));
5686 (yyval.tree_classdef_body_type) = (
yyvsp[-2].tree_classdef_body_type);
5688 #line 5689 "libinterp/parse-tree/oct-parse.cc"
5692 #line 1865 "../libinterp/parse-tree/oct-parse.yy"
5696 (
yyvsp[-2].tree_classdef_body_type)->append ((
yyvsp[0].tree_classdef_methods_block_type));
5697 (yyval.tree_classdef_body_type) = (
yyvsp[-2].tree_classdef_body_type);
5699 #line 5700 "libinterp/parse-tree/oct-parse.cc"
5703 #line 1872 "../libinterp/parse-tree/oct-parse.yy"
5707 (
yyvsp[-2].tree_classdef_body_type)->append ((
yyvsp[0].tree_classdef_events_block_type));
5708 (yyval.tree_classdef_body_type) = (
yyvsp[-2].tree_classdef_body_type);
5710 #line 5711 "libinterp/parse-tree/oct-parse.cc"
5714 #line 1879 "../libinterp/parse-tree/oct-parse.yy"
5718 (
yyvsp[-2].tree_classdef_body_type)->append ((
yyvsp[0].tree_classdef_enum_block_type));
5719 (yyval.tree_classdef_body_type) = (
yyvsp[-2].tree_classdef_body_type);
5721 #line 5722 "libinterp/parse-tree/oct-parse.cc"
5725 #line 1889 "../libinterp/parse-tree/oct-parse.yy"
5733 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_property_list_type), (
yyvsp[0].tok_val), lc, tc)))
5740 #line 5741 "libinterp/parse-tree/oct-parse.cc"
5744 #line 1906 "../libinterp/parse-tree/oct-parse.yy"
5745 { (yyval.tree_classdef_property_list_type) =
nullptr; }
5746 #line 5747 "libinterp/parse-tree/oct-parse.cc"
5750 #line 1908 "../libinterp/parse-tree/oct-parse.yy"
5754 (yyval.tree_classdef_property_list_type) = (
yyvsp[-1].tree_classdef_property_list_type);
5756 #line 5757 "libinterp/parse-tree/oct-parse.cc"
5760 #line 1917 "../libinterp/parse-tree/oct-parse.yy"
5762 #line 5763 "libinterp/parse-tree/oct-parse.cc"
5766 #line 1919 "../libinterp/parse-tree/oct-parse.yy"
5793 (
yyvsp[-2].tree_classdef_property_list_type)->append ((
yyvsp[0].tree_classdef_property_type));
5794 (yyval.tree_classdef_property_list_type) = (
yyvsp[-2].tree_classdef_property_list_type);
5796 #line 5797 "libinterp/parse-tree/oct-parse.cc"
5800 #line 1951 "../libinterp/parse-tree/oct-parse.yy"
5804 #line 5805 "libinterp/parse-tree/oct-parse.cc"
5808 #line 1955 "../libinterp/parse-tree/oct-parse.yy"
5812 lexer.m_looking_at_initializer_expression =
false;
5816 #line 5817 "libinterp/parse-tree/oct-parse.cc"
5820 #line 1965 "../libinterp/parse-tree/oct-parse.yy"
5828 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_methods_list_type), (
yyvsp[0].tok_val), lc, tc)))
5835 #line 5836 "libinterp/parse-tree/oct-parse.cc"
5839 #line 1982 "../libinterp/parse-tree/oct-parse.yy"
5844 #line 5845 "libinterp/parse-tree/oct-parse.cc"
5848 #line 1987 "../libinterp/parse-tree/oct-parse.yy"
5853 #line 5854 "libinterp/parse-tree/oct-parse.cc"
5857 #line 1994 "../libinterp/parse-tree/oct-parse.yy"
5859 #line 5860 "libinterp/parse-tree/oct-parse.cc"
5863 #line 1996 "../libinterp/parse-tree/oct-parse.yy"
5867 lexer.m_defining_func++;
5868 lexer.m_parsed_function_name.push (
false);
5870 #line 5871 "libinterp/parse-tree/oct-parse.cc"
5874 #line 2003 "../libinterp/parse-tree/oct-parse.yy"
5876 lexer.m_defining_func--;
5877 lexer.m_parsed_function_name.pop ();
5881 #line 5882 "libinterp/parse-tree/oct-parse.cc"
5885 #line 2012 "../libinterp/parse-tree/oct-parse.yy"
5886 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5887 #line 5888 "libinterp/parse-tree/oct-parse.cc"
5891 #line 2014 "../libinterp/parse-tree/oct-parse.yy"
5892 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5893 #line 5894 "libinterp/parse-tree/oct-parse.cc"
5897 #line 2018 "../libinterp/parse-tree/oct-parse.yy"
5898 { (yyval.tree_classdef_methods_list_type) =
nullptr; }
5899 #line 5900 "libinterp/parse-tree/oct-parse.cc"
5903 #line 2020 "../libinterp/parse-tree/oct-parse.yy"
5907 (yyval.tree_classdef_methods_list_type) = (
yyvsp[-1].tree_classdef_methods_list_type);
5909 #line 5910 "libinterp/parse-tree/oct-parse.cc"
5913 #line 2028 "../libinterp/parse-tree/oct-parse.yy"
5916 if ((
yyvsp[0].tree_function_def_type))
5917 fcn = (
yyvsp[0].tree_function_def_type)->function ();
5918 delete (
yyvsp[0].tree_function_def_type);
5921 #line 5922 "libinterp/parse-tree/oct-parse.cc"
5925 #line 2036 "../libinterp/parse-tree/oct-parse.yy"
5930 if ((
yyvsp[0].tree_function_def_type))
5931 fcn = (
yyvsp[0].tree_function_def_type)->
function ();
5932 delete (
yyvsp[0].tree_function_def_type);
5934 (
yyvsp[-2].tree_classdef_methods_list_type)->append (fcn);
5935 (yyval.tree_classdef_methods_list_type) = (
yyvsp[-2].tree_classdef_methods_list_type);
5937 #line 5938 "libinterp/parse-tree/oct-parse.cc"
5941 #line 2050 "../libinterp/parse-tree/oct-parse.yy"
5949 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_events_list_type), (
yyvsp[0].tok_val), lc, tc)))
5956 #line 5957 "libinterp/parse-tree/oct-parse.cc"
5960 #line 2067 "../libinterp/parse-tree/oct-parse.yy"
5961 { (yyval.tree_classdef_events_list_type) =
nullptr; }
5962 #line 5963 "libinterp/parse-tree/oct-parse.cc"
5966 #line 2069 "../libinterp/parse-tree/oct-parse.yy"
5970 (yyval.tree_classdef_events_list_type) = (
yyvsp[-1].tree_classdef_events_list_type);
5972 #line 5973 "libinterp/parse-tree/oct-parse.cc"
5976 #line 2077 "../libinterp/parse-tree/oct-parse.yy"
5978 #line 5979 "libinterp/parse-tree/oct-parse.cc"
5982 #line 2079 "../libinterp/parse-tree/oct-parse.yy"
5986 (
yyvsp[-2].tree_classdef_events_list_type)->append ((
yyvsp[0].tree_classdef_event_type));
5987 (yyval.tree_classdef_events_list_type) = (
yyvsp[-2].tree_classdef_events_list_type);
5989 #line 5990 "libinterp/parse-tree/oct-parse.cc"
5993 #line 2088 "../libinterp/parse-tree/oct-parse.yy"
5995 #line 5996 "libinterp/parse-tree/oct-parse.cc"
5999 #line 2092 "../libinterp/parse-tree/oct-parse.yy"
6007 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_enum_list_type), (
yyvsp[0].tok_val), lc, tc)))
6014 #line 6015 "libinterp/parse-tree/oct-parse.cc"
6018 #line 2109 "../libinterp/parse-tree/oct-parse.yy"
6019 { (yyval.tree_classdef_enum_list_type) =
nullptr; }
6020 #line 6021 "libinterp/parse-tree/oct-parse.cc"
6024 #line 2111 "../libinterp/parse-tree/oct-parse.yy"
6028 (yyval.tree_classdef_enum_list_type) = (
yyvsp[-1].tree_classdef_enum_list_type);
6030 #line 6031 "libinterp/parse-tree/oct-parse.cc"
6034 #line 2119 "../libinterp/parse-tree/oct-parse.yy"
6036 #line 6037 "libinterp/parse-tree/oct-parse.cc"
6040 #line 2121 "../libinterp/parse-tree/oct-parse.yy"
6044 (
yyvsp[-2].tree_classdef_enum_list_type)->append ((
yyvsp[0].tree_classdef_enum_type));
6045 (yyval.tree_classdef_enum_list_type) = (
yyvsp[-2].tree_classdef_enum_list_type);
6047 #line 6048 "libinterp/parse-tree/oct-parse.cc"
6051 #line 2130 "../libinterp/parse-tree/oct-parse.yy"
6058 #line 6059 "libinterp/parse-tree/oct-parse.cc"
6062 #line 2143 "../libinterp/parse-tree/oct-parse.yy"
6064 (yyval.dummy_type) = 0;
6065 lexer.m_at_beginning_of_statement =
true;
6067 #line 6068 "libinterp/parse-tree/oct-parse.cc"
6071 #line 2150 "../libinterp/parse-tree/oct-parse.yy"
6073 (yyval.dummy_type) = 0;
6074 lexer.m_at_beginning_of_statement =
true;
6075 lexer.m_parsing_anon_fcn_body =
true;
6077 #line 6078 "libinterp/parse-tree/oct-parse.cc"
6081 #line 2158 "../libinterp/parse-tree/oct-parse.yy"
6082 { (yyval.comment_type) =
lexer.get_comment (); }
6083 #line 6084 "libinterp/parse-tree/oct-parse.cc"
6087 #line 2162 "../libinterp/parse-tree/oct-parse.yy"
6089 (yyval.dummy_type) = 0;
6090 std::string msg = (
yyvsp[0].tok_val)->
text ();
6093 #line 6094 "libinterp/parse-tree/oct-parse.cc"
6097 #line 2168 "../libinterp/parse-tree/oct-parse.yy"
6098 { (yyval.dummy_type) = 0; }
6099 #line 6100 "libinterp/parse-tree/oct-parse.cc"
6103 #line 2172 "../libinterp/parse-tree/oct-parse.yy"
6107 (yyval.punct_type) =
',';
6109 #line 6110 "libinterp/parse-tree/oct-parse.cc"
6113 #line 2178 "../libinterp/parse-tree/oct-parse.yy"
6117 (yyval.punct_type) =
';';
6119 #line 6120 "libinterp/parse-tree/oct-parse.cc"
6123 #line 2184 "../libinterp/parse-tree/oct-parse.yy"
6127 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6129 #line 6130 "libinterp/parse-tree/oct-parse.cc"
6133 #line 2190 "../libinterp/parse-tree/oct-parse.yy"
6137 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6139 #line 6140 "libinterp/parse-tree/oct-parse.cc"
6143 #line 2198 "../libinterp/parse-tree/oct-parse.yy"
6144 { (yyval.punct_type) = 0; }
6145 #line 6146 "libinterp/parse-tree/oct-parse.cc"
6149 #line 2200 "../libinterp/parse-tree/oct-parse.yy"
6150 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6151 #line 6152 "libinterp/parse-tree/oct-parse.cc"
6155 #line 2204 "../libinterp/parse-tree/oct-parse.yy"
6156 { (yyval.punct_type) = 0; }
6157 #line 6158 "libinterp/parse-tree/oct-parse.cc"
6161 #line 2206 "../libinterp/parse-tree/oct-parse.yy"
6162 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6163 #line 6164 "libinterp/parse-tree/oct-parse.cc"
6167 #line 2210 "../libinterp/parse-tree/oct-parse.yy"
6171 (yyval.punct_type) =
'\n';
6173 #line 6174 "libinterp/parse-tree/oct-parse.cc"
6177 #line 2216 "../libinterp/parse-tree/oct-parse.yy"
6181 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6183 #line 6184 "libinterp/parse-tree/oct-parse.cc"
6187 #line 2224 "../libinterp/parse-tree/oct-parse.yy"
6191 (yyval.punct_type) =
',';
6193 #line 6194 "libinterp/parse-tree/oct-parse.cc"
6197 #line 2230 "../libinterp/parse-tree/oct-parse.yy"
6201 (yyval.punct_type) =
';';
6203 #line 6204 "libinterp/parse-tree/oct-parse.cc"
6207 #line 2236 "../libinterp/parse-tree/oct-parse.yy"
6211 (yyval.punct_type) =
'\n';
6213 #line 6214 "libinterp/parse-tree/oct-parse.cc"
6217 #line 2242 "../libinterp/parse-tree/oct-parse.yy"
6221 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6223 #line 6224 "libinterp/parse-tree/oct-parse.cc"
6227 #line 2248 "../libinterp/parse-tree/oct-parse.yy"
6231 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6233 #line 6234 "libinterp/parse-tree/oct-parse.cc"
6237 #line 2254 "../libinterp/parse-tree/oct-parse.yy"
6241 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6243 #line 6244 "libinterp/parse-tree/oct-parse.cc"
6247 #line 2262 "../libinterp/parse-tree/oct-parse.yy"
6248 { (yyval.punct_type) = 0; }
6249 #line 6250 "libinterp/parse-tree/oct-parse.cc"
6253 #line 2264 "../libinterp/parse-tree/oct-parse.yy"
6254 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6255 #line 6256 "libinterp/parse-tree/oct-parse.cc"
6259 #line 6260 "libinterp/parse-tree/oct-parse.cc"
6323 yytoken, &
yylval, parser);
6412 #if !defined yyoverflow
6433 yytoken, &
yylval, parser);
6466 #line 2267 "../libinterp/parse-tree/oct-parse.yy"
6469 #if defined (HAVE_PRAGMA_GCC_DIAGNOSTIC)
6471 # pragma GCC diagnostic pop
6496 m_info.push_back (elt);
6519 std::string full_name;
6521 for (
size_t i = 0; i < size()-1; i++)
6525 if (
name == elt.second)
6528 full_name += elt.second +
">";
6533 if (m_all_names.find (full_name) != m_all_names.end ())
6539 return ! (m_parser.parsing_subfunctions ()
6540 || m_parser.parsing_local_functions ()
6541 || m_parser.curr_fcn_depth () > 0);
6544 m_all_names.insert (full_name);
6552 if (! name_ok (
name))
6556 m_info.back().second =
name;
6564 return size () > 1 ? m_info[size()-2].first :
symbol_scope ();
6570 return m_info[size()-2].second;
6576 m_all_names.clear ();
6634 std::string
retval =
"<unknown>";
6647 retval =
"endenumeration";
6675 retval =
"endproperties";
6683 retval =
"end_try_catch";
6687 retval =
"end_unwind_protect";
6712 while (! lst->empty ())
6726 +
"' command matched by '"
6763 bison_error (
"nested functions not implemented in this context");
6776 int l = tok_val->
line ();
6777 int c = tok_val->
column ();
6802 std::string txt = tok_val->
text ();
6804 char delim = op ==
DQ_STRING ?
'"' :
'\'';
6822 retval->stash_original_text (delim + txt + delim);
6839 int l = tok_val->
line ();
6840 int c = tok_val->
column ();
6860 if (! validator.
ok ())
6880 int at_line = at_pos.
line ();
6881 int at_column = at_pos.
column ();
6885 parent_scope, at_line, at_column);
6887 std::ostringstream buf;
6894 if (! file.empty ())
6895 buf <<
": file: " << file;
6897 buf <<
": *terminal input*";
6899 buf <<
": *eval string*";
6900 buf <<
": line: " << at_line <<
" column: " << at_column;
6902 std::string scope_name = buf.str ();
6922 if (! base || ! limit)
6931 int l = base->
line ();
6971 std::ostringstream buf;
7080 int l = tok_val->
line ();
7081 int c = tok_val->
column ();
7109 int l = tok_val->
line ();
7110 int c = tok_val->
column ();
7149 int l = tok_val->
line ();
7150 int c = tok_val->
column ();
7185 int l = tok_val->
line ();
7186 int c = tok_val->
column ();
7207 int l = unwind_tok->
line ();
7208 int c = unwind_tok->
column ();
7216 delete cleanup_stmts;
7241 int l = try_tok->
line ();
7242 int c = try_tok->
column ();
7246 if (! catch_sep && cleanup_stmts && ! cleanup_stmts->
empty ())
7272 delete cleanup_stmts;
7299 int l = while_tok->
line ();
7300 int c = while_tok->
column ();
7329 int l = until_tok->
line ();
7330 int c = until_tok->
column ();
7348 bool parfor = tok_id ==
PARFOR;
7358 int l = for_tok->
line ();
7359 int c = for_tok->
column ();
7366 body, lc, tc, l, c);
7379 bison_error (
"invalid syntax for parfor statement");
7404 int l = break_tok->
line ();
7405 int c = break_tok->
column ();
7421 int l = continue_tok->
line ();
7422 int c = continue_tok->
column ();
7426 bison_error (
"continue must appear within a loop");
7438 int l = return_tok->
line ();
7439 int c = return_tok->
column ();
7471 int l = if_tok->
line ();
7472 int c = if_tok->
column ();
7474 if (list && ! list->
empty ())
7507 int l = elseif_tok->
line ();
7508 int c = elseif_tok->
column ();
7528 int l = switch_tok->
line ();
7529 int c = switch_tok->
column ();
7531 if (list && ! list->
empty ())
7565 int l = case_tok->
line ();
7566 int c = case_tok->
column ();
7638 int l = eq_tok->
line ();
7639 int c = eq_tok->
column ();
7649 bison_error (
"computed multiple assignment not allowed",
7664 std::string kw = tmp->
name ();
7670 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7684 for (
const auto& kw : names)
7691 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7711 cmds->
append (end_script);
7738 std::string id_name =
id->
name ();
7747 bison_error (
"duplicate subfunction or nested function name",
7778 int l = fcn_tok->
line ();
7779 int c = fcn_tok->
column ();
7801 std::string id_name =
id->
name ();
7806 id_name.insert (0,
"get.");
7808 id_name.insert (0,
"set.");
7816 body->
append (end_fcn_stmt);
7820 param_list,
nullptr, body);
7826 end_fcn_stmt->
column ());
7843 if (pos != std::string::npos)
7849 (
"Octave:function-name-clash",
7850 "function name '%s' does not agree with function filename '%s'",
7897 "time stamp for '%s' is in the future", nm.c_str ());
7904 warning (
"function '%s' defined within script file '%s'",
7931 int l = beg_pos.
line ();
7932 int c = beg_pos.
column ();
7952 std::string fcn_nm = fcn->
name ();
7955 std::string tmp = fcn_nm;
7956 if (! file.empty ())
8002 std::list<std::string> plst
8078 std::string cls_name =
id->name ();
8084 if (pos != std::string::npos)
8089 int l =
id->line ();
8090 int c =
id->column ();
8099 bison_error (
"invalid classdef definition, the class name must match the filename", l, c);
8106 int l = tok_val->
line ();
8107 int c = tok_val->
column ();
8113 a,
id, sc, body, lc, tc,
8153 int l = tok_val->
line ();
8154 int c = tok_val->
column ();
8172 std::string eol_comment = first_comment_elt.
text ();
8213 int l = tok_val->
line ();
8214 int c = tok_val->
column ();
8255 int l = tok_val->
line ();
8256 int c = tok_val->
column ();
8298 int l = tok_val->
line ();
8299 int c = tok_val->
column ();
8331 std::string mname =
id->name ();
8338 if (mname.find_first_of (
".") == std::string::npos
8339 && mname !=
"delete"
8347 retval->stash_function_name (mname);
8349 int l =
id->line ();
8352 retval->stash_fcn_location (l, c);
8355 bison_error (
"invalid external method declaration, an external "
8356 "method cannot be the class constructor, 'delete' "
8357 "or have a dot (.) character in its name");
8360 bison_error (
"external methods are only allowed in @-folders");
8408 std::string nm = fcn->
name ();
8432 bison_error (
"invalid use of empty argument (~) in index expression");
8436 int l = expr->
line ();
8462 const std::string& elt)
8466 int l = expr->
line ();
8497 int l = expr->
line ();
8528 int l = tok_val->
line ();
8529 int c = tok_val->
column ();
8547 retval->mark_persistent ();
8552 warning (
"ignoring persistent declaration near line %d of file '%s'",
8555 warning (
"ignoring persistent declaration near line %d", l);
8571 std::set<std::string> dict;
8579 std::string
name =
id->name ();
8589 else if (dict.find (
name) != dict.end ())
8592 +
"' appears more than once in parameter list");
8601 ?
"varargin" :
"varargout");
8611 if (
id && id->
name () == va_type)
8637 if (row && row->has_magic_tilde ())
8642 bison_error (
"invalid use of tilde (~) in matrix expression");
8644 bison_error (
"invalid use of tilde (~) in cell expression");
8668 bison_error (
"invalid empty left hand side of assignment");
8670 bison_error (
"invalid constant left hand side of assignment");
8674 bool is_simple_assign =
true;
8682 if (mat && mat->
size () == 1)
8684 tmp = mat->
front ();
8687 is_simple_assign =
false;
8702 bison_error (
"invalid left hand side of assignment");
8705 if (
retval && is_simple_assign)
8706 retval->mark_as_simple_assign_lhs ();
8754 std::ostringstream buf;
8758 array_list->
accept (tpc);
8785 close_delim->
line (), close_delim->
column ()));
8797 close_delim->
line (), close_delim->
column ()));
8802 char sep,
bool warn_missing_semi)
8816 if (warn_missing_semi)
8821 warning (
"unrecognized separator type!");
8838 template <
typename T>
8856 bool warn_missing_semi)
8887 if (! std::getline (fs,
text))
8914 std::ostringstream output_buf;
8918 output_buf <<
"parse error near line " << err_line
8921 output_buf <<
"parse error:";
8923 if (str !=
"parse error")
8924 output_buf <<
"\n\n " << str;
8926 output_buf <<
"\n\n";
8928 std::string curr_line;
8940 if (! curr_line.empty ())
8946 size_t len = curr_line.length ();
8948 if (curr_line[
len-1] ==
'\n')
8949 curr_line.resize (
len-1);
8953 output_buf <<
">>> " << curr_line <<
"\n";
8958 for (
int i = 0; i < err_col + 3; i++)
8990 catch (
const exit_exception&)
8994 catch (
const interrupt_exception&)
9003 error (
"unexpected exception while parsing input");
9005 error (
"unexpected exception while parsing %s", file.c_str ());
9037 status = (
token == -2 ? 0 : -1);
9056 error (e,
"parse error");
9058 error (e,
"parse error in %s", file.c_str ());
9060 catch (
const exit_exception&)
9064 catch (interrupt_exception &)
9073 error (
"unexpected exception while parsing input");
9075 error (
"unexpected exception while parsing %s", file.c_str ());
9090 error (
"push_parser::run requires valid input_reader");
9092 int exit_status = 0;
9109 std::string input_line =
m_reader->get_input (prompt, eof);
9117 exit_status =
run (input_line,
false);
9121 while (exit_status < 0);
9128 const std::string& file,
const std::string& dir_name,
9129 const std::string& dispatch_type,
9130 const std::string& package_name,
bool require_file,
9131 bool force_script,
bool autoload,
bool relative_lookup)
9135 FILE *ffile =
nullptr;
9137 if (! full_file.empty ())
9143 error (
"no such file, '%s'", full_file.c_str ());
9172 error (
"parse error while reading file %s", full_file.c_str ());
9186 bool is_at_folder = ! dispatch_type.empty ();
9188 std::shared_ptr<tree_classdef> cdef_obj
9191 return cdef_obj->make_meta_class (interp, is_at_folder);
9224 (
"Octave:assign-as-truth-value",
9225 "suggest parenthesis around assignment used as truth value");
9228 (
"Octave:assign-as-truth-value",
9229 "suggest parenthesis around assignment used as truth value near line %d, column %d in file '%s'",
9243 "variable switch label");
9246 (
"Octave:variable-switch-label",
9247 "variable switch label near line %d, column %d in file '%s'",
9261 (
"Octave:missing-semicolon",
9262 "missing semicolon near line %d, column %d in file '%s'",
9269 std::string& full_file)
9275 std::string file = full_file;
9277 size_t file_len = file.length ();
9279 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
9280 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
9281 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
9284 file = file.substr (0, file.find_last_of (
'.'));
9287 if (pos != std::string::npos)
9288 file = file.substr (pos+1);
9291 if (! file.empty ())
9295 symbol_found =
true;
9299 false,
false,
false);
9322 const std::string& dir_name,
9323 const std::string& dispatch_type,
9324 const std::string& package_name,
9325 const std::string& fcn_name,
bool autoload)
9331 std::string nm = file_name;
9333 size_t nm_len = nm.length ();
9337 bool relative_lookup =
false;
9341 if ((nm_len > 4 && nm.substr (nm_len-4) ==
".oct")
9342 || (nm_len > 4 && nm.substr (nm_len-4) ==
".mex")
9343 || (nm_len > 2 && nm.substr (nm_len-2) ==
".m"))
9346 nm = nm.substr (0, nm.find_last_of (
'.'));
9349 if (pos != std::string::npos)
9350 nm = nm.substr (pos+1);
9357 int len = file.length ();
9363 if (
len > 4 && file.substr (
len-4,
len-1) ==
".oct")
9365 if (autoload && ! fcn_name.empty ())
9369 = dyn_loader.
load_oct (nm, file, relative_lookup);
9377 else if (
len > 4 && file.substr (
len-4,
len-1) ==
".mex")
9382 std::string doc_string;
9386 dispatch_type, package_name,
false,
9387 autoload, autoload, relative_lookup);
9398 = dyn_loader.
load_mex (nm, file, relative_lookup);
9411 dispatch_type, package_name,
true,
9412 autoload, autoload, relative_lookup);
9459 int nargin = args.length ();
9461 if (nargin == 1 || nargin > 3)
9474 else if (nargin == 3)
9476 if (argv[3] !=
"remove")
9478 "autoload: third argument can only be 'remove'");
9506 int nargin = args.length ();
9514 opt = args(0).xstring_value (
"mfilename: option argument must be a string");
9527 bool verbose,
bool require_file)
9551 int nargin = args.length ();
9553 if (nargin < 1 || nargin > 2)
9556 std::string file_name
9557 = args(0).xstring_value (
"source: FILE must be a string");
9561 context = args(1).xstring_value (
"source: CONTEXT must be a string");
9563 interp.source_file (file_name,
context);
9584 return interp.
feval (
name, args, nargout);
9592 return interp.
feval (
name, args, nargout);
9600 return interp.
feval (fcn, args, nargout);
9608 return interp.
feval (val, args, nargout);
9616 return interp.
feval (args, nargout);
9660 if (args.length () == 0)
9663 return interp.feval (args, nargout);
9666 DEFMETHOD (builtin, interp, args, nargout,
9694 if (args.length () == 0)
9697 const std::string
name (args(0).xstring_value (
"builtin: function name (F) must be a string"));
9706 error (
"builtin: lookup for symbol '%s' failed",
name.c_str ());
9715 int& parse_status,
int nargout)
9719 return interp.
eval_string (eval_str, silent, parse_status, nargout);
9723 eval_string (
const std::string& eval_str,
bool silent,
int& parse_status)
9727 return interp.
eval_string (eval_str, silent, parse_status);
9781 int nargin = args.length ();
9783 if (nargin < 1 || nargin > 2)
9786 if (! args(0).is_string () || args(0).rows () > 1 || args(0).ndims () != 2)
9787 error (
"eval: TRY must be a string");
9789 std::string try_code = args(0).string_value ();
9792 return interp.eval (try_code, nargout);
9795 if (! args(1).is_string () || args(1).rows () > 1
9796 || args(1).ndims () != 2)
9797 error (
"eval: CATCH must be a string");
9799 std::string catch_code = args(1).string_value ();
9801 return interp.eval (try_code, catch_code, nargout);
9865 if (args.length () != 3)
9869 = args(0).xstring_value (
"assignin: CONTEXT must be a string");
9872 = args(1).xstring_value (
"assignin: VARNAME must be a string");
9874 interp.assignin (
context, varname, args(2));
9885 DEFMETHOD (evalin, interp, args, nargout,
9894 int nargin = args.length ();
9896 if (nargin < 2 || nargin > 3)
9900 = args(0).xstring_value (
"evalin: CONTEXT must be a string");
9902 std::string try_code
9903 = args(1).xstring_value (
"evalin: TRY must be a string");
9907 std::string catch_code
9908 = args(2).xstring_value (
"evalin: CATCH must be a string");
9910 return interp.evalin (
context, try_code, catch_code, nargout);
9913 return interp.evalin (
context, try_code, nargout);
9916 DEFMETHOD (evalc, interp, args, nargout,
9945 int nargin = args.length ();
9947 if (nargin == 0 || nargin > 2)
9956 std::stringbuf buffer;
9958 std::streambuf *old_out_buf =
octave_stdout.rdbuf (&buffer);
9959 std::streambuf *old_err_buf = std::cerr.rdbuf (&buffer);
9970 std::cerr.rdbuf (old_err_buf);
9975 int eval_nargout =
std::max (0, nargout - 1);
9984 retval.prepend (buffer.str ());
10073 DEFUN (__parser_debug_flag__, args, nargout,
10087 "__parser_debug_flag__");
10094 DEFMETHOD (__parse_file__, interp, args, ,
10102 int nargin = args.length ();
10104 if (nargin < 1 || nargin > 2)
10107 std::string file = args(0).xstring_value (
"__parse_file__: expecting filename as argument");
10109 std::string full_file
10114 std::string dir_name;
10116 size_t file_len = file.length ();
10118 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
10119 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
10120 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
10123 file = file.substr (0, file.find_last_of (
'.'));
10126 if (pos != std::string::npos)
10128 dir_name = file.substr (0, pos);
10129 file = file.substr (pos+1);
10137 =
parse_fcn_file (interp, full_file, file, dir_name,
"",
"",
true,
10138 false,
false,
false);
charNDArray max(char d, const charNDArray &m)
Array< T > column(octave_idx_type k) const
Extract column: A(:,k+1).
void add_method(T *obj, void(T::*method)(Params...), Args &&... args)
std::string message(void) const
virtual bool input_from_eval_string(void) const
comment_buffer m_comment_buf
virtual bool input_from_terminal(void) const
bool at_end_of_buffer(void) const
comment_list * get_comment(void)
bool input_from_tmp_history_file(void)
void append(const elt_type &s)
size_t length(void) const
iterator erase(iterator pos)
std::list< tree_decl_elt * >::iterator iterator
bool name_current_scope(const std::string &name)
symbol_scope parent_scope(void) const
bool name_ok(const std::string &name)
std::pair< symbol_scope, std::string > value_type
void push(const value_type &elt)
std::string parent_name(void) const
std::deque< value_type > m_info
tree_command * make_unwind_command(token *unwind_tok, tree_statement_list *body, tree_statement_list *cleanup, token *end_tok, comment_list *lc, comment_list *mc)
bool validate_array_list(tree_expression *e)
tree_decl_command * make_decl_command(int tok, token *tok_val, tree_decl_init_list *lst)
tree_expression * make_postfix_op(int op, tree_expression *op1, token *tok_val)
octave_user_function * start_function(tree_identifier *id, tree_parameter_list *param_list, tree_statement_list *body, tree_statement *end_function)
void disallow_command_syntax(void)
tree_expression * make_assign_op(int op, tree_argument_list *lhs, token *eq_tok, tree_expression *rhs)
tree_anon_fcn_handle * make_anon_fcn_handle(tree_parameter_list *param_list, tree_expression *expr, const filepos &at_pos)
tree_expression * make_binary_op(int op, tree_expression *op1, token *tok_val, tree_expression *op2)
tree_switch_case * make_switch_case(token *case_tok, tree_expression *expr, tree_statement_list *list, comment_list *lc)
void bison_error(const std::string &s)
tree_if_command_list * start_if_command(tree_expression *expr, tree_statement_list *list)
tree_classdef_properties_block * make_classdef_properties_block(token *tok_val, tree_classdef_attribute_list *a, tree_classdef_property_list *plist, token *end_tok, comment_list *lc, comment_list *tc)
tree_command * make_return_command(token *return_tok)
bool m_parsing_local_functions
octave_value m_primary_fcn
void recover_from_parsing_function(void)
tree_command * make_do_until_command(token *until_tok, tree_statement_list *body, tree_expression *expr, comment_list *lc)
tree_expression * make_prefix_op(int op, tree_expression *op1, token *tok_val)
tree_function_def * finish_classdef_external_method(octave_user_function *fcn, tree_parameter_list *ret_list, comment_list *cl)
void finish_classdef_file(tree_classdef *cls, tree_statement_list *local_fcns)
std::shared_ptr< tree_classdef > m_classdef_object
parent_scope_info m_function_scopes
tree_statement_list * set_stmt_print_flag(tree_statement_list *, char, bool)
tree_classdef_events_block * make_classdef_events_block(token *tok_val, tree_classdef_attribute_list *a, tree_classdef_events_list *elist, token *end_tok, comment_list *lc, comment_list *tc)
tree_statement_list * append_statement_list(tree_statement_list *list, char sep, tree_statement *stmt, bool warn_missing_semi)
symbol_scope m_primary_fcn_scope
tree_statement * make_statement(T *arg)
tree_if_clause * make_elseif_clause(token *elseif_tok, tree_expression *expr, tree_statement_list *list, comment_list *lc)
tree_command * make_while_command(token *while_tok, tree_expression *expr, tree_statement_list *body, token *end_tok, comment_list *lc)
tree_command * make_break_command(token *break_tok)
void endfunction_found(bool flag)
tree_function_def * finish_function(tree_parameter_list *ret_list, octave_user_function *fcn, comment_list *lc, int l, int c)
tree_expression * make_colon_expression(tree_expression *base, tree_expression *limit, tree_expression *incr=nullptr)
tree_classdef_enum_block * make_classdef_enum_block(token *tok_val, tree_classdef_attribute_list *a, tree_classdef_enum_list *elist, token *end_tok, comment_list *lc, comment_list *tc)
tree_command * make_try_command(token *try_tok, tree_statement_list *body, char catch_sep, tree_statement_list *cleanup, token *end_tok, comment_list *lc, comment_list *mc)
void maybe_warn_missing_semi(tree_statement_list *)
bool m_fcn_file_from_relative_lookup
std::string m_curr_class_name
tree_index_expression * make_indirect_ref(tree_expression *expr, const std::string &)
std::string m_curr_package_name
void parsing_local_functions(bool flag)
std::list< std::string > m_subfunction_names
void maybe_warn_variable_switch_label(tree_expression *expr)
tree_function_def * make_function(token *fcn_tok, tree_parameter_list *ret_list, tree_identifier *id, tree_parameter_list *param_list, tree_statement_list *body, tree_statement *end_fcn_stmt, comment_list *lc)
tree_constant * make_constant(int op, token *tok_val)
tree_command * make_continue_command(token *continue_tok)
tree_if_command * finish_if_command(token *if_tok, tree_if_command_list *list, token *end_tok, comment_list *lc)
void make_script(tree_statement_list *cmds, tree_statement *end_script)
void maybe_warn_assign_as_truth_value(tree_expression *expr)
tree_identifier * make_fcn_name(tree_identifier *id)
tree_statement * make_end(const std::string &type, bool eof, const filepos &beg_pos, const filepos &end_pos)
octave_user_function * start_classdef_external_method(tree_identifier *id, tree_parameter_list *pl)
bool push_fcn_symtab(void)
tree_expression * finish_matrix(tree_matrix *m, token *open_delim, token *close_delim)
tree_command * make_for_command(int tok_id, token *for_tok, tree_argument_list *lhs, tree_expression *expr, tree_expression *maxproc, tree_statement_list *body, token *end_tok, comment_list *lc)
tree_expression * make_boolean_op(int op, tree_expression *op1, token *tok_val, tree_expression *op2)
tree_index_expression * make_index_expression(tree_expression *expr, tree_argument_list *args, char type)
void classdef_object(const std::shared_ptr< tree_classdef > &obj)
bool m_parsing_subfunctions
void end_token_error(token *tok, token::end_tok_type expected)
std::string m_parse_error_msg
tree_argument_list * validate_matrix_for_assignment(tree_expression *e)
void statement_list(std::shared_ptr< tree_statement_list > &lst)
std::shared_ptr< tree_statement_list > statement_list(void) const
tree_switch_command * finish_switch_command(token *switch_tok, tree_expression *expr, tree_switch_case_list *list, token *end_tok, comment_list *lc)
tree_expression * finish_array_list(tree_array_list *a, token *open_delim, token *close_delim)
bool end_token_ok(token *tok, token::end_tok_type expected)
tree_classdef_methods_block * make_classdef_methods_block(token *tok_val, tree_classdef_attribute_list *a, tree_classdef_methods_list *mlist, token *end_tok, comment_list *lc, comment_list *tc)
bool validate_param_list(tree_parameter_list *lst, tree_parameter_list::in_or_out type)
tree_classdef * make_classdef(token *tok_val, tree_classdef_attribute_list *a, tree_identifier *id, tree_classdef_superclass_list *sc, tree_classdef_body *body, token *end_tok, comment_list *lc, comment_list *tc)
tree_statement_list * make_statement_list(tree_statement *stmt)
std::shared_ptr< tree_statement_list > m_stmt_list
tree_fcn_handle * make_fcn_handle(token *tok_val)
base_parser(base_lexer &lxr)
tree_expression * finish_cell(tree_cell *c, token *open_delim, token *close_delim)
static std::string decode_prompt_string(const std::string &s)
octave_function * load_oct(const std::string &fcn_name, const std::string &file_name="", bool relative=false)
octave_function * load_mex(const std::string &fcn_name, const std::string &file_name="", bool relative=false)
octave_value discard_warning_messages(const octave_value_list &args, int nargout)
void set_discard_warning_messages(bool flag)
octave_value last_warning_message(const octave_value_list &args, int nargout)
void set_last_warning_message(const std::string &val)
octave_value_list feval(const char *name, const octave_value_list &args=octave_value_list(), int nargout=0)
Evaluate an Octave function (built-in or interpreted) and return the list of result values.
input_system & get_input_system(void)
octave_value_list eval_string(const std::string &eval_str, bool silent, int &parse_status, int nargout)
void recover_from_exception(void)
error_system & get_error_system(void)
void source_file(const std::string &file_name, const std::string &context="", bool verbose=false, bool require_file=true)
tree_evaluator & get_evaluator(void)
dynamic_loader & get_dynamic_loader(void)
symbol_scope parent_scope(void) const
void push(const symbol_scope &scope)
symbol_scope curr_scope(void) const
std::stack< bool > m_parsed_function_name
std::string m_current_input_line
bool m_looking_at_return_list
bool m_reading_classdef_file
bool m_allow_command_syntax
bool m_looking_at_parameter_list
bool m_parsing_classdef_get_method
bool m_parsing_classdef_set_method
bool m_reading_script_file
symbol_table_context m_symtab_context
bool m_buffer_function_text
std::string m_fcn_file_full_name
bool m_maybe_classdef_get_set_method
std::string m_package_name
bool m_parsing_class_method
bool m_looking_at_indirect_ref
void mark_as_variables(const std::list< std::string > &lst)
std::string m_function_text
std::string m_fcn_file_name
std::shared_ptr< input_reader > m_reader
interpreter & m_interpreter
void install_subfunction(const std::string &name, const octave_value &fval)
void set_primary_parent(const symbol_scope &p)
void mark_primary_fcn_scope(void)
void install_nestfunction(const std::string &name, const octave_value &fval, const symbol_scope &fcn_scope)
void cache_parent_fcn_names(const std::list< std::string > &names)
void set_parent(const symbol_scope &p)
void set_nesting_depth(size_t depth)
std::list< std::string > parent_fcn_names(void) const
void cache_dir_name(const std::string &name)
std::string fcn_name(void) const
void cache_fcn_name(const std::string &name)
void cache_fcn_file_name(const std::string &name)
void cache_name(const std::string &name)
octave_value builtin_find(const std::string &name, const symbol_scope &search_scope=symbol_scope())
void install_local_function(const std::string &name, const octave_value &fcn, const std::string &file_name)
bool is_newer(const sys::time &time) const
static std::string base_pathname(const std::string &s)
static bool absolute_pathname(const std::string &s)
static std::string make_absolute(const std::string &s, const std::string &dot_path=get_current_directory())
end_tok_type ettype(void) const
std::string text(void) const
double number(void) const
filepos beg_pos(void) const
std::string text_rep(void) const
tree_expression * remove_front(void)
std::list< std::string > variable_names(void) const
bool is_valid_lvalue_list(void) const
bool is_simple_assign_lhs(void)
bool has_magic_tilde(void) const
bool all_elements_are_constant(void) const
void accept(tree_walker &tw)
bool have_doc_string(void) const
void doc_string(const std::string &txt)
void accept(tree_walker &tw)
octave_value evaluate(tree_evaluator &, int nargout=1)
void stash_original_text(const std::string &s)
tree_identifier * ident(void)
std::list< std::string > variable_names(void) const
void remove_autoload(const std::string &fcn, const std::string &nm)
octave_map get_autoload_map(void) const
void add_autoload(const std::string &fcn, const std::string &nm)
virtual bool is_identifier(void) const
virtual bool is_index_expression(void) const
void mark_as_for_cmd_expr(void)
virtual bool is_matrix(void) const
tree_expression * set_postfix_index(char type)
virtual std::string name(void) const
virtual octave_value evaluate(tree_evaluator &tw, int nargout=1)=0
int paren_count(void) const
virtual bool is_assignment_expression(void) const
bool is_postfix_indexed(void) const
tree_expression * set_print_flag(bool print)
virtual bool is_constant(void) const
octave_value function(void)
std::string name(void) const
virtual bool is_black_hole(void) const
void append(tree_argument_list *lst=nullptr, char t='(')
void mark_varargs_only(void)
void mark_as_formal_parameters(void)
bool is_expression(void) const
tree_expression * expression(void)
void set_expression(tree_expression *e)
void set_print_flag(bool print_flag)
bool is_null_statement(void) const
virtual int column(void) const
void set_location(int l, int c)
virtual int line(void) const
virtual std::string fcn_file_name(void) const
virtual std::string doc_string(const std::string &="") const
virtual void maybe_relocate_end(void)
void document(const std::string &ds)
void stash_dir_name(const std::string &dir)
void stash_dispatch_class(const std::string &nm)
std::string name(void) const
void stash_package_name(const std::string &pack)
virtual void stash_subfunction_names(const std::list< std::string > &)
static const octave_value instance
static const octave_value instance
static const octave_value instance
void stash_fcn_file_name(const std::string &nm)
std::string fcn_file_name(void) const
octave::sys::time time_parsed(void) const
void cache_function_text(const std::string &text, const octave::sys::time ×tamp)
void stash_fcn_file_time(const octave::sys::time &t)
octave::symbol_scope scope(void)
void stash_trailing_comment(octave::comment_list *tc)
void stash_function_name(const std::string &s)
void mark_as_system_fcn_file(void)
octave_user_function * define_ret_list(octave::tree_parameter_list *t)
void mark_as_classdef_method(void)
int beginning_column(void) const
void mark_as_classdef_constructor(void)
void mark_as_legacy_constructor(void)
void stash_parent_fcn_name(const std::string &p)
void stash_leading_comment(octave::comment_list *lc)
int beginning_line(void) const
void stash_fcn_location(int line, int col)
void stash_fcn_end_location(int line, int col)
void mark_as_legacy_method(void)
void mark_as_subfunction(void)
void mark_as_nested_function(void)
bool is_defined(void) const
octave_function * function_value(bool silent=false) const
OCTINTERP_API void print_usage(void)
#define DEFMETHOD(name, interp_name, args_name, nargout_name, doc)
Macro to define a builtin method.
#define DEFUN(name, args_name, nargout_name, doc)
Macro to define a builtin function.
void error_with_id(const char *id, const char *fmt,...)
void warning(const char *fmt,...)
void warning_with_id(const char *id, const char *fmt,...)
void parse_error(const char *fmt,...)
void error(const char *fmt,...)
#define panic_impossible()
std::string dir_sep_str(void)
std::string tilde_expand(const std::string &name)
std::string dir_sep_chars(void)
std::FILE * fopen(const std::string &filename, const std::string &mode)
std::ifstream ifstream(const std::string &filename, const std::ios::openmode mode)
tree_binary_expression * maybe_compound_binary_expression(tree_expression *a, tree_expression *b, int l, int c, octave_value::binary_op t)
octave_value parse_fcn_file(interpreter &interp, const std::string &full_file, const std::string &file, const std::string &dir_name, const std::string &dispatch_type, const std::string &package_name, bool require_file, bool force_script, bool autoload, bool relative_lookup)
void cleanup_statement_list(tree_statement_list **lst)
octave_value load_fcn_from_file(const std::string &file_name, const std::string &dir_name, const std::string &dispatch_type, const std::string &package_name, const std::string &fcn_name, bool autoload)
octave_value_list eval_string(const std::string &eval_str, bool silent, int &parse_status, int nargout)
static llvm::LLVMContext & context
static std::string get_file_line(const std::string &name, int line)
interpreter & __get_interpreter__(const std::string &who)
bool iskeyword(const std::string &s)
tree_evaluator & __get_evaluator__(const std::string &who)
static std::string end_token_as_string(token::end_tok_type ettype)
std::string fcn_file_in_path(const std::string &name)
octave_value_list feval(const octave_value_list &args, int nargout)
octave_value_list feval(const char *name, const octave_value_list &args, int nargout)
Evaluate an Octave function (built-in or interpreted) and return the list of result values.
symbol_table & __get_symbol_table__(const std::string &who)
void source_file(const std::string &file_name, const std::string &context, bool verbose, bool require_file)
std::string get_help_from_file(const std::string &nm, bool &symbol_found, std::string &full_file)
std::string undo_string_escapes(const std::string &s)
std::complex< double > Complex
OCTAVE_EXPORT octave_value_list Feval(octave::interpreter &interp, const octave_value_list &args, int nargout)
static const yytype_uint8 yyr1[]
octave_pstate * octave_pstate_new(void)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
static const yytype_int8 yytranslate[]
@ YYSYMBOL_param_list_beg
@ YYSYMBOL_anon_fcn_begin
@ YYSYMBOL_properties_block
@ YYSYMBOL_class_property
@ YYSYMBOL_decl_param_init
@ YYSYMBOL_property_list1
@ YYSYMBOL_superclass_list1
@ YYSYMBOL_push_fcn_symtab
@ YYSYMBOL_parsing_local_fcns
@ YYSYMBOL_indirect_ref_op
@ YYSYMBOL_cell_or_matrix_row
@ YYSYMBOL_superclass_identifier
@ YYSYMBOL_superclass_list
@ YYSYMBOL_switch_command
@ YYSYMBOL_opt_param_list
@ YYSYMBOL_param_list_end
@ YYSYMBOL_param_list_elt
@ YYSYMBOL_select_command
@ YYSYMBOL_push_script_symtab
@ YYSYMBOL_meta_identifier
@ YYSYMBOL_except_command
@ YYSYMBOL_anon_fcn_handle
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_USELESS_CAST_END
int octave_push_parse(octave_pstate *ps, int pushed_char, OCTAVE_STYPE const *pushed_val, octave::base_parser &parser)
static const yytype_int16 yydefact[]
static const yytype_int16 yydefgoto[]
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
int octave_pull_parse(octave_pstate *ps, octave::base_parser &parser)
static const yytype_int16 yypact[]
void octave_pstate_delete(octave_pstate *ps)
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
static const yytype_int16 yypgoto[]
#define YY_INITIAL_VALUE(Value)
unsigned char yytype_uint8
#define YY_STACK_PRINT(Bottom, Top)
#define YY_IGNORE_USELESS_CAST_BEGIN
int octave_parse(octave::base_parser &parser)
static const yytype_int8 yyr2[]
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, OCTAVE_STYPE *yyvaluep, octave::base_parser &parser)
static const yytype_int16 yytable[]
#define yytable_value_is_error(Yyn)
#define YY_ATTRIBUTE_UNUSED
static const yytype_uint8 yystos[]
unsigned short yytype_uint16
int octave_lex(OCTAVE_STYPE *, void *)
The main scanner function which does all the work.
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define yypact_value_is_default(Yyn)
static const yytype_int16 yycheck[]
enum octave_tokentype octave_token_kind_t
static int input(yyscan_t yyscanner)
unsigned char yytype_uint8
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
octave_value::octave_value(const Array< char > &chm, char type) return retval
octave::tree_switch_command * tree_switch_command_type
octave::tree_argument_list * tree_argument_list_type
octave::tree_switch_case * tree_switch_case_type
octave::tree_classdef_enum * tree_classdef_enum_type
octave::tree_classdef_methods_block * tree_classdef_methods_block_type
octave::tree_command * tree_command_type
octave::tree_if_clause * tree_if_clause_type
octave::tree_expression * tree_expression_type
octave::tree_classdef_body * tree_classdef_body_type
octave::tree_classdef_properties_block * tree_classdef_properties_block_type
octave::tree_classdef_events_list * tree_classdef_events_list_type
octave::tree_classdef_events_block * tree_classdef_events_block_type
octave::tree_classdef_enum_list * tree_classdef_enum_list_type
octave::tree_if_command * tree_if_command_type
octave::tree_decl_elt * tree_decl_elt_type
octave::tree_parameter_list * tree_parameter_list_type
octave::tree_index_expression * tree_index_expression_type
octave::tree_anon_fcn_handle * tree_anon_fcn_handle_type
octave::tree_classdef_superclass * tree_classdef_superclass_type
octave::comment_list * comment_type
octave::tree_constant * tree_constant_type
octave::tree_decl_command * tree_decl_command_type
octave::tree_metaclass_query * tree_metaclass_query_type
octave::tree_superclass_ref * tree_superclass_ref_type
octave::tree_matrix * tree_matrix_type
octave::tree_colon_expression * tree_colon_expression_type
octave::tree_classdef_attribute * tree_classdef_attribute_type
octave::tree_classdef_property_list * tree_classdef_property_list_type
octave::tree_statement * tree_statement_type
octave::tree_statement_list * tree_statement_list_type
octave::tree_if_command_list * tree_if_command_list_type
octave::tree_decl_init_list * tree_decl_init_list_type
octave::tree_classdef * tree_classdef_type
octave::tree_identifier * tree_identifier_type
octave::tree_fcn_handle * tree_fcn_handle_type
octave::tree_classdef_attribute_list * tree_classdef_attribute_list_type
octave::tree_switch_case_list * tree_switch_case_list_type
octave::tree_function_def * tree_function_def_type
octave::tree_classdef_property * tree_classdef_property_type
octave::tree_classdef_methods_list * tree_classdef_methods_list_type
octave::tree_classdef_superclass_list * tree_classdef_superclass_list_type
octave_user_function * octave_user_function_type
octave::tree_classdef_enum_block * tree_classdef_enum_block_type
octave::tree_classdef_event * tree_classdef_event_type
octave::tree_cell * tree_cell_type
octave_value set_internal_variable(bool &var, const octave_value_list &args, int nargout, const char *nm)