52 #define YYBISON_VERSION "3.8.2"
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)
146 #define lexer (parser.get_lexer ())
147 #define scanner lexer.m_scanner
155 #define OCTAVE_YYUSE(...)
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)
437 #ifndef __PTRDIFF_MAX__
439 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
450 #ifdef __INT_LEAST8_MAX__
452 #elif defined YY_STDINT_H
458 #ifdef __INT_LEAST16_MAX__
460 #elif defined YY_STDINT_H
472 # undef UINT_LEAST8_MAX
473 # undef UINT_LEAST16_MAX
474 # define UINT_LEAST8_MAX 255
475 # define UINT_LEAST16_MAX 65535
478 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
480 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
481 && UINT_LEAST8_MAX <= INT_MAX)
483 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
489 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
491 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
492 && UINT_LEAST16_MAX <= INT_MAX)
494 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
501 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
502 # define YYPTRDIFF_T __PTRDIFF_TYPE__
503 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
504 # elif defined PTRDIFF_MAX
508 # define YYPTRDIFF_T ptrdiff_t
509 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
511 # define YYPTRDIFF_T long
512 # define YYPTRDIFF_MAXIMUM LONG_MAX
517 # ifdef __SIZE_TYPE__
518 # define YYSIZE_T __SIZE_TYPE__
519 # elif defined size_t
520 # define YYSIZE_T size_t
521 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
523 # define YYSIZE_T size_t
525 # define YYSIZE_T unsigned
529 #define YYSIZE_MAXIMUM \
530 YY_CAST (YYPTRDIFF_T, \
531 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
532 ? YYPTRDIFF_MAXIMUM \
533 : YY_CAST (YYSIZE_T, -1)))
535 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
545 # if defined YYENABLE_NLS && YYENABLE_NLS
547 # include <libintl.h>
548 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
552 # define YY_(Msgid) Msgid
557 #ifndef YY_ATTRIBUTE_PURE
558 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
559 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
561 # define YY_ATTRIBUTE_PURE
565 #ifndef YY_ATTRIBUTE_UNUSED
566 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
567 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
569 # define YY_ATTRIBUTE_UNUSED
574 #if ! defined lint || defined __GNUC__
575 # define YY_USE(E) ((void) (E))
581 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
582 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
583 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
584 _Pragma ("GCC diagnostic push") \
585 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
587 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
588 _Pragma ("GCC diagnostic push") \
589 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
590 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
592 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
593 _Pragma ("GCC diagnostic pop")
595 # define YY_INITIAL_VALUE(Value) Value
597 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
598 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
599 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
601 #ifndef YY_INITIAL_VALUE
602 # define YY_INITIAL_VALUE(Value)
605 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
606 # define YY_IGNORE_USELESS_CAST_BEGIN \
607 _Pragma ("GCC diagnostic push") \
608 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
609 # define YY_IGNORE_USELESS_CAST_END \
610 _Pragma ("GCC diagnostic pop")
612 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
613 # define YY_IGNORE_USELESS_CAST_BEGIN
614 # define YY_IGNORE_USELESS_CAST_END
618 #define YY_ASSERT(E) ((void) (0 && (E)))
620 #if !defined yyoverflow
624 # ifdef YYSTACK_ALLOC
626 # define YYSTACK_FREE(Ptr) do { ; } while (0)
627 # ifndef YYSTACK_ALLOC_MAXIMUM
632 # define YYSTACK_ALLOC_MAXIMUM 4032
635 # define YYSTACK_ALLOC YYMALLOC
636 # define YYSTACK_FREE YYFREE
637 # ifndef YYSTACK_ALLOC_MAXIMUM
638 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
640 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
641 && ! ((defined YYMALLOC || defined malloc) \
642 && (defined YYFREE || defined free)))
644 # ifndef EXIT_SUCCESS
645 # define EXIT_SUCCESS 0
649 # define YYMALLOC malloc
650 # if ! defined malloc && ! defined EXIT_SUCCESS
656 # if ! defined free && ! defined EXIT_SUCCESS
663 #if (! defined yyoverflow \
664 && (! defined __cplusplus \
665 || (defined OCTAVE_STYPE_IS_TRIVIAL && OCTAVE_STYPE_IS_TRIVIAL)))
675 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
679 # define YYSTACK_BYTES(N) \
680 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
681 + YYSTACK_GAP_MAXIMUM)
683 # define YYCOPY_NEEDED 1
690 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
693 YYPTRDIFF_T yynewbytes; \
694 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
695 Stack = &yyptr->Stack_alloc; \
696 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
697 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
703 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
707 # if defined __GNUC__ && 1 < __GNUC__
708 # define YYCOPY(Dst, Src, Count) \
709 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
711 # define YYCOPY(Dst, Src, Count) \
715 for (yyi = 0; yyi < (Count); yyi++) \
716 (Dst)[yyi] = (Src)[yyi]; \
735 #define YYNSTATES 578
738 #define YYMAXUTOK 333
743 #define YYTRANSLATE(YYX) \
744 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
745 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
752 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
753 21, 2, 2, 2, 2, 2, 2, 2, 2, 2,
754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
755 2, 2, 2, 10, 2, 2, 2, 2, 2, 2,
756 11, 12, 7, 6, 19, 5, 17, 8, 2, 2,
757 2, 2, 2, 2, 2, 2, 2, 2, 4, 20,
758 2, 3, 2, 2, 18, 2, 2, 2, 2, 2,
759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
760 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
761 2, 13, 2, 14, 2, 2, 2, 2, 2, 2,
762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
764 2, 2, 2, 15, 2, 16, 9, 2, 2, 2,
765 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
766 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
767 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
768 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
769 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
770 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
771 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
772 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
773 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
774 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
775 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
776 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
777 2, 2, 2, 2, 2, 2, 1, 2, 22, 23,
778 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
779 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
780 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
781 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
782 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
783 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
784 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
792 0, 415, 415, 426, 437, 444, 450, 454, 456, 461,
793 462, 466, 470, 472, 477, 478, 482, 490, 495, 502,
794 504, 506, 518, 530, 532, 540, 545, 549, 553, 555,
795 559, 561, 565, 569, 571, 579, 583, 585, 602, 603,
796 609, 611, 617, 623, 631, 639, 651, 663, 665, 667,
797 669, 674, 676, 678, 680, 688, 692, 700, 702, 704,
798 706, 712, 718, 726, 735, 737, 739, 741, 752, 763,
799 774, 785, 787, 789, 791, 797, 799, 801, 803, 805,
800 807, 809, 811, 813, 815, 817, 819, 821, 823, 825,
801 827, 831, 833, 835, 837, 848, 859, 870, 881, 883,
802 889, 891, 893, 895, 897, 899, 903, 915, 929, 931,
803 933, 935, 937, 939, 941, 943, 945, 947, 949, 951,
804 955, 969, 971, 973, 975, 977, 979, 981, 983, 985,
805 987, 989, 991, 993, 997, 1012, 1019, 1027, 1029, 1031,
806 1033, 1035, 1037, 1039, 1041, 1049, 1054, 1061, 1063, 1067,
807 1069, 1077, 1079, 1087, 1097, 1099, 1103, 1111, 1115, 1125,
808 1137, 1150, 1151, 1153, 1155, 1159, 1161, 1165, 1173, 1185,
809 1197, 1203, 1214, 1225, 1236, 1253, 1258, 1263, 1271, 1290,
810 1301, 1312, 1330, 1342, 1360, 1372, 1373, 1377, 1384, 1393,
811 1394, 1411, 1413, 1421, 1423, 1431, 1439, 1458, 1477, 1481,
812 1495, 1499, 1508, 1512, 1546, 1564, 1573, 1583, 1594, 1607,
813 1620, 1655, 1661, 1669, 1675, 1685, 1691, 1697, 1705, 1723,
814 1731, 1732, 1746, 1751, 1764, 1768, 1779, 1780, 1793, 1794,
815 1800, 1801, 1814, 1815, 1827, 1845, 1860, 1861, 1869, 1871,
816 1879, 1881, 1887, 1893, 1902, 1908, 1920, 1926, 1934, 1939,
817 1943, 1952, 1954, 1956, 1958, 1960, 1966, 1972, 1978, 1987,
818 2004, 2012, 2016, 2026, 2028, 2059, 2063, 2080, 2087, 2092,
819 2099, 2102, 2101, 2117, 2119, 2124, 2128, 2137, 2139, 2147,
820 2164, 2172, 2176, 2185, 2187, 2195, 2199, 2216, 2224, 2228,
821 2237, 2239, 2247, 2260, 2267, 2275, 2280, 2286, 2290, 2296,
822 2302, 2308, 2317, 2318, 2323, 2324, 2328, 2334, 2342, 2348,
823 2354, 2360, 2366, 2372, 2381, 2382
828 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
830 #if OCTAVE_DEBUG || 0
837 static const char *
const yytname[] =
839 "\"end of file\"",
"error",
"\"invalid token\"",
"'='",
"':'",
"'-'",
840 "'+'",
"'*'",
"'/'",
"'~'",
"'!'",
"'('",
"')'",
"'['",
"']'",
"'{'",
841 "'}'",
"'.'",
"'@'",
"','",
"';'",
"'\\n'",
"ADD_EQ",
"SUB_EQ",
"MUL_EQ",
842 "DIV_EQ",
"LEFTDIV_EQ",
"POW_EQ",
"EMUL_EQ",
"EDIV_EQ",
"ELEFTDIV_EQ",
843 "EPOW_EQ",
"AND_EQ",
"OR_EQ",
"EXPR_AND_AND",
"EXPR_OR_OR",
"EXPR_AND",
844 "EXPR_OR",
"EXPR_LT",
"EXPR_LE",
"EXPR_EQ",
"EXPR_NE",
"EXPR_GE",
845 "EXPR_GT",
"LEFTDIV",
"EMUL",
"EDIV",
"ELEFTDIV",
"HERMITIAN",
846 "TRANSPOSE",
"PLUS_PLUS",
"MINUS_MINUS",
"POW",
"EPOW",
"NUMBER",
847 "STRUCT_ELT",
"NAME",
"END",
"DQ_STRING",
"SQ_STRING",
"FOR",
"PARFOR",
848 "WHILE",
"DO",
"UNTIL",
"SPMD",
"IF",
"ELSEIF",
"ELSE",
"SWITCH",
"CASE",
849 "OTHERWISE",
"BREAK",
"CONTINUE",
"FUNC_RET",
"UNWIND",
"CLEANUP",
"TRY",
850 "CATCH",
"GLOBAL",
"PERSISTENT",
"FCN_HANDLE",
"CLASSDEF",
"PROPERTIES",
851 "METHODS",
"EVENTS",
"ENUMERATION",
"METAQUERY",
"SUPERCLASSREF",
852 "FQ_IDENT",
"GET",
"SET",
"FCN",
"ARGUMENTS",
"LEXICAL_ERROR",
853 "END_OF_INPUT",
"INPUT_FILE",
"UNARY",
"$accept",
"input",
"simple_list",
854 "simple_list1",
"opt_list",
"list",
"list1",
"opt_fcn_list",
"fcn_list",
855 "fcn_list1",
"statement",
"word_list_cmd",
"word_list",
"identifier",
856 "superclass_identifier",
"meta_identifier",
"string",
"constant",
857 "matrix",
"matrix_rows",
"cell",
"cell_rows",
"cell_or_matrix_row",
858 "fcn_handle",
"anon_fcn_handle",
"primary_expr",
"magic_colon",
859 "magic_tilde",
"arg_list",
"indirect_ref_op",
"oper_expr",
"power_expr",
860 "colon_expr",
"simple_expr",
"assign_lhs",
"assign_expr",
"expression",
861 "command",
"declaration",
"decl_init_list",
"decl_elt",
"select_command",
862 "if_command",
"if_cmd_list",
"if_cmd_list1",
"elseif_clause",
863 "else_clause",
"switch_command",
"case_list",
"case_list1",
864 "switch_case",
"default_case",
"loop_command",
"jump_command",
865 "spmd_command",
"except_command",
"push_fcn_symtab",
"param_list_beg",
866 "param_list_end",
"opt_param_list",
"param_list",
"param_list1",
867 "param_list2",
"param_list_elt",
"return_list",
"return_list1",
868 "parsing_local_fcns",
"push_script_symtab",
"begin_file",
"file",
869 "function_beg",
"fcn_name",
"function_end",
"function",
"function_body",
870 "at_first_executable_stmt",
"function_body1",
"arguments_block",
871 "arguments_beg",
"args_attr_list",
"args_validation_list",
"arg_name",
872 "arg_validation",
"size_spec",
"class_name",
"validation_fcns",
873 "default_value",
"classdef_beg",
"classdef",
"attr_list",
"attr_list1",
874 "attr",
"superclass_list",
"superclass_list1",
"superclass",
875 "class_body",
"class_body1",
"properties_block",
"properties_beg",
876 "property_list",
"property_list1",
"class_property",
"methods_block",
877 "methods_beg",
"method_decl1",
"method_decl",
"$@1",
"method",
878 "methods_list",
"methods_list1",
"events_block",
"events_beg",
879 "events_list",
"events_list1",
"class_event",
"enum_block",
880 "enumeration_beg",
"enum_list",
"enum_list1",
"class_enum",
"stmt_begin",
881 "anon_fcn_begin",
"stash_comment",
"parse_error",
"sep_no_nl",
882 "opt_sep_no_nl",
"opt_nl",
"nl",
"sep",
"opt_sep",
YY_NULLPTR
888 return yytname[yysymbol];
892 #define YYPACT_NINF (-465)
894 #define yypact_value_is_default(Yyn) \
895 ((Yyn) == YYPACT_NINF)
897 #define YYTABLE_NINF (-316)
899 #define yytable_value_is_error(Yyn) \
906 742, -465, 337, 337, 337, 337, 1338, 610, 610, 104,
907 -465, -465, 337, 337, -465, -465, -465, -465, -465, -465,
908 -465, -465, -465, -465, -465, -465, -465, -465, -465, -465,
909 -23, -23, -465, -465, -465, -465, 128, -4, 40, -465,
910 -465, 152, -465, -465, -465, -465, -465, -465, -465, -465,
911 -465, 667, -465, 838, 238, -465, -465, -465, -465, -465,
912 -465, -465, -465, -465, -465, -465, 63, 42, 155, -465,
913 -465, -465, -465, 177, -465, -465, 29, 29, 29, 29,
914 149, -465, 337, 1323, 117, -465, -465, -465, 153, -465,
915 140, -465, -465, 46, -465, 29, 29, 1349, 1407, 1338,
916 286, 286, 1338, 1338, 286, 286, 188, -23, -465, -23,
917 -465, -465, -465, 914, -465, 152, -465, 337, 337, 337,
918 337, 337, 1163, 1178, -465, 337, 337, 337, 337, -465,
919 -465, -465, -465, 1418, 1418, 10, 337, 337, 337, 337,
920 337, 337, 337, 337, 337, 337, 1338, 1338, 1338, 1338,
921 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, -465,
922 -465, -465, 994, 179, 6, -465, -465, -465, 198, -465,
923 610, 1323, -465, 610, -465, -465, -465, -465, 195, 208,
924 -465, 510, 1338, 979, 236, 1338, 237, -465, -465, -465,
925 -465, 307, 1074, 1074, -465, 187, 147, 286, 1074, 1074,
926 1338, -465, -465, -465, 1434, 729, 729, 29, 29, -465,
927 37, -465, 84, 29, 29, 29, 29, 1418, 1418, 1418,
928 1418, 1418, 1418, -465, 101, 101, 1338, -465, 213, 249,
929 325, 261, -465, -465, -465, -465, -465, -465, -465, -465,
930 -465, -465, -465, -465, -465, -465, -465, -465, -465, -465,
931 -465, -465, 163, -465, 286, -465, -465, -465, -465, 14,
932 229, 258, 274, 275, 104, 1323, -465, -465, -465, -465,
933 -465, -465, -465, 7, -465, -465, 913, 1338, 925, 1338,
934 286, -465, -465, -465, 218, 252, 286, -465, -465, -465,
935 -465, -465, 159, 217, 51, -465, 337, -465, 1323, -465,
936 101, 101, 101, 101, 101, 101, 1243, 1258, -465, -465,
937 11, 283, -465, 834, -465, 300, 286, -465, -465, 92,
938 -23, -23, -38, 286, -465, -465, 1338, -465, 1338, -465,
939 1074, 1338, -465, 1074, 286, 286, -465, -465, 257, 159,
940 -465, -465, -465, -465, -465, 1485, -465, 38, -465, 150,
941 1338, -465, -465, -465, 5, -23, 227, -465, -23, -465,
942 -465, -465, 104, -465, 311, 286, 305, 286, 277, -465,
943 -465, 1338, 1074, 286, 286, -465, -465, -465, 286, 286,
944 -465, -465, 319, -23, -23, 329, 57, -465, 286, 241,
945 -465, 286, -465, -465, 286, 247, 286, 1074, 1338, 1074,
946 -465, -465, -465, 1338, 1074, 1074, 1074, -465, -465, -465,
947 1338, 286, 5, 306, -465, 227, -465, -465, -44, 1074,
948 286, -465, -465, 1074, 288, 339, 292, 286, -465, -465,
949 296, 299, -465, -465, -465, 271, -465, 154, -465, 247,
950 -465, -465, -465, -465, 247, 286, 304, -465, 286, -465,
951 1074, 286, -465, -465, -465, -465, 290, 271, -465, -44,
952 1074, -465, 358, -465, 1074, -465, 1074, -465, -465, -465,
953 -465, -465, 286, -465, -465, -465, -465, -465, -465, -465,
954 -465, -465, -465, -465, -23, -23, 313, -465, 314, 290,
955 286, 286, 286, 286, 370, -465, 286, 374, -465, -465,
956 -465, -465, -465, -465, 300, 300, 300, 300, -465, 138,
957 332, 1323, -465, -23, 330, -9, 330, 330, 374, -465,
958 86, -465, 375, 341, 286, -465, -23, -465, -465, -465,
959 343, 286, 19, 344, 286, -465, -23, 346, 286, -465,
960 -23, -465, -465, 1323, 389, -465, 106, -465, 374, -465,
961 53, 61, 391, -465, -465, 330, -465, -465, 330, 396,
962 151, 1338, -465, -465, -465, -465, -465, -465, -465, -465,
963 1338, -465, -465, -23, 397, 104, -465, -465
971 0, 297, 0, 0, 0, 0, 0, 38, 38, 0,
972 298, 299, 0, 0, 30, 25, 28, 29, 295, 295,
973 295, 295, 295, 295, 295, 175, 176, 177, 295, 295,
974 0, 0, 44, 27, 26, 296, 0, 0, 302, 7,
975 21, 47, 53, 52, 31, 48, 50, 51, 49, 136,
976 64, 108, 109, 134, 0, 135, 19, 20, 137, 138,
977 151, 152, 139, 140, 141, 142, 0, 0, 304, 144,
978 295, 143, 4, 303, 5, 47, 80, 79, 77, 78,
979 0, 55, 56, 39, 0, 33, 58, 59, 40, 57,
980 0, 36, 183, 0, 294, 75, 76, 0, 0, 0,
981 314, 314, 0, 0, 314, 314, 149, 145, 147, 146,
982 1, 2, 3, 303, 6, 22, 23, 0, 0, 0,
983 0, 0, 0, 0, 63, 0, 0, 0, 0, 71,
984 72, 65, 66, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 205,
987 202, 306, 9, 305, 0, 300, 301, 54, 42, 32,
988 38, 41, 35, 38, 188, 56, 194, 193, 0, 190,
989 191, 0, 0, 120, 0, 0, 0, 293, 308, 309,
990 310, 315, 9, 9, 293, 0, 154, 314, 9, 9,
991 0, 148, 8, 24, 106, 84, 83, 85, 86, 67,
992 0, 69, 0, 89, 87, 88, 90, 0, 0, 0,
993 0, 0, 0, 91, 81, 82, 0, 73, 118, 119,
994 116, 117, 110, 111, 112, 115, 113, 114, 121, 122,
995 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
996 133, 234, 0, 10, 314, 12, 295, 200, 307, 0,
997 0, 0, 206, 0, 185, 43, 34, 60, 61, 62,
998 37, 184, 187, 0, 46, 45, 0, 0, 0, 0,
999 314, 311, 312, 313, 0, 0, 314, 153, 295, 295,
1000 157, 155, 161, 0, 0, 150, 0, 68, 0, 70,
1001 105, 104, 102, 103, 100, 101, 0, 0, 92, 93,
1002 0, 0, 203, 315, 11, 236, 314, 195, 198, 0,
1003 0, 0, 0, 314, 186, 192, 0, 293, 0, 293,
1004 9, 0, 178, 9, 314, 314, 295, 295, 0, 163,
1005 165, 162, 295, 181, 295, 107, 94, 0, 96, 0,
1006 0, 98, 74, 13, 0, 0, 14, 197, 0, 207,
1007 208, 206, 185, 295, 0, 314, 121, 314, 0, 170,
1008 156, 0, 9, 314, 314, 160, 166, 164, 314, 314,
1009 95, 97, 0, 0, 0, 240, 0, 238, 314, 0,
1010 15, 314, 17, 199, 314, 215, 314, 9, 0, 9,
1011 169, 293, 159, 0, 9, 9, 9, 99, 242, 243,
1012 0, 314, 0, 244, 204, 16, 295, 219, 0, 9,
1013 314, 216, 295, 9, 0, 0, 0, 314, 293, 168,
1014 0, 0, 241, 237, 239, 0, 295, 314, 18, 215,
1015 209, 210, 211, 213, 215, 314, 0, 171, 314, 173,
1016 9, 314, 179, 180, 248, 246, 249, 0, 245, 0,
1017 9, 217, 220, 172, 9, 158, 9, 260, 267, 280,
1018 287, 295, 314, 251, 295, 252, 295, 253, 295, 254,
1019 295, 247, 212, 214, 0, 0, 0, 167, 0, 250,
1020 314, 314, 314, 314, 0, 224, 314, 226, 174, 235,
1021 255, 256, 257, 258, 236, 236, 236, 236, 221, 315,
1022 0, 0, 222, 228, 261, 295, 281, 288, 226, 218,
1023 0, 229, 230, 0, 314, 263, 0, 274, 273, 277,
1024 0, 314, 0, 0, 314, 283, 0, 0, 314, 290,
1025 0, 223, 227, 0, 232, 259, 295, 262, 226, 266,
1026 295, 268, 0, 270, 279, 282, 285, 286, 289, 0,
1027 0, 0, 225, 264, 265, 278, 269, 271, 284, 291,
1028 0, 231, 233, 0, 0, 268, 272, 292
1034 -465, -465, -465, -465, -125, -465, -465, -465, -465, -465,
1035 4, -465, -465, 0, -465, -465, -21, -465, -465, -465,
1036 -465, -465, -5, -465, -465, 2, -166, -70, -81, -215,
1037 22, -98, -465, 335, -90, -465, 31, -465, -465, 379,
1038 -64, -465, -465, -465, -465, -465, -465, -465, -465, -465,
1039 72, 74, -465, -465, -465, -465, -465, -465, -465, 52,
1040 -8, -465, -465, 142, -116, -465, -465, -465, -465, -465,
1041 -465, 95, -39, -344, -18, -22, -465, -17, -465, -465,
1042 -465, -83, -464, -465, -465, -465, -465, -465, -465, -127,
1043 -465, 16, -465, -465, -26, -465, -465, -54, -465, -465,
1044 -465, -110, -52, -465, -135, -465, -465, -111, -465, -465,
1045 -49, -465, -465, -465, -113, -46, -465, -465, -465, -114,
1046 -183, -465, 214, -465, 407, 408, -465, -465, -248, 211
1052 0, 36, 37, 38, 252, 253, 254, 389, 390, 391,
1053 255, 40, 115, 75, 42, 43, 44, 45, 46, 84,
1054 47, 90, 85, 48, 49, 50, 86, 87, 88, 135,
1055 51, 224, 52, 53, 54, 55, 56, 57, 58, 107,
1056 108, 59, 60, 195, 196, 290, 291, 61, 338, 339,
1057 340, 341, 62, 63, 64, 65, 66, 93, 272, 323,
1058 324, 178, 179, 180, 263, 319, 316, 67, 68, 69,
1059 70, 264, 442, 71, 418, 419, 420, 421, 422, 485,
1060 496, 497, 512, 513, 522, 544, 562, 256, 257, 355,
1061 386, 387, 436, 437, 455, 471, 472, 473, 474, 523,
1062 524, 525, 475, 476, 553, 528, 573, 529, 530, 531,
1063 477, 478, 533, 534, 535, 479, 480, 537, 538, 539,
1064 280, 181, 526, 72, 73, 74, 162, 163, 191, 192
1072 41, 94, 168, 91, 39, 267, 313, 184, 186, 310,
1073 310, 286, 392, 440, 383, 384, 175, 111, 15, 259,
1074 116, 226, 350, 176, 76, 77, 78, 79, 317, 177,
1075 106, 106, 259, 15, 95, 96, 225, 80, 89, 89,
1076 122, 210, 212, 201, 123, 201, 124, 174, -275, 297,
1077 380, 441, 260, 261, 541, 175, 298, 298, -189, 10,
1078 11, 15, 15, 15, -196, 227, 351, 284, 285, 411,
1079 15, 438, 92, 293, 294, 15, 412, 129, 130, 131,
1080 132, 133, 134, -182, 564, 310, 310, 310, 310, 310,
1081 310, 112, 276, 106, 203, 278, 260, 261, 542, 267,
1082 299, 268, 15, 298, 78, 298, 357, 106, 343, 106,
1083 -276, 358, 306, 41, 89, 92, 307, 202, 124, 300,
1084 301, 302, 303, 304, 305, 281, 282, 283, 110, 344,
1085 187, 169, 267, 194, 197, 223, 223, 170, 160, 204,
1086 205, 206, 207, 208, 365, -182, 367, 213, 214, 215,
1087 216, 308, 309, 89, 89, 159, 172, 281, 282, 283,
1088 173, 167, 41, -315, 262, 266, 381, 571, 270, 298,
1089 298, 527, 171, 188, 189, 190, 161, 238, 239, 240,
1090 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1091 457, 200, 41, 41, 15, 268, 165, 166, 41, 41,
1092 258, 89, 269, 176, 89, 368, 527, 271, 370, 177,
1093 16, 17, 275, 80, 288, 289, 80, 265, 427, 223,
1094 223, 223, 223, 223, 223, 347, 349, 273, 268, 336,
1095 337, 295, 97, 98, 99, 100, 101, 102, 103, 277,
1096 279, 146, 104, 105, 287, 451, 320, 402, 509, 138,
1097 139, 140, 141, 142, 143, 144, 145, 311, 312, 318,
1098 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1099 157, 158, 424, 106, 426, 321, 546, -196, 322, 429,
1100 430, 431, 331, 136, 164, 138, 139, 140, 141, 142,
1101 143, 144, 145, 342, 443, 352, 269, 138, 446, 140,
1102 141, 142, 143, 144, 145, 188, 189, 190, 327, 332,
1103 329, 354, 193, 41, 375, 198, 199, 353, 345, -182,
1104 359, 360, 361, 396, 398, 465, 281, 282, 283, 269,
1105 41, 407, 410, 41, 400, 483, 414, 89, 89, 486,
1106 417, 487, 2, 3, 435, 447, 4, 5, 6, 449,
1107 7, 448, 8, 452, 385, 388, 453, 364, 393, 366,
1108 454, 463, 369, 140, 141, 142, 143, 144, 145, 484,
1109 498, 499, 41, 467, 468, 469, 470, 514, 515, 516,
1110 517, 382, 508, 408, 409, 511, -295, 12, 13, 519,
1111 543, 14, 561, 15, 567, 16, 17, 41, 545, 41,
1112 549, 554, 401, 557, 41, 41, 41, 570, 292, 577,
1113 109, 376, 385, 377, 394, 325, 552, 362, 32, 41,
1114 482, 459, 460, 41, 33, 34, 518, 461, 434, 425,
1115 520, 481, 183, 183, 428, 500, 563, 501, 576, 565,
1116 502, 432, 568, 503, 569, 113, 114, 0, 0, 0,
1117 41, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1118 41, 0, 560, 0, 41, 314, 41, 0, 0, 0,
1119 315, 228, 229, 230, 231, 232, 233, 234, 235, 236,
1120 237, 0, 0, 0, 494, 495, 0, 0, 0, 0,
1121 0, 330, 0, 0, 0, 0, 0, 333, 0, 0,
1122 0, 0, 334, 335, 0, 0, 0, 0, 0, 495,
1123 0, 274, 0, 521, 0, 2, 3, 0, 0, 4,
1124 5, 6, 0, 7, 0, 8, 548, 356, 9, 0,
1125 0, 0, 551, 0, 363, 0, 556, 0, 0, 0,
1126 559, 0, 89, 566, 0, 371, 372, 0, 0, 0,
1127 373, 374, 0, 0, 0, 0, 378, 0, 379, 0,
1128 12, 13, 0, 0, 14, 0, 15, 566, 16, 17,
1129 0, 0, 0, 575, 89, 0, 397, 395, 399, 0,
1130 0, 0, 0, 0, 403, 404, 0, 0, 0, 405,
1131 406, 32, 572, 0, 0, 0, 0, 33, 34, 413,
1132 0, 574, 415, 0, 0, 416, 0, 423, 0, 0,
1133 0, 0, 0, 0, 81, 2, 3, 0, 0, 82,
1134 5, 6, 433, 7, 0, 8, 0, 0, 9, 83,
1135 439, 444, 0, 0, 0, 0, 445, 0, 450, 0,
1136 0, 0, 0, 0, 0, 0, 0, 0, 458, 0,
1137 456, 0, 0, 0, 0, 0, 462, 0, 0, 464,
1138 12, 13, 466, 0, 14, 0, 15, 0, 16, 17,
1139 0, 117, 118, 119, 120, 121, 0, 0, 122, 0,
1140 0, 0, 123, 489, 124, 488, 0, 0, 490, 0,
1141 491, 32, 492, 0, 493, 0, 0, 33, 34, 0,
1142 0, 504, 505, 506, 507, 0, 0, 510, 0, 0,
1143 0, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1144 134, 0, 0, 0, 0, 0, 0, 0, 0, 532,
1145 536, 540, 0, 0, 0, 547, 120, 121, 0, 0,
1146 122, 0, 550, 1, 123, 555, 124, 2, 3, 558,
1147 0, 4, 5, 6, 0, 7, 0, 8, 0, 0,
1148 9, 10, 11, -302, 532, 0, 0, 0, 0, 536,
1149 0, 0, 540, 125, 126, 127, 128, 129, 130, 131,
1150 132, 133, 134, 0, 0, 0, 0, 0, 0, 0,
1151 0, 0, 12, 13, 0, 0, 14, 0, 15, 0,
1152 16, 17, 18, 19, 20, 21, 0, 22, 23, 0,
1153 0, 24, 0, 0, 25, 26, 27, 28, 0, 29,
1154 0, 30, 31, 32, 0, 0, 0, 0, 0, 33,
1155 34, 0, 0, 0, -182, 0, 35, -302, -201, 2,
1156 3, -120, 0, 4, 5, 6, 0, 7, 0, 8,
1157 0, 0, 9, 281, 282, 283, 0, 0, 0, 0,
1158 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
1159 -120, -120, 136, 137, 138, 139, 140, 141, 142, 143,
1160 144, 145, 0, 0, 12, 13, 0, 0, 14, 0,
1161 15, 0, 16, 17, 18, 19, 20, 21, 0, 22,
1162 23, 0, 0, 24, 0, 0, 25, 26, 27, 28,
1163 0, 29, 0, 30, 31, 32, 326, 0, 0, 2,
1164 3, 33, 34, 4, 5, 6, -182, 7, 328, 8,
1165 -201, 0, 9, 165, 166, 147, 148, 149, 150, 151,
1166 152, 153, 154, 155, 156, 157, 158, 147, 148, 149,
1167 150, 151, 152, 153, 154, 155, 156, 157, 158, 0,
1168 0, 0, 0, 0, 12, 13, 0, 0, 14, 0,
1169 15, 0, 16, 17, 18, 19, 20, 21, 0, 22,
1170 23, 0, 0, 24, 0, 0, 25, 26, 27, 28,
1171 0, 29, 0, 30, 31, 32, 0, 0, 0, 2,
1172 3, 33, 34, 4, 5, 6, -182, 7, 0, 8,
1173 -201, 0, 9, 136, 137, 138, 139, 140, 141, 142,
1174 143, 144, 145, 0, 0, 0, 0, 0, 0, 0,
1175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1176 0, 0, 0, 0, 12, 13, 0, 0, 14, 0,
1177 15, 0, 16, 17, 18, 19, 20, 21, 0, 22,
1178 23, 0, 0, 24, 0, 0, 25, 26, 27, 28,
1179 0, 29, 0, 30, 31, 32, 251, 0, 0, 2,
1180 3, 33, 34, 4, 5, 6, -182, 7, 0, 8,
1181 -201, 0, 9, 0, 0, 0, 0, 0, 0, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1184 0, 0, 0, 0, 12, 13, 0, 0, 14, 0,
1185 15, 0, 16, 17, 18, 19, 20, 21, 0, 22,
1186 23, 0, 0, 24, 0, 0, 25, 26, 27, 28,
1187 0, 29, 0, 30, 31, 32, 0, 0, 0, 0,
1188 0, 33, 34, 0, 0, 0, -182, 81, 2, 3,
1189 -201, 0, 82, 5, 6, 209, 7, 0, 8, 0,
1190 0, 9, 81, 2, 3, 0, 0, 82, 5, 6,
1191 0, 7, 0, 8, 211, 0, 9, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 0, 12, 13, 0, 0, 14, 0, 15,
1194 0, 16, 17, 0, 0, 0, 0, 0, 12, 13,
1195 0, 0, 14, 0, 15, 0, 16, 17, 0, 0,
1196 0, 0, 0, 0, 32, 0, 0, 81, 2, 3,
1197 33, 34, 82, 5, 6, 346, 7, 0, 8, 32,
1198 0, 9, 81, 2, 3, 33, 34, 82, 5, 6,
1199 0, 7, 0, 8, 348, 0, 9, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, 12, 13, 0, 0, 14, 0, 15,
1202 0, 16, 17, 0, 0, 0, 0, 0, 12, 13,
1203 0, 0, 14, 0, 15, 0, 16, 17, 0, 0,
1204 0, 0, 0, 0, 32, 0, 0, 81, 2, 3,
1205 33, 34, 82, 5, 6, 0, 7, 0, 8, 32,
1206 0, 9, 0, 2, 3, 33, 34, 4, 5, 6,
1207 0, 7, 0, 8, 2, 3, 9, 0, 4, 5,
1208 182, 0, 7, 0, 8, 0, 0, 0, 0, 0,
1209 0, 0, 0, 12, 13, 0, 0, 14, 0, 15,
1210 0, 16, 17, 0, 0, 0, 0, 0, 12, 13,
1211 0, 0, 14, 0, 15, 0, 16, 17, 0, 12,
1212 13, 0, 0, 14, 32, 15, 0, 16, 17, 0,
1213 33, 34, 2, 3, 0, 0, 4, 5, 185, 32,
1214 7, 0, 8, 217, 218, 33, 34, 219, 220, 6,
1215 32, 7, 0, 8, 0, 0, 33, 34, 296, 118,
1216 119, 120, 121, 0, 0, 122, 0, 0, 0, 123,
1217 0, 124, 0, 0, 0, 0, 0, 12, 13, 0,
1218 0, 14, 0, 15, 0, 16, 17, 0, 221, 222,
1219 0, 0, 14, 0, 15, 0, 16, 17, 125, 126,
1220 127, 128, 129, 130, 131, 132, 133, 134, 32, 0,
1221 118, 119, 120, 121, 33, 34, 122, 0, 0, 32,
1222 123, 0, 124, 0, 0, 33, 34, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0, 0, 125,
1225 126, 127, 128, 129, 130, 131, 132, 133, 134
1230 0, 9, 83, 8, 0, 171, 254, 97, 98, 224,
1231 225, 194, 356, 57, 9, 10, 9, 21, 56, 13,
1232 41, 11, 11, 93, 2, 3, 4, 5, 14, 93,
1233 30, 31, 13, 56, 12, 13, 134, 6, 7, 8,
1234 11, 122, 123, 107, 15, 109, 17, 1, 57, 12,
1235 12, 95, 90, 91, 518, 9, 19, 19, 12, 19,
1236 20, 56, 56, 56, 3, 55, 55, 192, 193, 12,
1237 56, 415, 11, 198, 199, 56, 19, 48, 49, 50,
1238 51, 52, 53, 92, 548, 300, 301, 302, 303, 304,
1239 305, 95, 182, 93, 115, 185, 90, 91, 12, 265,
1240 16, 171, 56, 19, 82, 19, 14, 107, 57, 109,
1241 57, 19, 11, 113, 83, 11, 15, 113, 17, 217,
1242 218, 219, 220, 221, 222, 19, 20, 21, 0, 78,
1243 99, 14, 298, 102, 103, 133, 134, 20, 96, 117,
1244 118, 119, 120, 121, 327, 92, 329, 125, 126, 127,
1245 128, 50, 51, 122, 123, 92, 16, 19, 20, 21,
1246 20, 12, 162, 57, 164, 170, 16, 16, 173, 19,
1247 19, 515, 19, 19, 20, 21, 21, 146, 147, 148,
1248 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1249 36, 3, 192, 193, 56, 265, 19, 20, 198, 199,
1250 21, 170, 171, 273, 173, 330, 550, 12, 333, 273,
1251 58, 59, 181, 182, 67, 68, 185, 19, 401, 217,
1252 218, 219, 220, 221, 222, 306, 307, 19, 298, 70,
1253 71, 200, 18, 19, 20, 21, 22, 23, 24, 3,
1254 3, 3, 28, 29, 57, 428, 17, 372, 496, 36,
1255 37, 38, 39, 40, 41, 42, 43, 226, 95, 259,
1256 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1257 32, 33, 397, 273, 399, 17, 524, 3, 3, 404,
1258 405, 406, 64, 34, 70, 36, 37, 38, 39, 40,
1259 41, 42, 43, 76, 419, 12, 265, 36, 423, 38,
1260 39, 40, 41, 42, 43, 19, 20, 21, 277, 57,
1261 279, 11, 101, 313, 57, 104, 105, 313, 296, 92,
1262 320, 321, 322, 12, 19, 450, 19, 20, 21, 298,
1263 330, 12, 3, 333, 57, 460, 95, 306, 307, 464,
1264 93, 466, 5, 6, 38, 57, 9, 10, 11, 57,
1265 13, 12, 15, 57, 354, 355, 57, 326, 358, 328,
1266 89, 57, 331, 38, 39, 40, 41, 42, 43, 11,
1267 57, 57, 372, 83, 84, 85, 86, 504, 505, 506,
1268 507, 350, 12, 383, 384, 11, 56, 50, 51, 57,
1269 15, 54, 3, 56, 3, 58, 59, 397, 57, 399,
1270 57, 57, 371, 57, 404, 405, 406, 11, 197, 12,
1271 31, 339, 412, 339, 362, 273, 532, 322, 81, 419,
1272 459, 439, 444, 423, 87, 88, 509, 444, 412, 398,
1273 511, 457, 97, 98, 403, 489, 546, 489, 573, 550,
1274 489, 410, 555, 489, 558, 38, 38, -1, -1, -1,
1275 450, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1276 460, -1, 543, -1, 464, 254, 466, -1, -1, -1,
1277 256, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1278 145, -1, -1, -1, 484, 485, -1, -1, -1, -1,
1279 -1, 280, -1, -1, -1, -1, -1, 286, -1, -1,
1280 -1, -1, 288, 289, -1, -1, -1, -1, -1, 509,
1281 -1, 1, -1, 513, -1, 5, 6, -1, -1, 9,
1282 10, 11, -1, 13, -1, 15, 526, 316, 18, -1,
1283 -1, -1, 532, -1, 323, -1, 536, -1, -1, -1,
1284 540, -1, 511, 551, -1, 334, 335, -1, -1, -1,
1285 336, 337, -1, -1, -1, -1, 342, -1, 344, -1,
1286 50, 51, -1, -1, 54, -1, 56, 575, 58, 59,
1287 -1, -1, -1, 573, 543, -1, 365, 363, 367, -1,
1288 -1, -1, -1, -1, 373, 374, -1, -1, -1, 378,
1289 379, 81, 561, -1, -1, -1, -1, 87, 88, 388,
1290 -1, 570, 391, -1, -1, 394, -1, 396, -1, -1,
1291 -1, -1, -1, -1, 4, 5, 6, -1, -1, 9,
1292 10, 11, 411, 13, -1, 15, -1, -1, 18, 19,
1293 416, 420, -1, -1, -1, -1, 422, -1, 427, -1,
1294 -1, -1, -1, -1, -1, -1, -1, -1, 437, -1,
1295 436, -1, -1, -1, -1, -1, 445, -1, -1, 448,
1296 50, 51, 451, -1, 54, -1, 56, -1, 58, 59,
1297 -1, 4, 5, 6, 7, 8, -1, -1, 11, -1,
1298 -1, -1, 15, 472, 17, 471, -1, -1, 474, -1,
1299 476, 81, 478, -1, 480, -1, -1, 87, 88, -1,
1300 -1, 490, 491, 492, 493, -1, -1, 496, -1, -1,
1301 -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1302 53, -1, -1, -1, -1, -1, -1, -1, -1, 515,
1303 516, 517, -1, -1, -1, 524, 7, 8, -1, -1,
1304 11, -1, 531, 1, 15, 534, 17, 5, 6, 538,
1305 -1, 9, 10, 11, -1, 13, -1, 15, -1, -1,
1306 18, 19, 20, 21, 550, -1, -1, -1, -1, 555,
1307 -1, -1, 558, 44, 45, 46, 47, 48, 49, 50,
1308 51, 52, 53, -1, -1, -1, -1, -1, -1, -1,
1309 -1, -1, 50, 51, -1, -1, 54, -1, 56, -1,
1310 58, 59, 60, 61, 62, 63, -1, 65, 66, -1,
1311 -1, 69, -1, -1, 72, 73, 74, 75, -1, 77,
1312 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
1313 88, -1, -1, -1, 92, -1, 94, 95, 96, 5,
1314 6, 3, -1, 9, 10, 11, -1, 13, -1, 15,
1315 -1, -1, 18, 19, 20, 21, -1, -1, -1, -1,
1316 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1317 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1318 42, 43, -1, -1, 50, 51, -1, -1, 54, -1,
1319 56, -1, 58, 59, 60, 61, 62, 63, -1, 65,
1320 66, -1, -1, 69, -1, -1, 72, 73, 74, 75,
1321 -1, 77, -1, 79, 80, 81, 3, -1, -1, 5,
1322 6, 87, 88, 9, 10, 11, 92, 13, 3, 15,
1323 96, -1, 18, 19, 20, 22, 23, 24, 25, 26,
1324 27, 28, 29, 30, 31, 32, 33, 22, 23, 24,
1325 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
1326 -1, -1, -1, -1, 50, 51, -1, -1, 54, -1,
1327 56, -1, 58, 59, 60, 61, 62, 63, -1, 65,
1328 66, -1, -1, 69, -1, -1, 72, 73, 74, 75,
1329 -1, 77, -1, 79, 80, 81, -1, -1, -1, 5,
1330 6, 87, 88, 9, 10, 11, 92, 13, -1, 15,
1331 96, -1, 18, 34, 35, 36, 37, 38, 39, 40,
1332 41, 42, 43, -1, -1, -1, -1, -1, -1, -1,
1333 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1334 -1, -1, -1, -1, 50, 51, -1, -1, 54, -1,
1335 56, -1, 58, 59, 60, 61, 62, 63, -1, 65,
1336 66, -1, -1, 69, -1, -1, 72, 73, 74, 75,
1337 -1, 77, -1, 79, 80, 81, 82, -1, -1, 5,
1338 6, 87, 88, 9, 10, 11, 92, 13, -1, 15,
1339 96, -1, 18, -1, -1, -1, -1, -1, -1, -1,
1340 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1341 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1342 -1, -1, -1, -1, 50, 51, -1, -1, 54, -1,
1343 56, -1, 58, 59, 60, 61, 62, 63, -1, 65,
1344 66, -1, -1, 69, -1, -1, 72, 73, 74, 75,
1345 -1, 77, -1, 79, 80, 81, -1, -1, -1, -1,
1346 -1, 87, 88, -1, -1, -1, 92, 4, 5, 6,
1347 96, -1, 9, 10, 11, 12, 13, -1, 15, -1,
1348 -1, 18, 4, 5, 6, -1, -1, 9, 10, 11,
1349 -1, 13, -1, 15, 16, -1, 18, -1, -1, -1,
1350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1351 -1, -1, -1, 50, 51, -1, -1, 54, -1, 56,
1352 -1, 58, 59, -1, -1, -1, -1, -1, 50, 51,
1353 -1, -1, 54, -1, 56, -1, 58, 59, -1, -1,
1354 -1, -1, -1, -1, 81, -1, -1, 4, 5, 6,
1355 87, 88, 9, 10, 11, 12, 13, -1, 15, 81,
1356 -1, 18, 4, 5, 6, 87, 88, 9, 10, 11,
1357 -1, 13, -1, 15, 16, -1, 18, -1, -1, -1,
1358 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1359 -1, -1, -1, 50, 51, -1, -1, 54, -1, 56,
1360 -1, 58, 59, -1, -1, -1, -1, -1, 50, 51,
1361 -1, -1, 54, -1, 56, -1, 58, 59, -1, -1,
1362 -1, -1, -1, -1, 81, -1, -1, 4, 5, 6,
1363 87, 88, 9, 10, 11, -1, 13, -1, 15, 81,
1364 -1, 18, -1, 5, 6, 87, 88, 9, 10, 11,
1365 -1, 13, -1, 15, 5, 6, 18, -1, 9, 10,
1366 11, -1, 13, -1, 15, -1, -1, -1, -1, -1,
1367 -1, -1, -1, 50, 51, -1, -1, 54, -1, 56,
1368 -1, 58, 59, -1, -1, -1, -1, -1, 50, 51,
1369 -1, -1, 54, -1, 56, -1, 58, 59, -1, 50,
1370 51, -1, -1, 54, 81, 56, -1, 58, 59, -1,
1371 87, 88, 5, 6, -1, -1, 9, 10, 11, 81,
1372 13, -1, 15, 5, 6, 87, 88, 9, 10, 11,
1373 81, 13, -1, 15, -1, -1, 87, 88, 4, 5,
1374 6, 7, 8, -1, -1, 11, -1, -1, -1, 15,
1375 -1, 17, -1, -1, -1, -1, -1, 50, 51, -1,
1376 -1, 54, -1, 56, -1, 58, 59, -1, 50, 51,
1377 -1, -1, 54, -1, 56, -1, 58, 59, 44, 45,
1378 46, 47, 48, 49, 50, 51, 52, 53, 81, -1,
1379 5, 6, 7, 8, 87, 88, 11, -1, -1, 81,
1380 15, -1, 17, -1, -1, 87, 88, -1, -1, -1,
1381 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1382 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
1383 45, 46, 47, 48, 49, 50, 51, 52, 53
1390 0, 1, 5, 6, 9, 10, 11, 13, 15, 18,
1391 19, 20, 50, 51, 54, 56, 58, 59, 60, 61,
1392 62, 63, 65, 66, 69, 72, 73, 74, 75, 77,
1393 79, 80, 81, 87, 88, 94, 99, 100, 101, 108,
1394 109, 111, 112, 113, 114, 115, 116, 118, 121, 122,
1395 123, 128, 130, 131, 132, 133, 134, 135, 136, 139,
1396 140, 145, 150, 151, 152, 153, 154, 165, 166, 167,
1397 168, 171, 221, 222, 223, 111, 128, 128, 128, 128,
1398 134, 4, 9, 19, 117, 120, 124, 125, 126, 134,
1399 119, 120, 11, 155, 158, 128, 128, 220, 220, 220,
1400 220, 220, 220, 220, 220, 220, 111, 137, 138, 137,
1401 0, 21, 95, 222, 223, 110, 114, 4, 5, 6,
1402 7, 8, 11, 15, 17, 44, 45, 46, 47, 48,
1403 49, 50, 51, 52, 53, 127, 34, 35, 36, 37,
1404 38, 39, 40, 41, 42, 43, 3, 22, 23, 24,
1405 25, 26, 27, 28, 29, 30, 31, 32, 33, 92,
1406 96, 21, 224, 225, 220, 19, 20, 12, 126, 14,
1407 20, 19, 16, 20, 1, 9, 125, 138, 159, 160,
1408 161, 219, 11, 131, 132, 11, 132, 134, 19, 20,
1409 21, 226, 227, 227, 134, 141, 142, 134, 227, 227,
1410 3, 138, 108, 114, 128, 128, 128, 128, 128, 12,
1411 126, 16, 126, 128, 128, 128, 128, 5, 6, 9,
1412 10, 50, 51, 123, 129, 129, 11, 55, 131, 131,
1413 131, 131, 131, 131, 131, 131, 131, 131, 134, 134,
1414 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
1415 134, 82, 102, 103, 104, 108, 185, 186, 21, 13,
1416 90, 91, 111, 162, 169, 19, 120, 124, 125, 134,
1417 120, 12, 156, 19, 1, 134, 132, 3, 132, 3,
1418 218, 19, 20, 21, 102, 102, 218, 57, 67, 68,
1419 143, 144, 227, 102, 102, 134, 4, 12, 19, 16,
1420 129, 129, 129, 129, 129, 129, 11, 15, 50, 51,
1421 127, 134, 95, 226, 227, 220, 164, 14, 111, 163,
1422 17, 17, 3, 157, 158, 161, 3, 134, 3, 134,
1423 227, 64, 57, 227, 220, 220, 70, 71, 146, 147,
1424 148, 149, 76, 57, 78, 128, 12, 126, 16, 126,
1425 11, 55, 12, 108, 11, 187, 227, 14, 19, 111,
1426 111, 111, 169, 227, 134, 218, 134, 218, 102, 134,
1427 102, 227, 227, 220, 220, 57, 148, 149, 220, 220,
1428 12, 16, 134, 9, 10, 111, 188, 189, 111, 105,
1429 106, 107, 171, 111, 157, 220, 12, 227, 19, 227,
1430 57, 134, 102, 227, 227, 227, 227, 12, 111, 111,
1431 3, 12, 19, 227, 95, 227, 227, 93, 172, 173,
1432 174, 175, 176, 227, 102, 134, 102, 218, 134, 102,
1433 102, 102, 134, 227, 189, 38, 190, 191, 171, 220,
1434 57, 95, 170, 102, 227, 220, 102, 57, 12, 57,
1435 227, 218, 57, 57, 89, 192, 220, 36, 227, 172,
1436 173, 175, 227, 57, 227, 102, 227, 83, 84, 85,
1437 86, 193, 194, 195, 196, 200, 201, 208, 209, 213,
1438 214, 192, 170, 102, 11, 177, 102, 102, 220, 227,
1439 220, 220, 220, 220, 111, 111, 178, 179, 57, 57,
1440 195, 200, 208, 213, 227, 227, 227, 227, 12, 226,
1441 227, 11, 180, 181, 187, 187, 187, 187, 179, 57,
1442 126, 111, 182, 197, 198, 199, 220, 171, 203, 205,
1443 206, 207, 220, 210, 211, 212, 220, 215, 216, 217,
1444 220, 180, 12, 15, 183, 57, 226, 227, 111, 57,
1445 227, 111, 162, 202, 57, 227, 111, 57, 227, 111,
1446 126, 3, 184, 199, 180, 205, 158, 3, 212, 217,
1447 11, 16, 134, 204, 134, 111, 202, 12
1453 0, 98, 99, 99, 99, 100, 100, 101, 101, 102,
1454 102, 103, 104, 104, 105, 105, 106, 107, 107, 108,
1455 108, 108, 109, 110, 110, 111, 112, 113, 114, 114,
1456 115, 115, 116, 117, 117, 118, 119, 119, 120, 120,
1457 120, 120, 120, 120, 121, 122, 122, 123, 123, 123,
1458 123, 123, 123, 123, 123, 124, 125, 126, 126, 126,
1459 126, 126, 126, 127, 128, 128, 128, 128, 128, 128,
1460 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1461 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1462 128, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1463 129, 129, 129, 129, 129, 129, 130, 130, 131, 131,
1464 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1465 132, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1466 133, 133, 133, 133, 134, 134, 134, 135, 135, 135,
1467 135, 135, 135, 135, 135, 136, 136, 137, 137, 138,
1468 138, 139, 139, 140, 141, 141, 142, 142, 143, 144,
1469 145, 146, 146, 146, 146, 147, 147, 148, 149, 150,
1470 150, 150, 150, 150, 150, 151, 151, 151, 152, 153,
1471 153, 153, 154, 155, 156, 157, 157, 158, 158, 159,
1472 159, 160, 160, 161, 161, 162, 162, 162, 163, 163,
1473 164, 165, 166, 167, 167, 168, 169, 169, 169, 170,
1474 170, 171, 171, 172, 172, 173, 174, 174, 175, 176,
1475 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
1476 183, 183, 184, 184, 185, 186, 187, 187, 188, 188,
1477 189, 189, 189, 189, 190, 190, 191, 191, 192, 193,
1478 193, 194, 194, 194, 194, 194, 194, 194, 194, 195,
1479 196, 197, 197, 198, 198, 199, 200, 201, 202, 202,
1480 203, 204, 203, 205, 205, 206, 206, 207, 207, 208,
1481 209, 210, 210, 211, 211, 212, 213, 214, 215, 215,
1482 216, 216, 217, 218, 219, 220, 221, 221, 222, 222,
1483 222, 222, 223, 223, 224, 224, 225, 225, 226, 226,
1484 226, 226, 226, 226, 227, 227
1490 0, 2, 2, 2, 1, 1, 2, 1, 3, 0,
1491 1, 2, 1, 3, 0, 1, 2, 1, 3, 1,
1492 1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
1493 1, 1, 3, 1, 3, 3, 1, 3, 0, 1,
1494 1, 2, 2, 3, 1, 4, 4, 1, 1, 1,
1495 1, 1, 1, 1, 3, 1, 1, 1, 1, 1,
1496 3, 3, 3, 1, 1, 2, 2, 3, 4, 3,
1497 4, 2, 2, 3, 5, 2, 2, 2, 2, 2,
1498 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1499 3, 1, 2, 2, 3, 4, 3, 4, 3, 5,
1500 2, 2, 2, 2, 2, 2, 3, 5, 1, 1,
1501 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1502 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1503 3, 3, 3, 3, 1, 1, 1, 1, 1, 1,
1504 1, 1, 1, 1, 1, 2, 2, 1, 2, 1,
1505 3, 1, 1, 4, 1, 2, 4, 2, 7, 4,
1506 6, 0, 1, 1, 2, 1, 2, 7, 4, 7,
1507 6, 9, 10, 9, 12, 1, 1, 1, 5, 9,
1508 9, 5, 0, 1, 1, 0, 1, 3, 2, 0,
1509 1, 1, 3, 1, 1, 2, 1, 3, 1, 3,
1510 0, 0, 2, 4, 7, 2, 1, 3, 3, 1,
1511 1, 8, 10, 2, 4, 0, 1, 3, 7, 1,
1512 0, 3, 2, 4, 1, 4, 0, 3, 0, 1,
1513 0, 3, 0, 2, 1, 10, 0, 4, 1, 3,
1514 1, 3, 2, 2, 0, 2, 2, 3, 1, 0,
1515 2, 1, 1, 1, 1, 3, 3, 3, 3, 6,
1516 1, 0, 2, 1, 3, 3, 6, 1, 1, 2,
1517 2, 0, 5, 1, 1, 0, 2, 1, 3, 6,
1518 1, 0, 2, 1, 3, 2, 6, 1, 0, 2,
1519 1, 3, 5, 0, 0, 0, 1, 1, 1, 1,
1520 2, 2, 0, 1, 0, 1, 1, 2, 1, 1,
1527 #define yyerrok (yyerrstatus = 0)
1528 #define yyclearin (yychar = OCTAVE_EMPTY)
1530 #define YYACCEPT goto yyacceptlab
1531 #define YYABORT goto yyabortlab
1532 #define YYERROR goto yyerrorlab
1533 #define YYNOMEM goto yyexhaustedlab
1536 #define YYRECOVERING() (!!yyerrstatus)
1538 #define YYBACKUP(Token, Value) \
1540 if (yychar == OCTAVE_EMPTY) \
1544 YYPOPSTACK (yylen); \
1550 yyerror (parser, YY_("syntax error: cannot back up")); \
1557 #define YYERRCODE OCTAVE_UNDEF
1565 # define YYFPRINTF fprintf
1568 # define YYDPRINTF(Args) \
1577 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1581 YYFPRINTF (stderr, "%s ", Title); \
1582 yy_symbol_print (stderr, \
1583 Kind, Value, parser); \
1584 YYFPRINTF (stderr, "\n"); \
1594 yy_symbol_value_print (FILE *yyo,
1597 FILE *yyoutput = yyo;
1613 yy_symbol_print (FILE *yyo,
1616 YYFPRINTF (yyo,
"%s %s (",
1617 yykind <
YYNTOKENS ?
"token" :
"nterm", yysymbol_name (yykind));
1619 yy_symbol_value_print (yyo, yykind, yyvaluep,
parser);
1620 YYFPRINTF (yyo,
")");
1631 YYFPRINTF (stderr,
"Stack now");
1632 for (; yybottom <= yytop; yybottom++)
1634 int yybot = *yybottom;
1635 YYFPRINTF (stderr,
" %d", yybot);
1637 YYFPRINTF (stderr,
"\n");
1640 # define YY_STACK_PRINT(Bottom, Top) \
1643 yy_stack_print ((Bottom), (Top)); \
1653 int yyrule, octave::base_parser&
parser)
1655 int yylno = yyrline[yyrule];
1656 int yynrhs = yyr2[yyrule];
1658 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1661 for (yyi = 0; yyi < yynrhs; yyi++)
1663 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1664 yy_symbol_print (stderr,
1667 YYFPRINTF (stderr,
"\n");
1671 # define YY_REDUCE_PRINT(Rule) \
1674 yy_reduce_print (yyssp, yyvsp, Rule, parser); \
1681 # define YYDPRINTF(Args) ((void) 0)
1682 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1683 # define YY_STACK_PRINT(Bottom, Top)
1684 # define YY_REDUCE_PRINT(Rule)
1690 # define YYINITDEPTH 200
1701 # define YYMAXDEPTH 10000
1743 yydestruct (
const char *yymsg,
1756 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1758 #line 1759 "libinterp/parse-tree/oct-parse.cc"
1762 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1764 #line 1765 "libinterp/parse-tree/oct-parse.cc"
1768 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1770 #line 1771 "libinterp/parse-tree/oct-parse.cc"
1774 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1776 #line 1777 "libinterp/parse-tree/oct-parse.cc"
1780 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1782 #line 1783 "libinterp/parse-tree/oct-parse.cc"
1786 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1788 #line 1789 "libinterp/parse-tree/oct-parse.cc"
1792 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1794 #line 1795 "libinterp/parse-tree/oct-parse.cc"
1798 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1800 #line 1801 "libinterp/parse-tree/oct-parse.cc"
1804 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1806 #line 1807 "libinterp/parse-tree/oct-parse.cc"
1810 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1812 #line 1813 "libinterp/parse-tree/oct-parse.cc"
1816 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1818 #line 1819 "libinterp/parse-tree/oct-parse.cc"
1822 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1824 #line 1825 "libinterp/parse-tree/oct-parse.cc"
1828 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1830 #line 1831 "libinterp/parse-tree/oct-parse.cc"
1834 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1836 #line 1837 "libinterp/parse-tree/oct-parse.cc"
1840 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1842 #line 1843 "libinterp/parse-tree/oct-parse.cc"
1846 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1848 #line 1849 "libinterp/parse-tree/oct-parse.cc"
1852 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1854 #line 1855 "libinterp/parse-tree/oct-parse.cc"
1858 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1860 #line 1861 "libinterp/parse-tree/oct-parse.cc"
1864 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1866 #line 1867 "libinterp/parse-tree/oct-parse.cc"
1870 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1872 #line 1873 "libinterp/parse-tree/oct-parse.cc"
1876 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1878 #line 1879 "libinterp/parse-tree/oct-parse.cc"
1882 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1884 #line 1885 "libinterp/parse-tree/oct-parse.cc"
1888 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1890 #line 1891 "libinterp/parse-tree/oct-parse.cc"
1894 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1896 #line 1897 "libinterp/parse-tree/oct-parse.cc"
1900 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1902 #line 1903 "libinterp/parse-tree/oct-parse.cc"
1906 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1908 #line 1909 "libinterp/parse-tree/oct-parse.cc"
1912 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1914 #line 1915 "libinterp/parse-tree/oct-parse.cc"
1918 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1920 #line 1921 "libinterp/parse-tree/oct-parse.cc"
1924 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1926 #line 1927 "libinterp/parse-tree/oct-parse.cc"
1930 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1932 #line 1933 "libinterp/parse-tree/oct-parse.cc"
1936 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1938 #line 1939 "libinterp/parse-tree/oct-parse.cc"
1942 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1944 #line 1945 "libinterp/parse-tree/oct-parse.cc"
1948 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1950 #line 1951 "libinterp/parse-tree/oct-parse.cc"
1954 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1956 #line 1957 "libinterp/parse-tree/oct-parse.cc"
1960 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1962 #line 1963 "libinterp/parse-tree/oct-parse.cc"
1966 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1968 #line 1969 "libinterp/parse-tree/oct-parse.cc"
1972 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1974 #line 1975 "libinterp/parse-tree/oct-parse.cc"
1978 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1980 #line 1981 "libinterp/parse-tree/oct-parse.cc"
1984 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1986 #line 1987 "libinterp/parse-tree/oct-parse.cc"
1990 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1992 #line 1993 "libinterp/parse-tree/oct-parse.cc"
1996 #line 340 "../libinterp/parse-tree/oct-parse.yy"
1998 #line 1999 "libinterp/parse-tree/oct-parse.cc"
2002 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2004 #line 2005 "libinterp/parse-tree/oct-parse.cc"
2008 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2010 #line 2011 "libinterp/parse-tree/oct-parse.cc"
2014 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2016 #line 2017 "libinterp/parse-tree/oct-parse.cc"
2020 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2022 #line 2023 "libinterp/parse-tree/oct-parse.cc"
2026 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2028 #line 2029 "libinterp/parse-tree/oct-parse.cc"
2032 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2034 #line 2035 "libinterp/parse-tree/oct-parse.cc"
2038 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2040 #line 2041 "libinterp/parse-tree/oct-parse.cc"
2044 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2046 #line 2047 "libinterp/parse-tree/oct-parse.cc"
2050 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2052 #line 2053 "libinterp/parse-tree/oct-parse.cc"
2056 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2058 #line 2059 "libinterp/parse-tree/oct-parse.cc"
2062 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2064 #line 2065 "libinterp/parse-tree/oct-parse.cc"
2068 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2070 #line 2071 "libinterp/parse-tree/oct-parse.cc"
2074 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2076 #line 2077 "libinterp/parse-tree/oct-parse.cc"
2080 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2082 #line 2083 "libinterp/parse-tree/oct-parse.cc"
2086 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2088 #line 2089 "libinterp/parse-tree/oct-parse.cc"
2092 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2094 #line 2095 "libinterp/parse-tree/oct-parse.cc"
2098 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2100 #line 2101 "libinterp/parse-tree/oct-parse.cc"
2104 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2106 #line 2107 "libinterp/parse-tree/oct-parse.cc"
2110 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2112 #line 2113 "libinterp/parse-tree/oct-parse.cc"
2116 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2118 #line 2119 "libinterp/parse-tree/oct-parse.cc"
2122 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2124 #line 2125 "libinterp/parse-tree/oct-parse.cc"
2128 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2130 #line 2131 "libinterp/parse-tree/oct-parse.cc"
2134 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2136 #line 2137 "libinterp/parse-tree/oct-parse.cc"
2140 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2142 #line 2143 "libinterp/parse-tree/oct-parse.cc"
2146 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2148 #line 2149 "libinterp/parse-tree/oct-parse.cc"
2152 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2154 #line 2155 "libinterp/parse-tree/oct-parse.cc"
2158 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2160 #line 2161 "libinterp/parse-tree/oct-parse.cc"
2164 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2166 #line 2167 "libinterp/parse-tree/oct-parse.cc"
2170 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2172 #line 2173 "libinterp/parse-tree/oct-parse.cc"
2176 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2178 #line 2179 "libinterp/parse-tree/oct-parse.cc"
2182 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2184 #line 2185 "libinterp/parse-tree/oct-parse.cc"
2188 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2190 #line 2191 "libinterp/parse-tree/oct-parse.cc"
2194 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2196 #line 2197 "libinterp/parse-tree/oct-parse.cc"
2200 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2202 #line 2203 "libinterp/parse-tree/oct-parse.cc"
2206 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2208 #line 2209 "libinterp/parse-tree/oct-parse.cc"
2212 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2214 #line 2215 "libinterp/parse-tree/oct-parse.cc"
2218 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2220 #line 2221 "libinterp/parse-tree/oct-parse.cc"
2224 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2226 #line 2227 "libinterp/parse-tree/oct-parse.cc"
2230 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2232 #line 2233 "libinterp/parse-tree/oct-parse.cc"
2236 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2238 #line 2239 "libinterp/parse-tree/oct-parse.cc"
2242 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2244 #line 2245 "libinterp/parse-tree/oct-parse.cc"
2248 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2250 #line 2251 "libinterp/parse-tree/oct-parse.cc"
2254 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2256 #line 2257 "libinterp/parse-tree/oct-parse.cc"
2260 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2262 #line 2263 "libinterp/parse-tree/oct-parse.cc"
2266 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2268 #line 2269 "libinterp/parse-tree/oct-parse.cc"
2272 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2274 #line 2275 "libinterp/parse-tree/oct-parse.cc"
2278 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2280 #line 2281 "libinterp/parse-tree/oct-parse.cc"
2284 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2286 #line 2287 "libinterp/parse-tree/oct-parse.cc"
2290 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2292 #line 2293 "libinterp/parse-tree/oct-parse.cc"
2296 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2298 #line 2299 "libinterp/parse-tree/oct-parse.cc"
2302 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2304 #line 2305 "libinterp/parse-tree/oct-parse.cc"
2308 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2310 #line 2311 "libinterp/parse-tree/oct-parse.cc"
2314 #line 343 "../libinterp/parse-tree/oct-parse.yy"
2316 #line 2317 "libinterp/parse-tree/oct-parse.cc"
2320 #line 345 "../libinterp/parse-tree/oct-parse.yy"
2321 {
delete ((*yyvaluep).tree_type); }
2322 #line 2323 "libinterp/parse-tree/oct-parse.cc"
2326 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2327 {
delete ((*yyvaluep).tree_statement_list_type); }
2328 #line 2329 "libinterp/parse-tree/oct-parse.cc"
2332 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2333 {
delete ((*yyvaluep).tree_statement_list_type); }
2334 #line 2335 "libinterp/parse-tree/oct-parse.cc"
2338 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2339 {
delete ((*yyvaluep).tree_statement_list_type); }
2340 #line 2341 "libinterp/parse-tree/oct-parse.cc"
2344 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2345 {
delete ((*yyvaluep).tree_statement_list_type); }
2346 #line 2347 "libinterp/parse-tree/oct-parse.cc"
2350 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2351 {
delete ((*yyvaluep).tree_statement_list_type); }
2352 #line 2353 "libinterp/parse-tree/oct-parse.cc"
2356 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2357 {
delete ((*yyvaluep).tree_statement_list_type); }
2358 #line 2359 "libinterp/parse-tree/oct-parse.cc"
2362 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2363 {
delete ((*yyvaluep).tree_statement_list_type); }
2364 #line 2365 "libinterp/parse-tree/oct-parse.cc"
2368 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2369 {
delete ((*yyvaluep).tree_statement_list_type); }
2370 #line 2371 "libinterp/parse-tree/oct-parse.cc"
2374 #line 369 "../libinterp/parse-tree/oct-parse.yy"
2375 {
delete ((*yyvaluep).tree_statement_type); }
2376 #line 2377 "libinterp/parse-tree/oct-parse.cc"
2380 #line 356 "../libinterp/parse-tree/oct-parse.yy"
2381 {
delete ((*yyvaluep).tree_index_expression_type); }
2382 #line 2383 "libinterp/parse-tree/oct-parse.cc"
2386 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2387 {
delete ((*yyvaluep).tree_argument_list_type); }
2388 #line 2389 "libinterp/parse-tree/oct-parse.cc"
2392 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2393 {
delete ((*yyvaluep).tree_identifier_type); }
2394 #line 2395 "libinterp/parse-tree/oct-parse.cc"
2398 #line 351 "../libinterp/parse-tree/oct-parse.yy"
2399 {
delete ((*yyvaluep).tree_superclass_ref_type); }
2400 #line 2401 "libinterp/parse-tree/oct-parse.cc"
2404 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2405 {
delete ((*yyvaluep).tree_metaclass_query_type); }
2406 #line 2407 "libinterp/parse-tree/oct-parse.cc"
2410 #line 349 "../libinterp/parse-tree/oct-parse.yy"
2411 {
delete ((*yyvaluep).tree_constant_type); }
2412 #line 2413 "libinterp/parse-tree/oct-parse.cc"
2416 #line 349 "../libinterp/parse-tree/oct-parse.yy"
2417 {
delete ((*yyvaluep).tree_constant_type); }
2418 #line 2419 "libinterp/parse-tree/oct-parse.cc"
2422 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2423 {
delete ((*yyvaluep).tree_expression_type); }
2424 #line 2425 "libinterp/parse-tree/oct-parse.cc"
2428 #line 346 "../libinterp/parse-tree/oct-parse.yy"
2429 {
delete ((*yyvaluep).tree_matrix_type); }
2430 #line 2431 "libinterp/parse-tree/oct-parse.cc"
2434 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2435 {
delete ((*yyvaluep).tree_expression_type); }
2436 #line 2437 "libinterp/parse-tree/oct-parse.cc"
2440 #line 347 "../libinterp/parse-tree/oct-parse.yy"
2441 {
delete ((*yyvaluep).tree_cell_type); }
2442 #line 2443 "libinterp/parse-tree/oct-parse.cc"
2446 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2447 {
delete ((*yyvaluep).tree_argument_list_type); }
2448 #line 2449 "libinterp/parse-tree/oct-parse.cc"
2452 #line 350 "../libinterp/parse-tree/oct-parse.yy"
2453 {
delete ((*yyvaluep).tree_fcn_handle_type); }
2454 #line 2455 "libinterp/parse-tree/oct-parse.cc"
2458 #line 354 "../libinterp/parse-tree/oct-parse.yy"
2459 {
delete ((*yyvaluep).tree_anon_fcn_handle_type); }
2460 #line 2461 "libinterp/parse-tree/oct-parse.cc"
2464 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2465 {
delete ((*yyvaluep).tree_expression_type); }
2466 #line 2467 "libinterp/parse-tree/oct-parse.cc"
2470 #line 349 "../libinterp/parse-tree/oct-parse.yy"
2471 {
delete ((*yyvaluep).tree_constant_type); }
2472 #line 2473 "libinterp/parse-tree/oct-parse.cc"
2476 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2477 {
delete ((*yyvaluep).tree_identifier_type); }
2478 #line 2479 "libinterp/parse-tree/oct-parse.cc"
2482 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2483 {
delete ((*yyvaluep).tree_argument_list_type); }
2484 #line 2485 "libinterp/parse-tree/oct-parse.cc"
2488 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2489 {
delete ((*yyvaluep).tree_expression_type); }
2490 #line 2491 "libinterp/parse-tree/oct-parse.cc"
2494 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2495 {
delete ((*yyvaluep).tree_expression_type); }
2496 #line 2497 "libinterp/parse-tree/oct-parse.cc"
2500 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2501 {
delete ((*yyvaluep).tree_expression_type); }
2502 #line 2503 "libinterp/parse-tree/oct-parse.cc"
2506 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2507 {
delete ((*yyvaluep).tree_expression_type); }
2508 #line 2509 "libinterp/parse-tree/oct-parse.cc"
2512 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2513 {
delete ((*yyvaluep).tree_argument_list_type); }
2514 #line 2515 "libinterp/parse-tree/oct-parse.cc"
2518 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2519 {
delete ((*yyvaluep).tree_expression_type); }
2520 #line 2521 "libinterp/parse-tree/oct-parse.cc"
2524 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2525 {
delete ((*yyvaluep).tree_expression_type); }
2526 #line 2527 "libinterp/parse-tree/oct-parse.cc"
2530 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2531 {
delete ((*yyvaluep).tree_command_type); }
2532 #line 2533 "libinterp/parse-tree/oct-parse.cc"
2536 #line 368 "../libinterp/parse-tree/oct-parse.yy"
2537 {
delete ((*yyvaluep).tree_decl_command_type); }
2538 #line 2539 "libinterp/parse-tree/oct-parse.cc"
2542 #line 367 "../libinterp/parse-tree/oct-parse.yy"
2543 {
delete ((*yyvaluep).tree_decl_init_list_type); }
2544 #line 2545 "libinterp/parse-tree/oct-parse.cc"
2548 #line 366 "../libinterp/parse-tree/oct-parse.yy"
2549 {
delete ((*yyvaluep).tree_decl_elt_type); }
2550 #line 2551 "libinterp/parse-tree/oct-parse.cc"
2554 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2555 {
delete ((*yyvaluep).tree_command_type); }
2556 #line 2557 "libinterp/parse-tree/oct-parse.cc"
2560 #line 360 "../libinterp/parse-tree/oct-parse.yy"
2561 {
delete ((*yyvaluep).tree_if_command_type); }
2562 #line 2563 "libinterp/parse-tree/oct-parse.cc"
2566 #line 362 "../libinterp/parse-tree/oct-parse.yy"
2567 {
delete ((*yyvaluep).tree_if_command_list_type); }
2568 #line 2569 "libinterp/parse-tree/oct-parse.cc"
2572 #line 362 "../libinterp/parse-tree/oct-parse.yy"
2573 {
delete ((*yyvaluep).tree_if_command_list_type); }
2574 #line 2575 "libinterp/parse-tree/oct-parse.cc"
2578 #line 361 "../libinterp/parse-tree/oct-parse.yy"
2579 {
delete ((*yyvaluep).tree_if_clause_type); }
2580 #line 2581 "libinterp/parse-tree/oct-parse.cc"
2584 #line 361 "../libinterp/parse-tree/oct-parse.yy"
2585 {
delete ((*yyvaluep).tree_if_clause_type); }
2586 #line 2587 "libinterp/parse-tree/oct-parse.cc"
2590 #line 363 "../libinterp/parse-tree/oct-parse.yy"
2591 {
delete ((*yyvaluep).tree_switch_command_type); }
2592 #line 2593 "libinterp/parse-tree/oct-parse.cc"
2596 #line 365 "../libinterp/parse-tree/oct-parse.yy"
2597 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2598 #line 2599 "libinterp/parse-tree/oct-parse.cc"
2602 #line 365 "../libinterp/parse-tree/oct-parse.yy"
2603 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2604 #line 2605 "libinterp/parse-tree/oct-parse.cc"
2608 #line 364 "../libinterp/parse-tree/oct-parse.yy"
2609 {
delete ((*yyvaluep).tree_switch_case_type); }
2610 #line 2611 "libinterp/parse-tree/oct-parse.cc"
2614 #line 364 "../libinterp/parse-tree/oct-parse.yy"
2615 {
delete ((*yyvaluep).tree_switch_case_type); }
2616 #line 2617 "libinterp/parse-tree/oct-parse.cc"
2620 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2621 {
delete ((*yyvaluep).tree_command_type); }
2622 #line 2623 "libinterp/parse-tree/oct-parse.cc"
2626 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2627 {
delete ((*yyvaluep).tree_command_type); }
2628 #line 2629 "libinterp/parse-tree/oct-parse.cc"
2632 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2633 {
delete ((*yyvaluep).tree_command_type); }
2634 #line 2635 "libinterp/parse-tree/oct-parse.cc"
2638 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2639 {
delete ((*yyvaluep).tree_command_type); }
2640 #line 2641 "libinterp/parse-tree/oct-parse.cc"
2644 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2645 {
delete ((*yyvaluep).tree_parameter_list_type); }
2646 #line 2647 "libinterp/parse-tree/oct-parse.cc"
2650 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2651 {
delete ((*yyvaluep).tree_parameter_list_type); }
2652 #line 2653 "libinterp/parse-tree/oct-parse.cc"
2656 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2657 {
delete ((*yyvaluep).tree_parameter_list_type); }
2658 #line 2659 "libinterp/parse-tree/oct-parse.cc"
2662 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2663 {
delete ((*yyvaluep).tree_parameter_list_type); }
2664 #line 2665 "libinterp/parse-tree/oct-parse.cc"
2668 #line 366 "../libinterp/parse-tree/oct-parse.yy"
2669 {
delete ((*yyvaluep).tree_decl_elt_type); }
2670 #line 2671 "libinterp/parse-tree/oct-parse.cc"
2674 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2675 {
delete ((*yyvaluep).tree_parameter_list_type); }
2676 #line 2677 "libinterp/parse-tree/oct-parse.cc"
2680 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2681 {
delete ((*yyvaluep).tree_parameter_list_type); }
2682 #line 2683 "libinterp/parse-tree/oct-parse.cc"
2686 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2687 {
delete ((*yyvaluep).tree_command_type); }
2688 #line 2689 "libinterp/parse-tree/oct-parse.cc"
2692 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2694 #line 2695 "libinterp/parse-tree/oct-parse.cc"
2698 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2699 {
delete ((*yyvaluep).tree_identifier_type); }
2700 #line 2701 "libinterp/parse-tree/oct-parse.cc"
2704 #line 369 "../libinterp/parse-tree/oct-parse.yy"
2705 {
delete ((*yyvaluep).tree_statement_type); }
2706 #line 2707 "libinterp/parse-tree/oct-parse.cc"
2710 #line 353 "../libinterp/parse-tree/oct-parse.yy"
2711 {
delete ((*yyvaluep).tree_function_def_type); }
2712 #line 2713 "libinterp/parse-tree/oct-parse.cc"
2716 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2717 {
delete ((*yyvaluep).tree_statement_list_type); }
2718 #line 2719 "libinterp/parse-tree/oct-parse.cc"
2722 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2723 {
delete ((*yyvaluep).tree_statement_list_type); }
2724 #line 2725 "libinterp/parse-tree/oct-parse.cc"
2728 #line 371 "../libinterp/parse-tree/oct-parse.yy"
2729 {
delete ((*yyvaluep).tree_arguments_block_type); }
2730 #line 2731 "libinterp/parse-tree/oct-parse.cc"
2734 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2736 #line 2737 "libinterp/parse-tree/oct-parse.cc"
2740 #line 372 "../libinterp/parse-tree/oct-parse.yy"
2741 {
delete ((*yyvaluep).tree_args_block_attribute_list_type); }
2742 #line 2743 "libinterp/parse-tree/oct-parse.cc"
2746 #line 373 "../libinterp/parse-tree/oct-parse.yy"
2747 {
delete ((*yyvaluep).tree_args_block_validation_list_type); }
2748 #line 2749 "libinterp/parse-tree/oct-parse.cc"
2752 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2753 {
delete ((*yyvaluep).tree_expression_type); }
2754 #line 2755 "libinterp/parse-tree/oct-parse.cc"
2758 #line 374 "../libinterp/parse-tree/oct-parse.yy"
2759 {
delete ((*yyvaluep).tree_arg_validation_type); }
2760 #line 2761 "libinterp/parse-tree/oct-parse.cc"
2764 #line 375 "../libinterp/parse-tree/oct-parse.yy"
2765 {
delete ((*yyvaluep).tree_arg_size_spec_type); }
2766 #line 2767 "libinterp/parse-tree/oct-parse.cc"
2770 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2771 {
delete ((*yyvaluep).tree_identifier_type); }
2772 #line 2773 "libinterp/parse-tree/oct-parse.cc"
2776 #line 376 "../libinterp/parse-tree/oct-parse.yy"
2777 {
delete ((*yyvaluep).tree_arg_validation_fcns_type); }
2778 #line 2779 "libinterp/parse-tree/oct-parse.cc"
2782 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2783 {
delete ((*yyvaluep).tree_expression_type); }
2784 #line 2785 "libinterp/parse-tree/oct-parse.cc"
2788 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2790 #line 2791 "libinterp/parse-tree/oct-parse.cc"
2794 #line 379 "../libinterp/parse-tree/oct-parse.yy"
2795 {
delete ((*yyvaluep).tree_classdef_type); }
2796 #line 2797 "libinterp/parse-tree/oct-parse.cc"
2800 #line 381 "../libinterp/parse-tree/oct-parse.yy"
2801 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2802 #line 2803 "libinterp/parse-tree/oct-parse.cc"
2806 #line 381 "../libinterp/parse-tree/oct-parse.yy"
2807 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2808 #line 2809 "libinterp/parse-tree/oct-parse.cc"
2812 #line 380 "../libinterp/parse-tree/oct-parse.yy"
2813 {
delete ((*yyvaluep).tree_classdef_attribute_type); }
2814 #line 2815 "libinterp/parse-tree/oct-parse.cc"
2818 #line 383 "../libinterp/parse-tree/oct-parse.yy"
2819 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
2820 #line 2821 "libinterp/parse-tree/oct-parse.cc"
2824 #line 383 "../libinterp/parse-tree/oct-parse.yy"
2825 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
2826 #line 2827 "libinterp/parse-tree/oct-parse.cc"
2830 #line 382 "../libinterp/parse-tree/oct-parse.yy"
2831 {
delete ((*yyvaluep).tree_classdef_superclass_type); }
2832 #line 2833 "libinterp/parse-tree/oct-parse.cc"
2836 #line 384 "../libinterp/parse-tree/oct-parse.yy"
2837 {
delete ((*yyvaluep).tree_classdef_body_type); }
2838 #line 2839 "libinterp/parse-tree/oct-parse.cc"
2842 #line 384 "../libinterp/parse-tree/oct-parse.yy"
2843 {
delete ((*yyvaluep).tree_classdef_body_type); }
2844 #line 2845 "libinterp/parse-tree/oct-parse.cc"
2848 #line 387 "../libinterp/parse-tree/oct-parse.yy"
2849 {
delete ((*yyvaluep).tree_classdef_properties_block_type); }
2850 #line 2851 "libinterp/parse-tree/oct-parse.cc"
2854 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2856 #line 2857 "libinterp/parse-tree/oct-parse.cc"
2860 #line 386 "../libinterp/parse-tree/oct-parse.yy"
2861 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
2862 #line 2863 "libinterp/parse-tree/oct-parse.cc"
2866 #line 386 "../libinterp/parse-tree/oct-parse.yy"
2867 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
2868 #line 2869 "libinterp/parse-tree/oct-parse.cc"
2872 #line 385 "../libinterp/parse-tree/oct-parse.yy"
2873 {
delete ((*yyvaluep).tree_classdef_property_type); }
2874 #line 2875 "libinterp/parse-tree/oct-parse.cc"
2878 #line 389 "../libinterp/parse-tree/oct-parse.yy"
2879 {
delete ((*yyvaluep).tree_classdef_methods_block_type); }
2880 #line 2881 "libinterp/parse-tree/oct-parse.cc"
2884 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2886 #line 2887 "libinterp/parse-tree/oct-parse.cc"
2890 #line 377 "../libinterp/parse-tree/oct-parse.yy"
2891 {
delete ((*yyvaluep).octave_user_function_type); }
2892 #line 2893 "libinterp/parse-tree/oct-parse.cc"
2896 #line 353 "../libinterp/parse-tree/oct-parse.yy"
2897 {
delete ((*yyvaluep).tree_function_def_type); }
2898 #line 2899 "libinterp/parse-tree/oct-parse.cc"
2902 #line 353 "../libinterp/parse-tree/oct-parse.yy"
2903 {
delete ((*yyvaluep).tree_function_def_type); }
2904 #line 2905 "libinterp/parse-tree/oct-parse.cc"
2908 #line 388 "../libinterp/parse-tree/oct-parse.yy"
2909 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
2910 #line 2911 "libinterp/parse-tree/oct-parse.cc"
2914 #line 388 "../libinterp/parse-tree/oct-parse.yy"
2915 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
2916 #line 2917 "libinterp/parse-tree/oct-parse.cc"
2920 #line 392 "../libinterp/parse-tree/oct-parse.yy"
2921 {
delete ((*yyvaluep).tree_classdef_events_block_type); }
2922 #line 2923 "libinterp/parse-tree/oct-parse.cc"
2926 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2928 #line 2929 "libinterp/parse-tree/oct-parse.cc"
2932 #line 391 "../libinterp/parse-tree/oct-parse.yy"
2933 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
2934 #line 2935 "libinterp/parse-tree/oct-parse.cc"
2938 #line 391 "../libinterp/parse-tree/oct-parse.yy"
2939 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
2940 #line 2941 "libinterp/parse-tree/oct-parse.cc"
2944 #line 390 "../libinterp/parse-tree/oct-parse.yy"
2945 {
delete ((*yyvaluep).tree_classdef_event_type); }
2946 #line 2947 "libinterp/parse-tree/oct-parse.cc"
2950 #line 395 "../libinterp/parse-tree/oct-parse.yy"
2951 {
delete ((*yyvaluep).tree_classdef_enum_block_type); }
2952 #line 2953 "libinterp/parse-tree/oct-parse.cc"
2956 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2958 #line 2959 "libinterp/parse-tree/oct-parse.cc"
2962 #line 394 "../libinterp/parse-tree/oct-parse.yy"
2963 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
2964 #line 2965 "libinterp/parse-tree/oct-parse.cc"
2968 #line 394 "../libinterp/parse-tree/oct-parse.yy"
2969 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
2970 #line 2971 "libinterp/parse-tree/oct-parse.cc"
2974 #line 393 "../libinterp/parse-tree/oct-parse.yy"
2975 {
delete ((*yyvaluep).tree_classdef_enum_type); }
2976 #line 2977 "libinterp/parse-tree/oct-parse.cc"
2980 #line 342 "../libinterp/parse-tree/oct-parse.yy"
2982 #line 2983 "libinterp/parse-tree/oct-parse.cc"
2986 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2988 #line 2989 "libinterp/parse-tree/oct-parse.cc"
2992 #line 341 "../libinterp/parse-tree/oct-parse.yy"
2994 #line 2995 "libinterp/parse-tree/oct-parse.cc"
2998 #line 341 "../libinterp/parse-tree/oct-parse.yy"
3000 #line 3001 "libinterp/parse-tree/oct-parse.cc"
3004 #line 341 "../libinterp/parse-tree/oct-parse.yy"
3006 #line 3007 "libinterp/parse-tree/oct-parse.cc"
3010 #line 341 "../libinterp/parse-tree/oct-parse.yy"
3012 #line 3013 "libinterp/parse-tree/oct-parse.cc"
3016 #line 341 "../libinterp/parse-tree/oct-parse.yy"
3018 #line 3019 "libinterp/parse-tree/oct-parse.cc"
3058 #define octave_nerrs yyps->octave_nerrs
3059 #define yystate yyps->yystate
3060 #define yyerrstatus yyps->yyerrstatus
3061 #define yyssa yyps->yyssa
3062 #define yyss yyps->yyss
3063 #define yyssp yyps->yyssp
3064 #define yyvsa yyps->yyvsa
3065 #define yyvs yyps->yyvs
3066 #define yyvsp yyps->yyvsp
3067 #define yystacksize yyps->yystacksize
3124 int yypushed_char,
YYSTYPE const *yypushed_val, octave::base_parser&
parser)
3147 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3153 switch (yyps->yynew)
3157 goto yyread_pushed_token;
3167 YYDPRINTF ((stderr,
"Starting parse\n"));
3195 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
3202 # if defined yyoverflow
3214 yyoverflow (
YY_(
"memory exhausted"),
3238 # undef YYSTACK_RELOCATE
3248 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
3283 YYDPRINTF ((stderr,
"Return for a new token:\n"));
3288 yyread_pushed_token:
3289 YYDPRINTF ((stderr,
"Reading a token\n"));
3290 yychar = yypushed_char;
3299 YYDPRINTF ((stderr,
"Now at end of input.\n"));
3320 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
3373 yyval =
yyvsp[1-yylen];
3380 #line 416 "../libinterp/parse-tree/oct-parse.yy"
3384 (yyval.tree_type) =
nullptr;
3391 #line 3392 "libinterp/parse-tree/oct-parse.cc"
3395 #line 427 "../libinterp/parse-tree/oct-parse.yy"
3399 (yyval.tree_type) =
nullptr;
3406 #line 3407 "libinterp/parse-tree/oct-parse.cc"
3410 #line 438 "../libinterp/parse-tree/oct-parse.yy"
3412 (yyval.tree_type) =
nullptr;
3415 #line 3416 "libinterp/parse-tree/oct-parse.cc"
3419 #line 445 "../libinterp/parse-tree/oct-parse.yy"
3423 (yyval.tree_statement_list_type) =
nullptr;
3425 #line 3426 "libinterp/parse-tree/oct-parse.cc"
3429 #line 451 "../libinterp/parse-tree/oct-parse.yy"
3431 #line 3432 "libinterp/parse-tree/oct-parse.cc"
3435 #line 455 "../libinterp/parse-tree/oct-parse.yy"
3437 #line 3438 "libinterp/parse-tree/oct-parse.cc"
3441 #line 457 "../libinterp/parse-tree/oct-parse.yy"
3443 #line 3444 "libinterp/parse-tree/oct-parse.cc"
3447 #line 461 "../libinterp/parse-tree/oct-parse.yy"
3448 { (yyval.tree_statement_list_type) =
nullptr; }
3449 #line 3450 "libinterp/parse-tree/oct-parse.cc"
3453 #line 463 "../libinterp/parse-tree/oct-parse.yy"
3454 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3455 #line 3456 "libinterp/parse-tree/oct-parse.cc"
3459 #line 467 "../libinterp/parse-tree/oct-parse.yy"
3461 #line 3462 "libinterp/parse-tree/oct-parse.cc"
3465 #line 471 "../libinterp/parse-tree/oct-parse.yy"
3467 #line 3468 "libinterp/parse-tree/oct-parse.cc"
3471 #line 473 "../libinterp/parse-tree/oct-parse.yy"
3473 #line 3474 "libinterp/parse-tree/oct-parse.cc"
3477 #line 477 "../libinterp/parse-tree/oct-parse.yy"
3478 { (yyval.tree_statement_list_type) =
nullptr; }
3479 #line 3480 "libinterp/parse-tree/oct-parse.cc"
3483 #line 479 "../libinterp/parse-tree/oct-parse.yy"
3484 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3485 #line 3486 "libinterp/parse-tree/oct-parse.cc"
3489 #line 483 "../libinterp/parse-tree/oct-parse.yy"
3493 (yyval.tree_statement_list_type) = (
yyvsp[-1].tree_statement_list_type);
3495 #line 3496 "libinterp/parse-tree/oct-parse.cc"
3499 #line 491 "../libinterp/parse-tree/oct-parse.yy"
3504 #line 3505 "libinterp/parse-tree/oct-parse.cc"
3508 #line 496 "../libinterp/parse-tree/oct-parse.yy"
3513 #line 3514 "libinterp/parse-tree/oct-parse.cc"
3517 #line 503 "../libinterp/parse-tree/oct-parse.yy"
3519 #line 3520 "libinterp/parse-tree/oct-parse.cc"
3523 #line 505 "../libinterp/parse-tree/oct-parse.yy"
3525 #line 3526 "libinterp/parse-tree/oct-parse.cc"
3529 #line 507 "../libinterp/parse-tree/oct-parse.yy"
3531 #line 3532 "libinterp/parse-tree/oct-parse.cc"
3535 #line 519 "../libinterp/parse-tree/oct-parse.yy"
3538 if (! (yyval.tree_index_expression_type))
3543 (yyval.tree_index_expression_type)->mark_word_list_cmd ();
3545 #line 3546 "libinterp/parse-tree/oct-parse.cc"
3549 #line 531 "../libinterp/parse-tree/oct-parse.yy"
3551 #line 3552 "libinterp/parse-tree/oct-parse.cc"
3555 #line 533 "../libinterp/parse-tree/oct-parse.yy"
3557 #line 3558 "libinterp/parse-tree/oct-parse.cc"
3561 #line 541 "../libinterp/parse-tree/oct-parse.yy"
3563 #line 3564 "libinterp/parse-tree/oct-parse.cc"
3567 #line 546 "../libinterp/parse-tree/oct-parse.yy"
3569 #line 3570 "libinterp/parse-tree/oct-parse.cc"
3573 #line 550 "../libinterp/parse-tree/oct-parse.yy"
3575 #line 3576 "libinterp/parse-tree/oct-parse.cc"
3579 #line 554 "../libinterp/parse-tree/oct-parse.yy"
3581 #line 3582 "libinterp/parse-tree/oct-parse.cc"
3585 #line 556 "../libinterp/parse-tree/oct-parse.yy"
3587 #line 3588 "libinterp/parse-tree/oct-parse.cc"
3591 #line 560 "../libinterp/parse-tree/oct-parse.yy"
3593 #line 3594 "libinterp/parse-tree/oct-parse.cc"
3597 #line 562 "../libinterp/parse-tree/oct-parse.yy"
3598 { (yyval.tree_constant_type) = (
yyvsp[0].tree_constant_type); }
3599 #line 3600 "libinterp/parse-tree/oct-parse.cc"
3603 #line 566 "../libinterp/parse-tree/oct-parse.yy"
3605 #line 3606 "libinterp/parse-tree/oct-parse.cc"
3609 #line 570 "../libinterp/parse-tree/oct-parse.yy"
3611 #line 3612 "libinterp/parse-tree/oct-parse.cc"
3615 #line 572 "../libinterp/parse-tree/oct-parse.yy"
3621 #line 3622 "libinterp/parse-tree/oct-parse.cc"
3625 #line 580 "../libinterp/parse-tree/oct-parse.yy"
3627 #line 3628 "libinterp/parse-tree/oct-parse.cc"
3631 #line 584 "../libinterp/parse-tree/oct-parse.yy"
3633 #line 3634 "libinterp/parse-tree/oct-parse.cc"
3637 #line 586 "../libinterp/parse-tree/oct-parse.yy"
3643 #line 3644 "libinterp/parse-tree/oct-parse.cc"
3647 #line 602 "../libinterp/parse-tree/oct-parse.yy"
3648 { (yyval.tree_argument_list_type) =
nullptr; }
3649 #line 3650 "libinterp/parse-tree/oct-parse.cc"
3653 #line 604 "../libinterp/parse-tree/oct-parse.yy"
3657 (yyval.tree_argument_list_type) =
nullptr;
3659 #line 3660 "libinterp/parse-tree/oct-parse.cc"
3663 #line 610 "../libinterp/parse-tree/oct-parse.yy"
3664 { (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type); }
3665 #line 3666 "libinterp/parse-tree/oct-parse.cc"
3669 #line 612 "../libinterp/parse-tree/oct-parse.yy"
3673 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3675 #line 3676 "libinterp/parse-tree/oct-parse.cc"
3679 #line 618 "../libinterp/parse-tree/oct-parse.yy"
3683 (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type);
3685 #line 3686 "libinterp/parse-tree/oct-parse.cc"
3689 #line 624 "../libinterp/parse-tree/oct-parse.yy"
3693 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3695 #line 3696 "libinterp/parse-tree/oct-parse.cc"
3699 #line 632 "../libinterp/parse-tree/oct-parse.yy"
3701 #line 3702 "libinterp/parse-tree/oct-parse.cc"
3705 #line 640 "../libinterp/parse-tree/oct-parse.yy"
3708 if (! (yyval.tree_anon_fcn_handle_type))
3717 #line 3718 "libinterp/parse-tree/oct-parse.cc"
3721 #line 652 "../libinterp/parse-tree/oct-parse.yy"
3727 (yyval.tree_anon_fcn_handle_type) =
nullptr;
3731 #line 3732 "libinterp/parse-tree/oct-parse.cc"
3735 #line 664 "../libinterp/parse-tree/oct-parse.yy"
3736 { (yyval.tree_expression_type) = (
yyvsp[0].tree_identifier_type); }
3737 #line 3738 "libinterp/parse-tree/oct-parse.cc"
3741 #line 666 "../libinterp/parse-tree/oct-parse.yy"
3742 { (yyval.tree_expression_type) = (
yyvsp[0].tree_constant_type); }
3743 #line 3744 "libinterp/parse-tree/oct-parse.cc"
3747 #line 668 "../libinterp/parse-tree/oct-parse.yy"
3748 { (yyval.tree_expression_type) = (
yyvsp[0].tree_fcn_handle_type); }
3749 #line 3750 "libinterp/parse-tree/oct-parse.cc"
3753 #line 670 "../libinterp/parse-tree/oct-parse.yy"
3756 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
3758 #line 3759 "libinterp/parse-tree/oct-parse.cc"
3762 #line 675 "../libinterp/parse-tree/oct-parse.yy"
3763 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
3764 #line 3765 "libinterp/parse-tree/oct-parse.cc"
3768 #line 677 "../libinterp/parse-tree/oct-parse.yy"
3769 { (yyval.tree_expression_type) = (
yyvsp[0].tree_metaclass_query_type); }
3770 #line 3771 "libinterp/parse-tree/oct-parse.cc"
3774 #line 679 "../libinterp/parse-tree/oct-parse.yy"
3775 { (yyval.tree_expression_type) = (
yyvsp[0].tree_superclass_ref_type); }
3776 #line 3777 "libinterp/parse-tree/oct-parse.cc"
3780 #line 681 "../libinterp/parse-tree/oct-parse.yy"
3784 (yyval.tree_expression_type) = (
yyvsp[-1].tree_expression_type)->mark_in_parens ();
3786 #line 3787 "libinterp/parse-tree/oct-parse.cc"
3790 #line 689 "../libinterp/parse-tree/oct-parse.yy"
3792 #line 3793 "libinterp/parse-tree/oct-parse.cc"
3796 #line 693 "../libinterp/parse-tree/oct-parse.yy"
3802 #line 3803 "libinterp/parse-tree/oct-parse.cc"
3806 #line 701 "../libinterp/parse-tree/oct-parse.yy"
3808 #line 3809 "libinterp/parse-tree/oct-parse.cc"
3812 #line 703 "../libinterp/parse-tree/oct-parse.yy"
3814 #line 3815 "libinterp/parse-tree/oct-parse.cc"
3818 #line 705 "../libinterp/parse-tree/oct-parse.yy"
3820 #line 3821 "libinterp/parse-tree/oct-parse.cc"
3824 #line 707 "../libinterp/parse-tree/oct-parse.yy"
3830 #line 3831 "libinterp/parse-tree/oct-parse.cc"
3834 #line 713 "../libinterp/parse-tree/oct-parse.yy"
3840 #line 3841 "libinterp/parse-tree/oct-parse.cc"
3844 #line 719 "../libinterp/parse-tree/oct-parse.yy"
3850 #line 3851 "libinterp/parse-tree/oct-parse.cc"
3854 #line 727 "../libinterp/parse-tree/oct-parse.yy"
3858 (yyval.dummy_type) = 0;
3861 #line 3862 "libinterp/parse-tree/oct-parse.cc"
3865 #line 736 "../libinterp/parse-tree/oct-parse.yy"
3866 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
3867 #line 3868 "libinterp/parse-tree/oct-parse.cc"
3871 #line 738 "../libinterp/parse-tree/oct-parse.yy"
3873 #line 3874 "libinterp/parse-tree/oct-parse.cc"
3877 #line 740 "../libinterp/parse-tree/oct-parse.yy"
3879 #line 3880 "libinterp/parse-tree/oct-parse.cc"
3883 #line 742 "../libinterp/parse-tree/oct-parse.yy"
3888 if (! (yyval.tree_expression_type))
3894 #line 3895 "libinterp/parse-tree/oct-parse.cc"
3898 #line 753 "../libinterp/parse-tree/oct-parse.yy"
3903 if (! (yyval.tree_expression_type))
3909 #line 3910 "libinterp/parse-tree/oct-parse.cc"
3913 #line 764 "../libinterp/parse-tree/oct-parse.yy"
3918 if (! (yyval.tree_expression_type))
3924 #line 3925 "libinterp/parse-tree/oct-parse.cc"
3928 #line 775 "../libinterp/parse-tree/oct-parse.yy"
3933 if (! (yyval.tree_expression_type))
3939 #line 3940 "libinterp/parse-tree/oct-parse.cc"
3943 #line 786 "../libinterp/parse-tree/oct-parse.yy"
3945 #line 3946 "libinterp/parse-tree/oct-parse.cc"
3949 #line 788 "../libinterp/parse-tree/oct-parse.yy"
3951 #line 3952 "libinterp/parse-tree/oct-parse.cc"
3955 #line 790 "../libinterp/parse-tree/oct-parse.yy"
3957 #line 3958 "libinterp/parse-tree/oct-parse.cc"
3961 #line 792 "../libinterp/parse-tree/oct-parse.yy"
3967 #line 3968 "libinterp/parse-tree/oct-parse.cc"
3971 #line 798 "../libinterp/parse-tree/oct-parse.yy"
3973 #line 3974 "libinterp/parse-tree/oct-parse.cc"
3977 #line 800 "../libinterp/parse-tree/oct-parse.yy"
3979 #line 3980 "libinterp/parse-tree/oct-parse.cc"
3983 #line 802 "../libinterp/parse-tree/oct-parse.yy"
3985 #line 3986 "libinterp/parse-tree/oct-parse.cc"
3989 #line 804 "../libinterp/parse-tree/oct-parse.yy"
3991 #line 3992 "libinterp/parse-tree/oct-parse.cc"
3995 #line 806 "../libinterp/parse-tree/oct-parse.yy"
3997 #line 3998 "libinterp/parse-tree/oct-parse.cc"
4001 #line 808 "../libinterp/parse-tree/oct-parse.yy"
4003 #line 4004 "libinterp/parse-tree/oct-parse.cc"
4007 #line 810 "../libinterp/parse-tree/oct-parse.yy"
4009 #line 4010 "libinterp/parse-tree/oct-parse.cc"
4013 #line 812 "../libinterp/parse-tree/oct-parse.yy"
4015 #line 4016 "libinterp/parse-tree/oct-parse.cc"
4019 #line 814 "../libinterp/parse-tree/oct-parse.yy"
4021 #line 4022 "libinterp/parse-tree/oct-parse.cc"
4025 #line 816 "../libinterp/parse-tree/oct-parse.yy"
4027 #line 4028 "libinterp/parse-tree/oct-parse.cc"
4031 #line 818 "../libinterp/parse-tree/oct-parse.yy"
4033 #line 4034 "libinterp/parse-tree/oct-parse.cc"
4037 #line 820 "../libinterp/parse-tree/oct-parse.yy"
4039 #line 4040 "libinterp/parse-tree/oct-parse.cc"
4043 #line 822 "../libinterp/parse-tree/oct-parse.yy"
4045 #line 4046 "libinterp/parse-tree/oct-parse.cc"
4049 #line 824 "../libinterp/parse-tree/oct-parse.yy"
4051 #line 4052 "libinterp/parse-tree/oct-parse.cc"
4055 #line 826 "../libinterp/parse-tree/oct-parse.yy"
4057 #line 4058 "libinterp/parse-tree/oct-parse.cc"
4061 #line 828 "../libinterp/parse-tree/oct-parse.yy"
4063 #line 4064 "libinterp/parse-tree/oct-parse.cc"
4067 #line 832 "../libinterp/parse-tree/oct-parse.yy"
4068 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4069 #line 4070 "libinterp/parse-tree/oct-parse.cc"
4073 #line 834 "../libinterp/parse-tree/oct-parse.yy"
4075 #line 4076 "libinterp/parse-tree/oct-parse.cc"
4079 #line 836 "../libinterp/parse-tree/oct-parse.yy"
4081 #line 4082 "libinterp/parse-tree/oct-parse.cc"
4085 #line 838 "../libinterp/parse-tree/oct-parse.yy"
4090 if (! (yyval.tree_expression_type))
4096 #line 4097 "libinterp/parse-tree/oct-parse.cc"
4100 #line 849 "../libinterp/parse-tree/oct-parse.yy"
4105 if (! (yyval.tree_expression_type))
4111 #line 4112 "libinterp/parse-tree/oct-parse.cc"
4115 #line 860 "../libinterp/parse-tree/oct-parse.yy"
4120 if (! (yyval.tree_expression_type))
4126 #line 4127 "libinterp/parse-tree/oct-parse.cc"
4130 #line 871 "../libinterp/parse-tree/oct-parse.yy"
4135 if (! (yyval.tree_expression_type))
4141 #line 4142 "libinterp/parse-tree/oct-parse.cc"
4145 #line 882 "../libinterp/parse-tree/oct-parse.yy"
4147 #line 4148 "libinterp/parse-tree/oct-parse.cc"
4151 #line 884 "../libinterp/parse-tree/oct-parse.yy"
4157 #line 4158 "libinterp/parse-tree/oct-parse.cc"
4161 #line 890 "../libinterp/parse-tree/oct-parse.yy"
4163 #line 4164 "libinterp/parse-tree/oct-parse.cc"
4167 #line 892 "../libinterp/parse-tree/oct-parse.yy"
4169 #line 4170 "libinterp/parse-tree/oct-parse.cc"
4173 #line 894 "../libinterp/parse-tree/oct-parse.yy"
4175 #line 4176 "libinterp/parse-tree/oct-parse.cc"
4179 #line 896 "../libinterp/parse-tree/oct-parse.yy"
4181 #line 4182 "libinterp/parse-tree/oct-parse.cc"
4185 #line 898 "../libinterp/parse-tree/oct-parse.yy"
4187 #line 4188 "libinterp/parse-tree/oct-parse.cc"
4191 #line 900 "../libinterp/parse-tree/oct-parse.yy"
4193 #line 4194 "libinterp/parse-tree/oct-parse.cc"
4197 #line 904 "../libinterp/parse-tree/oct-parse.yy"
4203 if (! (yyval.tree_expression_type))
4209 #line 4210 "libinterp/parse-tree/oct-parse.cc"
4213 #line 916 "../libinterp/parse-tree/oct-parse.yy"
4219 if (! (yyval.tree_expression_type))
4225 #line 4226 "libinterp/parse-tree/oct-parse.cc"
4229 #line 930 "../libinterp/parse-tree/oct-parse.yy"
4230 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4231 #line 4232 "libinterp/parse-tree/oct-parse.cc"
4235 #line 932 "../libinterp/parse-tree/oct-parse.yy"
4236 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4237 #line 4238 "libinterp/parse-tree/oct-parse.cc"
4241 #line 934 "../libinterp/parse-tree/oct-parse.yy"
4243 #line 4244 "libinterp/parse-tree/oct-parse.cc"
4247 #line 936 "../libinterp/parse-tree/oct-parse.yy"
4249 #line 4250 "libinterp/parse-tree/oct-parse.cc"
4253 #line 938 "../libinterp/parse-tree/oct-parse.yy"
4255 #line 4256 "libinterp/parse-tree/oct-parse.cc"
4259 #line 940 "../libinterp/parse-tree/oct-parse.yy"
4261 #line 4262 "libinterp/parse-tree/oct-parse.cc"
4265 #line 942 "../libinterp/parse-tree/oct-parse.yy"
4267 #line 4268 "libinterp/parse-tree/oct-parse.cc"
4271 #line 944 "../libinterp/parse-tree/oct-parse.yy"
4273 #line 4274 "libinterp/parse-tree/oct-parse.cc"
4277 #line 946 "../libinterp/parse-tree/oct-parse.yy"
4279 #line 4280 "libinterp/parse-tree/oct-parse.cc"
4283 #line 948 "../libinterp/parse-tree/oct-parse.yy"
4285 #line 4286 "libinterp/parse-tree/oct-parse.cc"
4289 #line 950 "../libinterp/parse-tree/oct-parse.yy"
4291 #line 4292 "libinterp/parse-tree/oct-parse.cc"
4295 #line 952 "../libinterp/parse-tree/oct-parse.yy"
4297 #line 4298 "libinterp/parse-tree/oct-parse.cc"
4301 #line 956 "../libinterp/parse-tree/oct-parse.yy"
4305 if ((yyval.tree_argument_list_type))
4313 #line 4314 "libinterp/parse-tree/oct-parse.cc"
4317 #line 970 "../libinterp/parse-tree/oct-parse.yy"
4319 #line 4320 "libinterp/parse-tree/oct-parse.cc"
4323 #line 972 "../libinterp/parse-tree/oct-parse.yy"
4325 #line 4326 "libinterp/parse-tree/oct-parse.cc"
4329 #line 974 "../libinterp/parse-tree/oct-parse.yy"
4331 #line 4332 "libinterp/parse-tree/oct-parse.cc"
4335 #line 976 "../libinterp/parse-tree/oct-parse.yy"
4337 #line 4338 "libinterp/parse-tree/oct-parse.cc"
4341 #line 978 "../libinterp/parse-tree/oct-parse.yy"
4343 #line 4344 "libinterp/parse-tree/oct-parse.cc"
4347 #line 980 "../libinterp/parse-tree/oct-parse.yy"
4349 #line 4350 "libinterp/parse-tree/oct-parse.cc"
4353 #line 982 "../libinterp/parse-tree/oct-parse.yy"
4355 #line 4356 "libinterp/parse-tree/oct-parse.cc"
4359 #line 984 "../libinterp/parse-tree/oct-parse.yy"
4361 #line 4362 "libinterp/parse-tree/oct-parse.cc"
4365 #line 986 "../libinterp/parse-tree/oct-parse.yy"
4367 #line 4368 "libinterp/parse-tree/oct-parse.cc"
4371 #line 988 "../libinterp/parse-tree/oct-parse.yy"
4373 #line 4374 "libinterp/parse-tree/oct-parse.cc"
4377 #line 990 "../libinterp/parse-tree/oct-parse.yy"
4379 #line 4380 "libinterp/parse-tree/oct-parse.cc"
4383 #line 992 "../libinterp/parse-tree/oct-parse.yy"
4385 #line 4386 "libinterp/parse-tree/oct-parse.cc"
4389 #line 994 "../libinterp/parse-tree/oct-parse.yy"
4391 #line 4392 "libinterp/parse-tree/oct-parse.cc"
4395 #line 998 "../libinterp/parse-tree/oct-parse.yy"
4397 if ((
yyvsp[0].tree_expression_type) && ((
yyvsp[0].tree_expression_type)->is_matrix () || (
yyvsp[0].tree_expression_type)->iscell ()))
4400 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4403 delete (
yyvsp[0].tree_expression_type);
4408 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4410 #line 4411 "libinterp/parse-tree/oct-parse.cc"
4414 #line 1013 "../libinterp/parse-tree/oct-parse.yy"
4416 if (! (
yyvsp[0].tree_expression_type))
4419 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4421 #line 4422 "libinterp/parse-tree/oct-parse.cc"
4425 #line 1020 "../libinterp/parse-tree/oct-parse.yy"
4426 { (yyval.tree_expression_type) = (
yyvsp[0].tree_anon_fcn_handle_type); }
4427 #line 4428 "libinterp/parse-tree/oct-parse.cc"
4431 #line 1028 "../libinterp/parse-tree/oct-parse.yy"
4432 { (yyval.tree_command_type) = (
yyvsp[0].tree_decl_command_type); }
4433 #line 4434 "libinterp/parse-tree/oct-parse.cc"
4437 #line 1030 "../libinterp/parse-tree/oct-parse.yy"
4438 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4439 #line 4440 "libinterp/parse-tree/oct-parse.cc"
4443 #line 1032 "../libinterp/parse-tree/oct-parse.yy"
4444 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4445 #line 4446 "libinterp/parse-tree/oct-parse.cc"
4449 #line 1034 "../libinterp/parse-tree/oct-parse.yy"
4450 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4451 #line 4452 "libinterp/parse-tree/oct-parse.cc"
4455 #line 1036 "../libinterp/parse-tree/oct-parse.yy"
4456 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4457 #line 4458 "libinterp/parse-tree/oct-parse.cc"
4461 #line 1038 "../libinterp/parse-tree/oct-parse.yy"
4462 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4463 #line 4464 "libinterp/parse-tree/oct-parse.cc"
4467 #line 1040 "../libinterp/parse-tree/oct-parse.yy"
4468 { (yyval.tree_command_type) = (
yyvsp[0].tree_function_def_type); }
4469 #line 4470 "libinterp/parse-tree/oct-parse.cc"
4473 #line 1042 "../libinterp/parse-tree/oct-parse.yy"
4474 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4475 #line 4476 "libinterp/parse-tree/oct-parse.cc"
4479 #line 1050 "../libinterp/parse-tree/oct-parse.yy"
4484 #line 4485 "libinterp/parse-tree/oct-parse.cc"
4488 #line 1055 "../libinterp/parse-tree/oct-parse.yy"
4493 #line 4494 "libinterp/parse-tree/oct-parse.cc"
4497 #line 1062 "../libinterp/parse-tree/oct-parse.yy"
4499 #line 4500 "libinterp/parse-tree/oct-parse.cc"
4503 #line 1064 "../libinterp/parse-tree/oct-parse.yy"
4505 #line 4506 "libinterp/parse-tree/oct-parse.cc"
4509 #line 1068 "../libinterp/parse-tree/oct-parse.yy"
4511 #line 4512 "libinterp/parse-tree/oct-parse.cc"
4515 #line 1070 "../libinterp/parse-tree/oct-parse.yy"
4517 #line 4518 "libinterp/parse-tree/oct-parse.cc"
4521 #line 1078 "../libinterp/parse-tree/oct-parse.yy"
4522 { (yyval.tree_command_type) = (
yyvsp[0].tree_if_command_type); }
4523 #line 4524 "libinterp/parse-tree/oct-parse.cc"
4527 #line 1080 "../libinterp/parse-tree/oct-parse.yy"
4528 { (yyval.tree_command_type) = (
yyvsp[0].tree_switch_command_type); }
4529 #line 4530 "libinterp/parse-tree/oct-parse.cc"
4533 #line 1088 "../libinterp/parse-tree/oct-parse.yy"
4541 #line 4542 "libinterp/parse-tree/oct-parse.cc"
4545 #line 1098 "../libinterp/parse-tree/oct-parse.yy"
4546 { (yyval.tree_if_command_list_type) = (
yyvsp[0].tree_if_command_list_type); }
4547 #line 4548 "libinterp/parse-tree/oct-parse.cc"
4551 #line 1100 "../libinterp/parse-tree/oct-parse.yy"
4553 #line 4554 "libinterp/parse-tree/oct-parse.cc"
4557 #line 1104 "../libinterp/parse-tree/oct-parse.yy"
4565 #line 4566 "libinterp/parse-tree/oct-parse.cc"
4569 #line 1112 "../libinterp/parse-tree/oct-parse.yy"
4571 #line 4572 "libinterp/parse-tree/oct-parse.cc"
4575 #line 1116 "../libinterp/parse-tree/oct-parse.yy"
4583 #line 4584 "libinterp/parse-tree/oct-parse.cc"
4587 #line 1126 "../libinterp/parse-tree/oct-parse.yy"
4593 #line 4594 "libinterp/parse-tree/oct-parse.cc"
4597 #line 1138 "../libinterp/parse-tree/oct-parse.yy"
4607 #line 4608 "libinterp/parse-tree/oct-parse.cc"
4611 #line 1150 "../libinterp/parse-tree/oct-parse.yy"
4612 { (yyval.tree_switch_case_list_type) =
nullptr; }
4613 #line 4614 "libinterp/parse-tree/oct-parse.cc"
4617 #line 1152 "../libinterp/parse-tree/oct-parse.yy"
4619 #line 4620 "libinterp/parse-tree/oct-parse.cc"
4623 #line 1154 "../libinterp/parse-tree/oct-parse.yy"
4624 { (yyval.tree_switch_case_list_type) = (
yyvsp[0].tree_switch_case_list_type); }
4625 #line 4626 "libinterp/parse-tree/oct-parse.cc"
4629 #line 1156 "../libinterp/parse-tree/oct-parse.yy"
4631 #line 4632 "libinterp/parse-tree/oct-parse.cc"
4635 #line 1160 "../libinterp/parse-tree/oct-parse.yy"
4637 #line 4638 "libinterp/parse-tree/oct-parse.cc"
4641 #line 1162 "../libinterp/parse-tree/oct-parse.yy"
4643 #line 4644 "libinterp/parse-tree/oct-parse.cc"
4647 #line 1166 "../libinterp/parse-tree/oct-parse.yy"
4653 #line 4654 "libinterp/parse-tree/oct-parse.cc"
4657 #line 1174 "../libinterp/parse-tree/oct-parse.yy"
4663 #line 4664 "libinterp/parse-tree/oct-parse.cc"
4667 #line 1186 "../libinterp/parse-tree/oct-parse.yy"
4679 #line 4680 "libinterp/parse-tree/oct-parse.cc"
4683 #line 1198 "../libinterp/parse-tree/oct-parse.yy"
4689 #line 4690 "libinterp/parse-tree/oct-parse.cc"
4693 #line 1204 "../libinterp/parse-tree/oct-parse.yy"
4698 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4704 #line 4705 "libinterp/parse-tree/oct-parse.cc"
4708 #line 1215 "../libinterp/parse-tree/oct-parse.yy"
4713 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-8].comment_type))))
4719 #line 4720 "libinterp/parse-tree/oct-parse.cc"
4723 #line 1226 "../libinterp/parse-tree/oct-parse.yy"
4728 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4734 #line 4735 "libinterp/parse-tree/oct-parse.cc"
4738 #line 1237 "../libinterp/parse-tree/oct-parse.yy"
4743 (
yyvsp[-4].tree_expression_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-10].comment_type))))
4749 #line 4750 "libinterp/parse-tree/oct-parse.cc"
4753 #line 1254 "../libinterp/parse-tree/oct-parse.yy"
4758 #line 4759 "libinterp/parse-tree/oct-parse.cc"
4762 #line 1259 "../libinterp/parse-tree/oct-parse.yy"
4767 #line 4768 "libinterp/parse-tree/oct-parse.cc"
4771 #line 1264 "../libinterp/parse-tree/oct-parse.yy"
4773 #line 4774 "libinterp/parse-tree/oct-parse.cc"
4777 #line 1272 "../libinterp/parse-tree/oct-parse.yy"
4781 octave::comment_list *lc = (
yyvsp[-3].comment_type);
4790 #line 4791 "libinterp/parse-tree/oct-parse.cc"
4794 #line 1292 "../libinterp/parse-tree/oct-parse.yy"
4804 #line 4805 "libinterp/parse-tree/oct-parse.cc"
4808 #line 1303 "../libinterp/parse-tree/oct-parse.yy"
4818 #line 4819 "libinterp/parse-tree/oct-parse.cc"
4822 #line 1313 "../libinterp/parse-tree/oct-parse.yy"
4827 (
yyvsp[0].tok_val), (
yyvsp[-3].comment_type),
nullptr)))
4833 #line 4834 "libinterp/parse-tree/oct-parse.cc"
4837 #line 1330 "../libinterp/parse-tree/oct-parse.yy"
4842 (yyval.dummy_type) = 0;
4844 #line 4845 "libinterp/parse-tree/oct-parse.cc"
4848 #line 1343 "../libinterp/parse-tree/oct-parse.yy"
4852 (yyval.dummy_type) = 0;
4864 #line 4865 "libinterp/parse-tree/oct-parse.cc"
4868 #line 1361 "../libinterp/parse-tree/oct-parse.yy"
4872 (yyval.dummy_type) = 0;
4877 #line 4878 "libinterp/parse-tree/oct-parse.cc"
4881 #line 1372 "../libinterp/parse-tree/oct-parse.yy"
4882 { (yyval.tree_parameter_list_type) =
nullptr; }
4883 #line 4884 "libinterp/parse-tree/oct-parse.cc"
4887 #line 1374 "../libinterp/parse-tree/oct-parse.yy"
4888 { (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type); }
4889 #line 4890 "libinterp/parse-tree/oct-parse.cc"
4893 #line 1378 "../libinterp/parse-tree/oct-parse.yy"
4895 if ((
yyvsp[-1].tree_parameter_list_type))
4898 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
4900 #line 4901 "libinterp/parse-tree/oct-parse.cc"
4904 #line 1385 "../libinterp/parse-tree/oct-parse.yy"
4906 (yyval.tree_parameter_list_type) =
nullptr;
4910 #line 4911 "libinterp/parse-tree/oct-parse.cc"
4914 #line 1393 "../libinterp/parse-tree/oct-parse.yy"
4916 #line 4917 "libinterp/parse-tree/oct-parse.cc"
4920 #line 1395 "../libinterp/parse-tree/oct-parse.yy"
4922 (
yyvsp[0].tree_parameter_list_type)->mark_as_formal_parameters ();
4927 (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type);
4931 delete (
yyvsp[0].tree_parameter_list_type);
4935 #line 4936 "libinterp/parse-tree/oct-parse.cc"
4939 #line 1412 "../libinterp/parse-tree/oct-parse.yy"
4941 #line 4942 "libinterp/parse-tree/oct-parse.cc"
4945 #line 1414 "../libinterp/parse-tree/oct-parse.yy"
4951 #line 4952 "libinterp/parse-tree/oct-parse.cc"
4955 #line 1422 "../libinterp/parse-tree/oct-parse.yy"
4956 { (yyval.tree_decl_elt_type) = (
yyvsp[0].tree_decl_elt_type); }
4957 #line 4958 "libinterp/parse-tree/oct-parse.cc"
4961 #line 1424 "../libinterp/parse-tree/oct-parse.yy"
4963 #line 4964 "libinterp/parse-tree/oct-parse.cc"
4967 #line 1432 "../libinterp/parse-tree/oct-parse.yy"
4975 #line 4976 "libinterp/parse-tree/oct-parse.cc"
4979 #line 1440 "../libinterp/parse-tree/oct-parse.yy"
4983 octave::tree_parameter_list *tmp
4991 (yyval.tree_parameter_list_type) = tmp;
4998 #line 4999 "libinterp/parse-tree/oct-parse.cc"
5002 #line 1459 "../libinterp/parse-tree/oct-parse.yy"
5012 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
5015 delete (
yyvsp[-1].tree_parameter_list_type);
5019 #line 5020 "libinterp/parse-tree/oct-parse.cc"
5023 #line 1478 "../libinterp/parse-tree/oct-parse.yy"
5027 #line 5028 "libinterp/parse-tree/oct-parse.cc"
5031 #line 1482 "../libinterp/parse-tree/oct-parse.yy"
5037 #line 5038 "libinterp/parse-tree/oct-parse.cc"
5041 #line 1495 "../libinterp/parse-tree/oct-parse.yy"
5043 #line 5044 "libinterp/parse-tree/oct-parse.cc"
5047 #line 1499 "../libinterp/parse-tree/oct-parse.yy"
5049 (yyval.dummy_type) = 0;
5055 #line 5056 "libinterp/parse-tree/oct-parse.cc"
5059 #line 1509 "../libinterp/parse-tree/oct-parse.yy"
5060 { (yyval.dummy_type) = 0; }
5061 #line 5062 "libinterp/parse-tree/oct-parse.cc"
5065 #line 1513 "../libinterp/parse-tree/oct-parse.yy"
5080 delete (
yyvsp[-1].tree_statement_list_type);
5087 octave::tree_statement *end_of_script
5089 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5097 (yyval.tree_command_type) =
nullptr;
5099 #line 5100 "libinterp/parse-tree/oct-parse.cc"
5103 #line 1547 "../libinterp/parse-tree/oct-parse.yy"
5113 (yyval.tree_command_type) =
nullptr;
5115 #line 5116 "libinterp/parse-tree/oct-parse.cc"
5119 #line 1565 "../libinterp/parse-tree/oct-parse.yy"
5121 (yyval.tok_val) = (
yyvsp[0].tok_val);
5126 #line 5127 "libinterp/parse-tree/oct-parse.cc"
5130 #line 1574 "../libinterp/parse-tree/oct-parse.yy"
5140 #line 5141 "libinterp/parse-tree/oct-parse.cc"
5144 #line 1584 "../libinterp/parse-tree/oct-parse.yy"
5148 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5155 #line 5156 "libinterp/parse-tree/oct-parse.cc"
5159 #line 1595 "../libinterp/parse-tree/oct-parse.yy"
5163 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5170 #line 5171 "libinterp/parse-tree/oct-parse.cc"
5174 #line 1608 "../libinterp/parse-tree/oct-parse.yy"
5179 (yyval.tree_statement_type) =
parser.
make_end (
"endfunction",
false,
5180 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5187 #line 5188 "libinterp/parse-tree/oct-parse.cc"
5191 #line 1621 "../libinterp/parse-tree/oct-parse.yy"
5203 "if one function is explicitly ended, "
5204 "so must all the others");
5221 (yyval.tree_statement_type) =
parser.
make_end (
"endfunction",
true,
5222 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5224 #line 5225 "libinterp/parse-tree/oct-parse.cc"
5228 #line 1656 "../libinterp/parse-tree/oct-parse.yy"
5232 (yyval.tree_function_def_type) =
parser.
make_function ((
yyvsp[-7].tok_val),
nullptr, (
yyvsp[-5].tree_identifier_type), (
yyvsp[-4].tree_parameter_list_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tree_statement_type), (
yyvsp[-6].comment_type), (
yyvsp[-2].comment_type));
5234 #line 5235 "libinterp/parse-tree/oct-parse.cc"
5238 #line 1662 "../libinterp/parse-tree/oct-parse.yy"
5242 (yyval.tree_function_def_type) =
parser.
make_function ((
yyvsp[-9].tok_val), (
yyvsp[-7].tree_parameter_list_type), (
yyvsp[-5].tree_identifier_type), (
yyvsp[-4].tree_parameter_list_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tree_statement_type), (
yyvsp[-8].comment_type), (
yyvsp[-2].comment_type));
5244 #line 5245 "libinterp/parse-tree/oct-parse.cc"
5248 #line 1670 "../libinterp/parse-tree/oct-parse.yy"
5252 (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type);
5254 #line 5255 "libinterp/parse-tree/oct-parse.cc"
5258 #line 1676 "../libinterp/parse-tree/oct-parse.yy"
5264 #line 5265 "libinterp/parse-tree/oct-parse.cc"
5268 #line 1685 "../libinterp/parse-tree/oct-parse.yy"
5270 (yyval.dummy_type) = 0;
5273 #line 5274 "libinterp/parse-tree/oct-parse.cc"
5277 #line 1692 "../libinterp/parse-tree/oct-parse.yy"
5283 #line 5284 "libinterp/parse-tree/oct-parse.cc"
5287 #line 1698 "../libinterp/parse-tree/oct-parse.yy"
5293 #line 5294 "libinterp/parse-tree/oct-parse.cc"
5297 #line 1707 "../libinterp/parse-tree/oct-parse.yy"
5301 octave::comment_list *lc = (
yyvsp[-5].comment_type);
5312 #line 5313 "libinterp/parse-tree/oct-parse.cc"
5316 #line 1724 "../libinterp/parse-tree/oct-parse.yy"
5318 (yyval.tok_val) = (
yyvsp[0].tok_val);
5321 #line 5322 "libinterp/parse-tree/oct-parse.cc"
5325 #line 1731 "../libinterp/parse-tree/oct-parse.yy"
5326 { (yyval.tree_args_block_attribute_list_type) =
nullptr; }
5327 #line 5328 "libinterp/parse-tree/oct-parse.cc"
5331 #line 1733 "../libinterp/parse-tree/oct-parse.yy"
5342 #line 5343 "libinterp/parse-tree/oct-parse.cc"
5346 #line 1747 "../libinterp/parse-tree/oct-parse.yy"
5348 (
yyvsp[0].tree_arg_validation_type)->arg_name ((
yyvsp[-1].tree_expression_type));
5351 #line 5352 "libinterp/parse-tree/oct-parse.cc"
5355 #line 1752 "../libinterp/parse-tree/oct-parse.yy"
5359 (
yyvsp[0].tree_arg_validation_type)->arg_name ((
yyvsp[-1].tree_expression_type));
5362 #line 5363 "libinterp/parse-tree/oct-parse.cc"
5366 #line 1765 "../libinterp/parse-tree/oct-parse.yy"
5367 { (yyval.tree_expression_type) = (
yyvsp[0].tree_identifier_type); }
5368 #line 5369 "libinterp/parse-tree/oct-parse.cc"
5372 #line 1769 "../libinterp/parse-tree/oct-parse.yy"
5380 #line 5381 "libinterp/parse-tree/oct-parse.cc"
5384 #line 1779 "../libinterp/parse-tree/oct-parse.yy"
5385 { (yyval.tree_arg_size_spec_type) =
nullptr; }
5386 #line 5387 "libinterp/parse-tree/oct-parse.cc"
5390 #line 1781 "../libinterp/parse-tree/oct-parse.yy"
5400 #line 5401 "libinterp/parse-tree/oct-parse.cc"
5404 #line 1793 "../libinterp/parse-tree/oct-parse.yy"
5405 { (yyval.tree_identifier_type) =
nullptr; }
5406 #line 5407 "libinterp/parse-tree/oct-parse.cc"
5410 #line 1795 "../libinterp/parse-tree/oct-parse.yy"
5411 { (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type); }
5412 #line 5413 "libinterp/parse-tree/oct-parse.cc"
5416 #line 1800 "../libinterp/parse-tree/oct-parse.yy"
5417 { (yyval.tree_arg_validation_fcns_type) =
nullptr; }
5418 #line 5419 "libinterp/parse-tree/oct-parse.cc"
5422 #line 1802 "../libinterp/parse-tree/oct-parse.yy"
5432 #line 5433 "libinterp/parse-tree/oct-parse.cc"
5436 #line 1814 "../libinterp/parse-tree/oct-parse.yy"
5437 { (yyval.tree_expression_type) =
nullptr; }
5438 #line 5439 "libinterp/parse-tree/oct-parse.cc"
5442 #line 1816 "../libinterp/parse-tree/oct-parse.yy"
5446 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
5448 #line 5449 "libinterp/parse-tree/oct-parse.cc"
5452 #line 1828 "../libinterp/parse-tree/oct-parse.yy"
5456 parser.
bison_error (
"classdef must appear inside a file containing only a class definition");
5466 (yyval.tok_val) = (
yyvsp[0].tok_val);
5468 #line 5469 "libinterp/parse-tree/oct-parse.cc"
5472 #line 1846 "../libinterp/parse-tree/oct-parse.yy"
5478 if (! ((yyval.tree_classdef_type) =
parser.
make_classdef ((
yyvsp[-9].tok_val), (
yyvsp[-7].tree_classdef_attribute_list_type), (
yyvsp[-6].tree_identifier_type), (
yyvsp[-4].tree_classdef_superclass_list_type), (
yyvsp[-2].tree_classdef_body_type), (
yyvsp[0].tok_val), (
yyvsp[-8].comment_type), (
yyvsp[-3].comment_type), (
yyvsp[-1].comment_type))))
5484 #line 5485 "libinterp/parse-tree/oct-parse.cc"
5488 #line 1860 "../libinterp/parse-tree/oct-parse.yy"
5489 { (yyval.tree_classdef_attribute_list_type) =
nullptr; }
5490 #line 5491 "libinterp/parse-tree/oct-parse.cc"
5494 #line 1862 "../libinterp/parse-tree/oct-parse.yy"
5498 (yyval.tree_classdef_attribute_list_type) = (
yyvsp[-2].tree_classdef_attribute_list_type);
5500 #line 5501 "libinterp/parse-tree/oct-parse.cc"
5504 #line 1870 "../libinterp/parse-tree/oct-parse.yy"
5506 #line 5507 "libinterp/parse-tree/oct-parse.cc"
5510 #line 1872 "../libinterp/parse-tree/oct-parse.yy"
5516 #line 5517 "libinterp/parse-tree/oct-parse.cc"
5520 #line 1880 "../libinterp/parse-tree/oct-parse.yy"
5522 #line 5523 "libinterp/parse-tree/oct-parse.cc"
5526 #line 1882 "../libinterp/parse-tree/oct-parse.yy"
5532 #line 5533 "libinterp/parse-tree/oct-parse.cc"
5536 #line 1888 "../libinterp/parse-tree/oct-parse.yy"
5542 #line 5543 "libinterp/parse-tree/oct-parse.cc"
5546 #line 1894 "../libinterp/parse-tree/oct-parse.yy"
5552 #line 5553 "libinterp/parse-tree/oct-parse.cc"
5556 #line 1902 "../libinterp/parse-tree/oct-parse.yy"
5561 (yyval.tree_classdef_superclass_list_type) =
nullptr;
5563 #line 5564 "libinterp/parse-tree/oct-parse.cc"
5567 #line 1909 "../libinterp/parse-tree/oct-parse.yy"
5574 (yyval.tree_classdef_superclass_list_type) = (
yyvsp[-1].tree_classdef_superclass_list_type);
5576 #line 5577 "libinterp/parse-tree/oct-parse.cc"
5580 #line 1921 "../libinterp/parse-tree/oct-parse.yy"
5586 #line 5587 "libinterp/parse-tree/oct-parse.cc"
5590 #line 1927 "../libinterp/parse-tree/oct-parse.yy"
5596 #line 5597 "libinterp/parse-tree/oct-parse.cc"
5600 #line 1935 "../libinterp/parse-tree/oct-parse.yy"
5602 #line 5603 "libinterp/parse-tree/oct-parse.cc"
5606 #line 1939 "../libinterp/parse-tree/oct-parse.yy"
5609 (yyval.tree_classdef_body_type) =
nullptr;
5611 #line 5612 "libinterp/parse-tree/oct-parse.cc"
5615 #line 1944 "../libinterp/parse-tree/oct-parse.yy"
5620 (yyval.tree_classdef_body_type) = (
yyvsp[-1].tree_classdef_body_type);
5622 #line 5623 "libinterp/parse-tree/oct-parse.cc"
5626 #line 1953 "../libinterp/parse-tree/oct-parse.yy"
5628 #line 5629 "libinterp/parse-tree/oct-parse.cc"
5632 #line 1955 "../libinterp/parse-tree/oct-parse.yy"
5634 #line 5635 "libinterp/parse-tree/oct-parse.cc"
5638 #line 1957 "../libinterp/parse-tree/oct-parse.yy"
5640 #line 5641 "libinterp/parse-tree/oct-parse.cc"
5644 #line 1959 "../libinterp/parse-tree/oct-parse.yy"
5646 #line 5647 "libinterp/parse-tree/oct-parse.cc"
5650 #line 1961 "../libinterp/parse-tree/oct-parse.yy"
5656 #line 5657 "libinterp/parse-tree/oct-parse.cc"
5660 #line 1967 "../libinterp/parse-tree/oct-parse.yy"
5666 #line 5667 "libinterp/parse-tree/oct-parse.cc"
5670 #line 1973 "../libinterp/parse-tree/oct-parse.yy"
5676 #line 5677 "libinterp/parse-tree/oct-parse.cc"
5680 #line 1979 "../libinterp/parse-tree/oct-parse.yy"
5686 #line 5687 "libinterp/parse-tree/oct-parse.cc"
5690 #line 1988 "../libinterp/parse-tree/oct-parse.yy"
5694 octave::comment_list *lc = (
yyvsp[-4].comment_type);
5698 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_property_list_type), (
yyvsp[0].tok_val), lc, tc)))
5705 #line 5706 "libinterp/parse-tree/oct-parse.cc"
5709 #line 2005 "../libinterp/parse-tree/oct-parse.yy"
5712 (yyval.tok_val) = (
yyvsp[0].tok_val);
5714 #line 5715 "libinterp/parse-tree/oct-parse.cc"
5718 #line 2012 "../libinterp/parse-tree/oct-parse.yy"
5721 (yyval.tree_classdef_property_list_type) =
nullptr;
5723 #line 5724 "libinterp/parse-tree/oct-parse.cc"
5727 #line 2017 "../libinterp/parse-tree/oct-parse.yy"
5732 (yyval.tree_classdef_property_list_type) = (
yyvsp[-1].tree_classdef_property_list_type);
5734 #line 5735 "libinterp/parse-tree/oct-parse.cc"
5738 #line 2027 "../libinterp/parse-tree/oct-parse.yy"
5740 #line 5741 "libinterp/parse-tree/oct-parse.cc"
5744 #line 2029 "../libinterp/parse-tree/oct-parse.yy"
5756 octave::tree_classdef_property *last_elt = (
yyvsp[-2].tree_classdef_property_list_type)->back ();
5758 if (! last_elt->have_doc_string ())
5760 octave::comment_list *cl = (
yyvsp[0].tree_classdef_property_type)->comments ();
5764 octave::comment_elt elt = cl->front ();
5766 if (elt.is_end_of_line ())
5767 last_elt->doc_string (elt.text ());
5773 #line 5774 "libinterp/parse-tree/oct-parse.cc"
5777 #line 2060 "../libinterp/parse-tree/oct-parse.yy"
5779 #line 5780 "libinterp/parse-tree/oct-parse.cc"
5783 #line 2064 "../libinterp/parse-tree/oct-parse.yy"
5787 octave::comment_list *lc = (
yyvsp[-4].comment_type);
5791 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_methods_list_type), (
yyvsp[0].tok_val), lc, tc)))
5798 #line 5799 "libinterp/parse-tree/oct-parse.cc"
5802 #line 2081 "../libinterp/parse-tree/oct-parse.yy"
5805 (yyval.tok_val) = (
yyvsp[0].tok_val);
5807 #line 5808 "libinterp/parse-tree/oct-parse.cc"
5811 #line 2088 "../libinterp/parse-tree/oct-parse.yy"
5816 #line 5817 "libinterp/parse-tree/oct-parse.cc"
5820 #line 2093 "../libinterp/parse-tree/oct-parse.yy"
5825 #line 5826 "libinterp/parse-tree/oct-parse.cc"
5829 #line 2100 "../libinterp/parse-tree/oct-parse.yy"
5831 #line 5832 "libinterp/parse-tree/oct-parse.cc"
5835 #line 2102 "../libinterp/parse-tree/oct-parse.yy"
5842 #line 5843 "libinterp/parse-tree/oct-parse.cc"
5846 #line 2109 "../libinterp/parse-tree/oct-parse.yy"
5853 #line 5854 "libinterp/parse-tree/oct-parse.cc"
5857 #line 2118 "../libinterp/parse-tree/oct-parse.yy"
5858 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5859 #line 5860 "libinterp/parse-tree/oct-parse.cc"
5863 #line 2120 "../libinterp/parse-tree/oct-parse.yy"
5864 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5865 #line 5866 "libinterp/parse-tree/oct-parse.cc"
5869 #line 2124 "../libinterp/parse-tree/oct-parse.yy"
5872 (yyval.tree_classdef_methods_list_type) =
nullptr;
5874 #line 5875 "libinterp/parse-tree/oct-parse.cc"
5878 #line 2129 "../libinterp/parse-tree/oct-parse.yy"
5883 (yyval.tree_classdef_methods_list_type) = (
yyvsp[-1].tree_classdef_methods_list_type);
5885 #line 5886 "libinterp/parse-tree/oct-parse.cc"
5889 #line 2138 "../libinterp/parse-tree/oct-parse.yy"
5891 #line 5892 "libinterp/parse-tree/oct-parse.cc"
5895 #line 2140 "../libinterp/parse-tree/oct-parse.yy"
5901 #line 5902 "libinterp/parse-tree/oct-parse.cc"
5905 #line 2148 "../libinterp/parse-tree/oct-parse.yy"
5909 octave::comment_list *lc = (
yyvsp[-4].comment_type);
5913 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_events_list_type), (
yyvsp[0].tok_val), lc, tc)))
5920 #line 5921 "libinterp/parse-tree/oct-parse.cc"
5924 #line 2165 "../libinterp/parse-tree/oct-parse.yy"
5927 (yyval.tok_val) = (
yyvsp[0].tok_val);
5929 #line 5930 "libinterp/parse-tree/oct-parse.cc"
5933 #line 2172 "../libinterp/parse-tree/oct-parse.yy"
5936 (yyval.tree_classdef_events_list_type) =
nullptr;
5938 #line 5939 "libinterp/parse-tree/oct-parse.cc"
5942 #line 2177 "../libinterp/parse-tree/oct-parse.yy"
5947 (yyval.tree_classdef_events_list_type) = (
yyvsp[-1].tree_classdef_events_list_type);
5949 #line 5950 "libinterp/parse-tree/oct-parse.cc"
5953 #line 2186 "../libinterp/parse-tree/oct-parse.yy"
5955 #line 5956 "libinterp/parse-tree/oct-parse.cc"
5959 #line 2188 "../libinterp/parse-tree/oct-parse.yy"
5965 #line 5966 "libinterp/parse-tree/oct-parse.cc"
5969 #line 2196 "../libinterp/parse-tree/oct-parse.yy"
5971 #line 5972 "libinterp/parse-tree/oct-parse.cc"
5975 #line 2200 "../libinterp/parse-tree/oct-parse.yy"
5979 octave::comment_list *lc = (
yyvsp[-4].comment_type);
5983 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_enum_list_type), (
yyvsp[0].tok_val), lc, tc)))
5990 #line 5991 "libinterp/parse-tree/oct-parse.cc"
5994 #line 2217 "../libinterp/parse-tree/oct-parse.yy"
5997 (yyval.tok_val) = (
yyvsp[0].tok_val);
5999 #line 6000 "libinterp/parse-tree/oct-parse.cc"
6003 #line 2224 "../libinterp/parse-tree/oct-parse.yy"
6006 (yyval.tree_classdef_enum_list_type) =
nullptr;
6008 #line 6009 "libinterp/parse-tree/oct-parse.cc"
6012 #line 2229 "../libinterp/parse-tree/oct-parse.yy"
6017 (yyval.tree_classdef_enum_list_type) = (
yyvsp[-1].tree_classdef_enum_list_type);
6019 #line 6020 "libinterp/parse-tree/oct-parse.cc"
6023 #line 2238 "../libinterp/parse-tree/oct-parse.yy"
6025 #line 6026 "libinterp/parse-tree/oct-parse.cc"
6029 #line 2240 "../libinterp/parse-tree/oct-parse.yy"
6035 #line 6036 "libinterp/parse-tree/oct-parse.cc"
6039 #line 2248 "../libinterp/parse-tree/oct-parse.yy"
6045 #line 6046 "libinterp/parse-tree/oct-parse.cc"
6049 #line 2260 "../libinterp/parse-tree/oct-parse.yy"
6051 (yyval.dummy_type) = 0;
6054 #line 6055 "libinterp/parse-tree/oct-parse.cc"
6058 #line 2267 "../libinterp/parse-tree/oct-parse.yy"
6060 (yyval.dummy_type) = 0;
6064 #line 6065 "libinterp/parse-tree/oct-parse.cc"
6068 #line 2275 "../libinterp/parse-tree/oct-parse.yy"
6072 #line 6073 "libinterp/parse-tree/oct-parse.cc"
6076 #line 2281 "../libinterp/parse-tree/oct-parse.yy"
6078 (yyval.dummy_type) = 0;
6079 std::string msg = (
yyvsp[0].tok_val)->
text ();
6082 #line 6083 "libinterp/parse-tree/oct-parse.cc"
6086 #line 2287 "../libinterp/parse-tree/oct-parse.yy"
6087 { (yyval.dummy_type) = 0; }
6088 #line 6089 "libinterp/parse-tree/oct-parse.cc"
6092 #line 2291 "../libinterp/parse-tree/oct-parse.yy"
6096 (yyval.punct_type) =
',';
6098 #line 6099 "libinterp/parse-tree/oct-parse.cc"
6102 #line 2297 "../libinterp/parse-tree/oct-parse.yy"
6106 (yyval.punct_type) =
';';
6108 #line 6109 "libinterp/parse-tree/oct-parse.cc"
6112 #line 2303 "../libinterp/parse-tree/oct-parse.yy"
6116 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6118 #line 6119 "libinterp/parse-tree/oct-parse.cc"
6122 #line 2309 "../libinterp/parse-tree/oct-parse.yy"
6126 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6128 #line 6129 "libinterp/parse-tree/oct-parse.cc"
6132 #line 2317 "../libinterp/parse-tree/oct-parse.yy"
6133 { (yyval.punct_type) = 0; }
6134 #line 6135 "libinterp/parse-tree/oct-parse.cc"
6138 #line 2319 "../libinterp/parse-tree/oct-parse.yy"
6139 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6140 #line 6141 "libinterp/parse-tree/oct-parse.cc"
6144 #line 2323 "../libinterp/parse-tree/oct-parse.yy"
6145 { (yyval.punct_type) = 0; }
6146 #line 6147 "libinterp/parse-tree/oct-parse.cc"
6150 #line 2325 "../libinterp/parse-tree/oct-parse.yy"
6151 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6152 #line 6153 "libinterp/parse-tree/oct-parse.cc"
6156 #line 2329 "../libinterp/parse-tree/oct-parse.yy"
6160 (yyval.punct_type) =
'\n';
6162 #line 6163 "libinterp/parse-tree/oct-parse.cc"
6166 #line 2335 "../libinterp/parse-tree/oct-parse.yy"
6170 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6172 #line 6173 "libinterp/parse-tree/oct-parse.cc"
6176 #line 2343 "../libinterp/parse-tree/oct-parse.yy"
6180 (yyval.punct_type) =
',';
6182 #line 6183 "libinterp/parse-tree/oct-parse.cc"
6186 #line 2349 "../libinterp/parse-tree/oct-parse.yy"
6190 (yyval.punct_type) =
';';
6192 #line 6193 "libinterp/parse-tree/oct-parse.cc"
6196 #line 2355 "../libinterp/parse-tree/oct-parse.yy"
6200 (yyval.punct_type) =
'\n';
6202 #line 6203 "libinterp/parse-tree/oct-parse.cc"
6206 #line 2361 "../libinterp/parse-tree/oct-parse.yy"
6210 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6212 #line 6213 "libinterp/parse-tree/oct-parse.cc"
6216 #line 2367 "../libinterp/parse-tree/oct-parse.yy"
6220 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6222 #line 6223 "libinterp/parse-tree/oct-parse.cc"
6226 #line 2373 "../libinterp/parse-tree/oct-parse.yy"
6230 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6232 #line 6233 "libinterp/parse-tree/oct-parse.cc"
6236 #line 2381 "../libinterp/parse-tree/oct-parse.yy"
6237 { (yyval.punct_type) = 0; }
6238 #line 6239 "libinterp/parse-tree/oct-parse.cc"
6242 #line 2383 "../libinterp/parse-tree/oct-parse.yy"
6243 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6244 #line 6245 "libinterp/parse-tree/oct-parse.cc"
6248 #line 6249 "libinterp/parse-tree/oct-parse.cc"
6274 const int yylhs = yyr1[yyn] -
YYNTOKENS;
6275 const int yyi = yypgoto[yylhs] + *
yyssp;
6278 : yydefgoto[yylhs]);
6311 yydestruct (
"Error: discarding",
6367 yydestruct (
"Error: popping",
6420 yydestruct (
"Cleanup: discarding lookahead",
6429 yydestruct (
"Cleanup: popping",
6454 #line 2386 "../libinterp/parse-tree/oct-parse.yy"
6457 #if defined (HAVE_PRAGMA_GCC_DIAGNOSTIC)
6459 # pragma GCC diagnostic pop
6475 class parse_exception :
public std::runtime_error
6479 parse_exception () =
delete;
6481 parse_exception (
const std::string&
message,
6482 const std::string& fcn_name =
"",
6483 const std::string& file_name =
"",
6484 int line = -1,
int column = -1)
6486 m_fcn_name (fcn_name), m_file_name (file_name),
6487 m_line (
line), m_column (column)
6490 OCTAVE_DEFAULT_COPY_MOVE_DELETE (parse_exception)
6492 std::string
message ()
const {
return m_message; }
6495 const char * what () const noexcept {
return m_message.c_str (); }
6497 std::string fcn_name ()
const {
return m_fcn_name; }
6498 std::string file_name ()
const {
return m_file_name; }
6500 int line ()
const {
return m_line; }
6501 int column ()
const {
return m_column; }
6507 std::string m_message;
6509 std::string m_fcn_name;
6510 std::string m_file_name;
6519 parse_tree_validator ()
6520 : m_scope (
symbol_scope::anonymous ()), m_error_list ()
6523 OCTAVE_DISABLE_COPY_MOVE (parse_tree_validator)
6525 ~parse_tree_validator () =
default;
6529 bool ok ()
const {
return m_error_list.empty (); }
6531 std::list<parse_exception> error_list ()
const
6533 return m_error_list;
6543 stmt_list->
accept (*
this);
6553 stmt_list->
accept (*
this);
6555 std::map<std::string, octave_value> subfcns = fcn.
subfunctions ();
6557 if (! subfcns.empty ())
6559 for (
auto& nm_val : subfcns)
6574 std::string sym_nm = idx_expr.
name ();
6576 if (m_scope.is_variable (sym_nm))
6579 = sym_nm +
": invalid use of symbol as both variable and command";
6580 parse_exception pe (
message, m_scope.fcn_name (),
6581 m_scope.fcn_file_name (),
6584 m_error_list.push_back (pe);
6593 std::list<parse_exception> m_error_list;
6596 template <
typename LIST_T,
typename ELT_T>
6598 list_append (LIST_T *list, ELT_T elt)
6605 base_parser::parent_scope_info::size ()
const
6607 return m_info.size ();
6611 base_parser::parent_scope_info::push (
const value_type& elt)
6613 m_info.push_back (elt);
6617 base_parser::parent_scope_info::push (
const symbol_scope& scope)
6619 push (value_type (scope,
""));
6623 base_parser::parent_scope_info::pop ()
6629 base_parser::parent_scope_info::name_ok (
const std::string& name)
6636 std::string full_name;
6638 for (std::size_t i = 0; i < size()-1; i++)
6640 const value_type& elt = m_info[i];
6642 if (name == elt.second)
6645 full_name += elt.second +
">";
6650 if (m_all_names.find (full_name) != m_all_names.end ())
6656 return ! (m_parser.parsing_subfunctions ()
6657 || m_parser.parsing_local_functions ()
6658 || m_parser.curr_fcn_depth () > 0);
6661 m_all_names.insert (full_name);
6667 base_parser::parent_scope_info::name_current_scope (
const std::string& name)
6669 if (! name_ok (name))
6673 m_info.back().second = name;
6679 base_parser::parent_scope_info::parent_scope ()
const
6685 base_parser::parent_scope_info::parent_name ()
const
6687 return m_info[size()-2].second;
6690 void base_parser::parent_scope_info::clear ()
6693 m_all_names.clear ();
6697 : m_endfunction_found (false), m_autoloading (false),
6698 m_fcn_file_from_relative_lookup (false),
6699 m_parsing_subfunctions (false), m_parsing_local_functions (false),
6700 m_max_fcn_depth (-1), m_curr_fcn_depth (-1),
6702 m_curr_class_name (), m_curr_package_name (), m_function_scopes (*this),
6703 m_primary_fcn (), m_subfunction_names (), m_classdef_object (),
6704 m_stmt_list (), m_lexer (lxr), m_parser_state (
yypstate_new ())
6752 std::string retval =
"<unknown>";
6761 retval =
"endclassdef";
6765 retval =
"endenumeration";
6769 retval =
"endevents";
6777 retval =
"endfunction";
6785 retval =
"endmethods";
6789 retval =
"endparfor";
6793 retval =
"endproperties";
6801 retval =
"endswitch";
6805 retval =
"end_try_catch";
6809 retval =
"end_unwind_protect";
6813 retval =
"endwhile";
6834 while (! lst->empty ())
6847 std::string msg = (
"'" + end_token_as_string (expected)
6848 +
"' command matched by '"
6849 + end_token_as_string (tok->
ettype ()) +
"'");
6885 bison_error (
"nested functions not implemented in this context");
6898 int l = tok_val->
line ();
6899 int c = tok_val->
column ();
6924 std::string txt = tok_val->
text ();
6926 char delim = op ==
DQ_STRING ?
'"' :
'\'';
6967 int l = tok_val->
line ();
6968 int c = tok_val->
column ();
6988 if (! validator.
ok ())
7008 int at_line = at_pos.
line ();
7009 int at_column = at_pos.
column ();
7013 parent_scope, at_line, at_column);
7015 std::ostringstream buf;
7022 if (! file.empty ())
7023 buf <<
": file: " << file;
7025 buf <<
": *terminal input*";
7027 buf <<
": *eval string*";
7028 buf <<
": line: " << at_line <<
" column: " << at_column;
7030 std::string scope_name = buf.str ();
7050 if (! base || ! limit)
7059 int l = base->
line ();
7099 std::ostringstream buf;
7208 int l = tok_val->
line ();
7209 int c = tok_val->
column ();
7239 int column = expr->
column ();
7244 (lhs, rhs,
line, column, op_type);
7272 int l = tok_val->
line ();
7273 int c = tok_val->
column ();
7313 int l = tok_val->
line ();
7314 int c = tok_val->
column ();
7349 int l = tok_val->
line ();
7350 int c = tok_val->
column ();
7371 int l = unwind_tok->
line ();
7372 int c = unwind_tok->
column ();
7380 delete cleanup_stmts;
7405 int l = try_tok->
line ();
7406 int c = try_tok->
column ();
7410 if (! catch_sep && cleanup_stmts && ! cleanup_stmts->
empty ())
7436 delete cleanup_stmts;
7455 maybe_warn_assign_as_truth_value (expr);
7463 int l = while_tok->
line ();
7464 int c = while_tok->
column ();
7487 maybe_warn_assign_as_truth_value (expr);
7493 int l = until_tok->
line ();
7494 int c = until_tok->
column ();
7512 bool parfor = tok_id ==
PARFOR;
7522 int l = for_tok->
line ();
7523 int c = for_tok->
column ();
7532 body, lc, tc, l, c);
7543 bison_error (
"invalid syntax for parfor statement");
7571 int l = break_tok->
line ();
7572 int c = break_tok->
column ();
7588 int l = continue_tok->
line ();
7589 int c = continue_tok->
column ();
7593 bison_error (
"continue must appear within a loop");
7605 int l = return_tok->
line ();
7606 int c = return_tok->
column ();
7622 int l = spmd_tok->
line ();
7623 int c = spmd_tok->
column ();
7645 maybe_warn_assign_as_truth_value (expr);
7668 int l = if_tok->
line ();
7669 int c = if_tok->
column ();
7671 if (list && ! list->
empty ())
7702 maybe_warn_assign_as_truth_value (expr);
7704 int l = elseif_tok->
line ();
7705 int c = elseif_tok->
column ();
7714 int l = else_tok->
line ();
7715 int c = else_tok->
column ();
7724 return list_append (list, clause);
7742 int l = switch_tok->
line ();
7743 int c = switch_tok->
column ();
7745 if (list && ! list->
empty ())
7783 maybe_warn_variable_switch_label (expr);
7785 int l = case_tok->
line ();
7786 int c = case_tok->
column ();
7795 int l = default_tok->
line ();
7796 int c = default_tok->
column ();
7805 return list_append (list, elt);
7875 int l = eq_tok->
line ();
7876 int c = eq_tok->
column ();
7886 bison_error (
"computed multiple assignment not allowed",
7901 std::string kw = tmp->
name ();
7907 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7923 for (
const auto& kw : names)
7930 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7954 cmds->
append (end_script);
7968 std::string doc_string;
7969 if (leading_comments)
7990 std::string id_name =
id->
name ();
7999 bison_error (
"duplicate subfunction or nested function name",
8060 std::string doc_string;
8062 if (leading_doc_comment.
empty ()
8065 doc_string = body_doc_comment.
text ();
8067 doc_string = leading_doc_comment.
text ();
8069 int l = fcn_tok->
line ();
8070 int c = fcn_tok->
column ();
8073 =
start_function (
id, param_list, body, end_fcn_stmt, doc_string);
8089 const std::string& doc_string)
8093 std::string id_name =
id->
name ();
8098 id_name.insert (0,
"get.");
8100 id_name.insert (0,
"set.");
8108 body->
append (end_fcn_stmt);
8112 param_list,
nullptr, body);
8118 end_fcn_stmt->
column ());
8135 if (pos != std::string::npos)
8141 (
"Octave:function-name-clash",
8142 "function name '%s' does not agree with function filename '%s'",
8185 sys::file_stat fs (nm);
8187 if (fs && fs.is_newer (now))
8189 "time stamp for '%s' is in the future", nm.c_str ());
8196 warning (
"function '%s' defined within script file '%s'",
8220 int l = beg_pos.
line ();
8221 int c = beg_pos.
column ();
8241 std::string fcn_nm = fcn->
name ();
8244 std::string tmp = fcn_nm;
8245 if (! file.empty ())
8327 for (
const auto& elt : *list)
8328 list_append (body, elt);
8350 int l = beg_pos.
line ();
8351 int c = beg_pos.
column ();
8358 delete validation_list;
8377 validation_fcns, default_value);
8399 return list_append (list, arg_validation);
8458 std::string cls_name =
id->name ();
8466 if (pos != std::string::npos)
8467 short_name = short_name.substr (pos+1);
8469 if (short_name != cls_name)
8471 int l =
id->line ();
8472 int c =
id->column ();
8482 bison_error (
"invalid classdef definition, the class name must match the filename", l, c);
8489 int l = tok_val->
line ();
8490 int c = tok_val->
column ();
8496 std::string doc_string;
8501 if (doc_string.empty () && bc)
8510 doc_string, a,
id, sc, body, lc, tc,
8551 int l = tok_val->
line ();
8552 int c = tok_val->
column ();
8570 std::string eol_comment = first_comment_elt.
text ();
8608 warning (
"size, class, and validation function specifications are not yet supported for classdef properties; INCORRECT RESULTS ARE POSSIBLE!");
8629 int l = tok_val->
line ();
8630 int c = tok_val->
column ();
8671 int l = tok_val->
line ();
8672 int c = tok_val->
column ();
8726 int l = tok_val->
line ();
8727 int c = tok_val->
column ();
8764 return list_append (list, elt);
8771 return list_append (list, elt);
8778 return list_append (list, elt);
8797 return list_append (list, elt);
8825 return list_append (list, elt);
8856 return list_append (body, block);
8863 return list_append (body, block);
8870 return list_append (body, block);
8877 return list_append (body, block);
8892 std::string mname =
id->
name ();
8899 if (mname.find_first_of (
".") == std::string::npos
8900 && mname !=
"delete"
8910 int l =
id->line ();
8911 int c =
id->column ();
8916 bison_error (
"invalid external method declaration, an external "
8917 "method cannot be the class constructor, 'delete' "
8918 "or have a dot (.) character in its name");
8921 bison_error (
"external methods are only allowed in @-folders");
8974 return list_append (list, fcn);
8981 parse_tree_validator validator;
8994 fcn_def->
accept (validator);
8998 if (! validator.ok ())
9027 std::string nm = fcn->
name ();
9057 bison_error (
"invalid use of empty argument (~) in index expression");
9061 int l = expr->
line ();
9072 retval = tmp->
append (args, type);
9085 const std::string& elt)
9089 int l = expr->
line ();
9100 retval = tmp->
append (elt);
9118 int l = expr->
line ();
9129 retval = list_append (tmp, elt);
9147 int l = tok_val->
line ();
9148 int c = tok_val->
column ();
9171 warning (
"ignoring persistent declaration near line %d of file '%s'",
9174 warning (
"ignoring persistent declaration near line %d", l);
9196 return list_append (list, elt);
9210 std::set<std::string> dict;
9218 std::string name =
id->
name ();
9231 +
"' in parameter list");
9234 else if (dict.find (name) != dict.end ())
9237 +
"' appears more than once in parameter list");
9246 ?
"varargin" :
"varargout");
9256 if (
id && id->
name () == va_type)
9282 if (row && row->has_magic_tilde ())
9287 bison_error (
"invalid use of tilde (~) in matrix expression");
9289 bison_error (
"invalid use of tilde (~) in cell expression");
9314 bison_error (
"invalid empty left hand side of assignment");
9316 bison_error (
"invalid constant left hand side of assignment");
9320 bool is_simple_assign =
true;
9328 if (mat && mat->
size () == 1)
9330 tmp = mat->
front ();
9333 is_simple_assign =
false;
9348 bison_error (
"invalid left hand side of assignment");
9351 if (retval && is_simple_assign)
9400 std::ostringstream buf;
9404 array_list->
accept (tpc);
9431 close_delim->
line (), close_delim->
column ()));
9446 return row ? list_append (matrix, row) : matrix;
9458 close_delim->
line (), close_delim->
column ()));
9464 return row ?
new tree_cell (row) :
nullptr;
9473 return row ? list_append (cell, row) : cell;
9482 std::string nm = ident->
text ();
9487 int l = ident->
line ();
9488 int c = ident->
column ();
9499 int l = superclassref->
line ();
9500 int c = superclassref->
column ();
9508 std::string cls = metaquery->
text ();
9510 int l = metaquery->
line ();
9511 int c = metaquery->
column ();
9518 char sep,
bool warn_missing_semi)
9532 if (warn_missing_semi)
9533 maybe_warn_missing_semi (list);
9537 warning (
"unrecognized separator type!");
9554 template <
typename T>
9572 bool warn_missing_semi)
9576 return list_append (list, stmt);
9589 return list_append (list, expr);
9616 return list_append (list, t);
9634 get_file_line (
const std::string& name,
int line)
9648 if (! std::getline (fs,
text))
9675 std::ostringstream output_buf;
9679 output_buf <<
"parse error near line " << err_line
9682 output_buf <<
"parse error:";
9684 if (str !=
"parse error")
9685 output_buf <<
"\n\n " << str;
9687 output_buf <<
"\n\n";
9689 std::string curr_line;
9701 if (! curr_line.empty ())
9707 std::size_t
len = curr_line.length ();
9709 if (curr_line[
len-1] ==
'\n')
9710 curr_line.resize (
len-1);
9714 output_buf <<
">>> " << curr_line <<
"\n";
9719 for (
int i = 0; i < err_col + 3; i++)
9733 bison_error (pe.message (), pe.line (), pe.column ());
9742 parse_exception pe = pe_list.front ();
9744 bison_error (pe.message (), pe.line (), pe.column ());
9768 catch (
const exit_exception&)
9772 catch (
const interrupt_exception&)
9781 error (
"unexpected exception while parsing input");
9783 error (
"unexpected exception while parsing %s", file.c_str ());
9815 status = (
token == -2 ? 0 : -1);
9834 error (e,
"parse error");
9836 error (e,
"parse error in %s", file.c_str ());
9838 catch (
const exit_exception&)
9842 catch (interrupt_exception &)
9851 error (
"unexpected exception while parsing input");
9853 error (
"unexpected exception while parsing %s", file.c_str ());
9868 error (
"push_parser::run requires valid input_reader");
9870 int exit_status = 0;
9885 std::string input_line = m_reader->get_input (prompt, eof);
9893 exit_status =
run (input_line,
false);
9897 while (exit_status < 0);
9904 const std::string& file,
const std::string& dir_name,
9905 const std::string& dispatch_type,
9906 const std::string& package_name,
bool require_file,
9907 bool force_script,
bool autoload,
bool relative_lookup)
9911 FILE *ffile =
nullptr;
9913 if (! full_file.empty ())
9916 const int max_file_size = 512 * 1024 * 1024;
9917 sys::file_stat fs (full_file);
9919 if (fs && fs.size () > max_file_size)
9921 error (
"file '%s' is too large, > 512 MB", full_file.c_str ());
9932 error (
"no such file, '%s'", full_file.c_str ());
9941 parser parser (ffile, interp, input_sys.dir_encoding (dir_name));
9960 error (
"parse error while reading file %s", full_file.c_str ());
9974 bool is_at_folder = ! dispatch_type.empty ();
9976 std::shared_ptr<tree_classdef> cdef_obj
9979 return cdef_obj->make_meta_class (interp, is_at_folder);
10008 parse_tree_validator validator;
10010 lst->
accept (validator);
10012 if (! validator.ok ())
10022 std::shared_ptr<tree_statement_list> tmp_lst (lst);
10037 parse_tree_validator validator;
10039 code->
accept (validator);
10041 if (! validator.ok ())
10056 base_parser::maybe_warn_assign_as_truth_value (
tree_expression *expr)
10063 (
"Octave:assign-as-truth-value",
10064 "suggest parenthesis around assignment used as truth value");
10067 (
"Octave:assign-as-truth-value",
10068 "suggest parenthesis around assignment used as truth value near line %d, column %d in file '%s'",
10076 base_parser::maybe_warn_variable_switch_label (
tree_expression *expr)
10082 "variable switch label");
10085 (
"Octave:variable-switch-label",
10086 "variable switch label near line %d, column %d in file '%s'",
10100 (
"Octave:missing-semicolon",
10101 "missing semicolon near line %d, column %d in file '%s'",
10108 std::string& full_file)
10110 std::string retval;
10114 std::string file = full_file;
10116 std::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"))
10122 file = sys::env::base_pathname (file);
10123 file = file.substr (0, file.find_last_of (
'.'));
10126 if (pos != std::string::npos)
10127 file = file.substr (pos+1);
10130 if (! file.empty ())
10134 symbol_found =
true;
10138 false,
false,
false);
10161 const std::string& dir_name,
10162 const std::string& dispatch_type,
10163 const std::string& package_name,
10164 const std::string& fcn_name,
bool autoload)
10170 std::string nm = file_name;
10172 std::size_t nm_len = nm.length ();
10176 bool relative_lookup =
false;
10180 if ((nm_len > 4 && nm.substr (nm_len-4) ==
".oct")
10181 || (nm_len > 4 && nm.substr (nm_len-4) ==
".mex")
10182 || (nm_len > 2 && nm.substr (nm_len-2) ==
".m"))
10184 nm = sys::env::base_pathname (file);
10185 nm = nm.substr (0, nm.find_last_of (
'.'));
10188 if (pos != std::string::npos)
10189 nm = nm.substr (pos+1);
10192 relative_lookup = ! sys::env::absolute_pathname (file);
10194 file = sys::env::make_absolute (file);
10196 int len = file.length ();
10202 if (
len > 4 && file.substr (
len-4,
len-1) ==
".oct")
10204 if (autoload && ! fcn_name.empty ())
10208 = dyn_loader.
load_oct (nm, file, relative_lookup);
10216 else if (
len > 4 && file.substr (
len-4,
len-1) ==
".mex")
10221 std::string doc_string;
10225 dispatch_type, package_name,
false,
10226 autoload, autoload, relative_lookup);
10237 = dyn_loader.
load_mex (nm, file, relative_lookup);
10250 dispatch_type, package_name,
true,
10251 autoload, autoload, relative_lookup);
10297 int nargin = args.length ();
10299 if (nargin == 1 || nargin > 3)
10312 else if (nargin == 3)
10314 if (argv[3] !=
"remove")
10316 "autoload: third argument can only be 'remove'");
10344 int nargin = args.length ();
10352 opt = args(0).xstring_value (
"mfilename: option argument must be a string");
10363 bool verbose,
bool require_file)
10367 interp.
source_file (file_name, context, verbose, require_file);
10386 int nargin = args.length ();
10388 if (nargin < 1 || nargin > 2)
10391 std::string file_name
10392 = args(0).xstring_value (
"source: FILE must be a string");
10394 std::string context;
10396 context = args(1).xstring_value (
"source: CONTEXT must be a string");
10398 interp.source_file (file_name, context);
10417 return interp.
feval (name, args, nargout);
10425 return interp.
feval (name, args, nargout);
10433 return interp.
feval (fcn, args, nargout);
10441 return interp.
feval (val, args, nargout);
10449 return interp.
feval (args, nargout);
10492 if (args.length () == 0)
10495 return interp.feval (args, nargout);
10498 DEFMETHOD (builtin, interp, args, nargout,
10526 if (args.length () == 0)
10529 const std::string name (args(0).xstring_value (
"builtin: function name (F) must be a string"));
10536 retval = interp.feval (fcn.
function_value (), args.splice (0, 1), nargout);
10538 error (
"builtin: lookup for symbol '%s' failed", name.c_str ());
10543 DEFMETHOD (eval, interp, args, nargout,
10583 int nargin = args.length ();
10585 if (nargin < 1 || nargin > 2)
10588 if (! args(0).is_string () || args(0).rows () > 1 || args(0).ndims () != 2)
10589 error (
"eval: TRY must be a string");
10591 std::string try_code = args(0).string_value ();
10594 return interp.eval (try_code, nargout);
10597 if (! args(1).is_string () || args(1).rows () > 1
10598 || args(1).ndims () != 2)
10599 error (
"eval: CATCH must be a string");
10601 std::string catch_code = args(1).string_value ();
10603 return interp.eval (try_code, catch_code, nargout);
10667 if (args.length () != 3)
10670 std::string context
10671 = args(0).xstring_value (
"assignin: CONTEXT must be a string");
10673 std::string varname
10674 = args(1).xstring_value (
"assignin: VARNAME must be a string");
10676 interp.assignin (context, varname, args(2));
10687 DEFMETHOD (evalin, interp, args, nargout,
10696 int nargin = args.length ();
10698 if (nargin < 2 || nargin > 3)
10701 std::string context
10702 = args(0).xstring_value (
"evalin: CONTEXT must be a string");
10704 std::string try_code
10705 = args(1).xstring_value (
"evalin: TRY must be a string");
10709 std::string catch_code
10710 = args(2).xstring_value (
"evalin: CATCH must be a string");
10712 return interp.evalin (context, try_code, catch_code, nargout);
10715 return interp.evalin (context, try_code, nargout);
10718 DEFMETHOD (evalc, interp, args, nargout,
10747 int nargin = args.length ();
10749 if (nargin == 0 || nargin > 2)
10756 std::cerr.flush ();
10758 std::stringbuf buffer;
10760 std::streambuf *old_out_buf =
octave_stdout.rdbuf (&buffer);
10761 std::streambuf *old_err_buf = std::cerr.rdbuf (&buffer);
10772 std::cerr.rdbuf (old_err_buf);
10777 int eval_nargout =
std::max (0, nargout - 1);
10784 std::cerr.flush ();
10786 retval.
prepend (buffer.str ());
10875 DEFUN (__parser_debug_flag__, args, nargout,
10889 "__parser_debug_flag__");
10896 DEFMETHOD (__parse_file__, interp, args, ,
10904 int nargin = args.
length ();
10906 if (nargin < 1 || nargin > 2)
10910 = args(0).xstring_value (
"__parse_file__: expecting filename as argument");
10914 full_file = sys::env::make_absolute (full_file);
10916 std::string dir_name;
10918 std::size_t file_len = file.length ();
10920 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
10921 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
10922 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
10924 file = sys::env::base_pathname (file);
10925 file = file.substr (0, file.find_last_of (
'.'));
10928 if (pos != std::string::npos)
10930 dir_name = file.substr (0, pos);
10931 file = file.substr (pos+1);
10939 =
parse_fcn_file (interp, full_file, file, dir_name,
"",
"",
true,
10940 false,
false,
false);
10945 OCTAVE_END_NAMESPACE(
octave)
octave_value_list Feval(octave::interpreter &, const octave_value_list &=octave_value_list(), int=0)
charNDArray max(char d, const charNDArray &m)
std::string message() const
bool at_end_of_buffer() const
comment_buffer m_comment_buf
bool input_from_tmp_history_file()
virtual bool input_from_terminal() const
comment_list * get_comment()
virtual bool input_from_eval_string() const
std::size_t length() const
void append(const elt_type &s)
std::list< tree_decl_elt * >::iterator iterator
iterator erase(iterator pos)
tree_argument_list * append_argument_list(tree_argument_list *list, tree_expression *expr)
tree_arg_validation * make_arg_validation(tree_arg_size_spec *size_spec, tree_identifier *class_name, tree_arg_validation_fcns *validation_fcns, tree_expression *default_value)
tree_decl_command * make_decl_command(int tok, token *tok_val, tree_decl_init_list *lst)
std::shared_ptr< tree_statement_list > statement_list() const
std::shared_ptr< tree_statement_list > m_stmt_list
tree_classdef_attribute_list * append_classdef_attribute(tree_classdef_attribute_list *list, tree_classdef_attribute *elt)
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)
tree_cell * make_cell(tree_argument_list *row)
tree_fcn_handle * make_fcn_handle(token *tok_val)
tree_switch_command * finish_switch_command(token *switch_tok, tree_expression *expr, tree_switch_case_list *list, token *end_tok, comment_list *lc)
tree_switch_case_list * make_switch_case_list(tree_switch_case *switch_case)
void recover_from_parsing_function()
tree_argument_list * validate_matrix_for_assignment(tree_expression *e)
octave_value m_primary_fcn
tree_classdef_attribute_list * make_classdef_attribute_list(tree_classdef_attribute *attr)
tree_classdef_body * make_classdef_body(tree_classdef_properties_block *pb)
tree_expression * make_assign_op(int op, tree_argument_list *lhs, token *eq_tok, tree_expression *rhs)
tree_if_command * finish_if_command(token *if_tok, tree_if_command_list *list, token *end_tok, comment_list *lc)
parent_scope_info m_function_scopes
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)
bool validate_array_list(tree_expression *e)
tree_function_def * finish_classdef_external_method(octave_user_function *fcn, tree_parameter_list *ret_list, comment_list *cl)
base_parser(base_lexer &lxr)
tree_identifier * make_identifier(token *ident)
tree_classdef_events_list * make_classdef_events_list(tree_classdef_event *e)
tree_index_expression * make_indirect_ref(tree_expression *expr, const std::string &)
tree_matrix * append_matrix_row(tree_matrix *matrix, tree_argument_list *row)
bool finish_input(tree_statement_list *lst, bool at_eof=false)
tree_parameter_list * make_parameter_list(tree_parameter_list::in_or_out io)
tree_parameter_list * append_parameter_list(tree_parameter_list *list, tree_decl_elt *t)
tree_classdef_property * make_classdef_property(comment_list *lc, tree_identifier *id, tree_arg_validation *av)
tree_classdef_superclass_list * make_classdef_superclass_list(tree_classdef_superclass *sc)
tree_if_command_list * append_if_clause(tree_if_command_list *list, tree_if_clause *clause)
tree_command * make_return_command(token *return_tok)
octave_user_function * start_function(tree_identifier *id, tree_parameter_list *param_list, tree_statement_list *body, tree_statement *end_function, const std::string &doc_string)
tree_identifier * make_fcn_name(tree_identifier *id)
tree_cell * append_cell_row(tree_cell *cell, tree_argument_list *row)
void disallow_command_syntax()
tree_matrix * make_matrix(tree_argument_list *row)
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_binary_op(int op, tree_expression *op1, token *tok_val, tree_expression *op2)
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 *bc, comment_list *tc)
tree_decl_elt * make_decl_elt(tree_identifier *id, token *eq_op=nullptr, tree_expression *expr=nullptr)
tree_command * make_do_until_command(token *until_tok, tree_statement_list *body, tree_expression *expr, comment_list *lc)
tree_command * make_continue_command(token *continue_tok)
tree_if_clause * make_else_clause(token *else_tok, comment_list *lc, tree_statement_list *list)
tree_command * make_while_command(token *while_tok, tree_expression *expr, tree_statement_list *body, token *end_tok, comment_list *lc)
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)
std::string m_curr_class_name
tree_switch_case_list * append_switch_case(tree_switch_case_list *list, tree_switch_case *elt)
tree_classdef_property_list * append_classdef_property(tree_classdef_property_list *list, tree_classdef_property *elt)
tree_classdef_attribute * make_not_classdef_attribute(tree_identifier *id)
tree_statement * make_end(const std::string &type, bool eof, const filepos &beg_pos, const filepos &end_pos)
bool m_parsing_local_functions
tree_classdef_body * append_classdef_enum_block(tree_classdef_body *body, tree_classdef_enum_block *block)
std::string m_curr_package_name
bool m_fcn_file_from_relative_lookup
tree_args_block_attribute_list * make_args_attribute_list(tree_identifier *attribute_name)
symbol_scope m_primary_fcn_scope
tree_statement_list * make_statement_list(tree_statement *stmt)
tree_classdef_enum_list * append_classdef_enum(tree_classdef_enum_list *list, tree_classdef_enum *elt)
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)
tree_constant * make_constant(token *tok_val)
void end_token_error(token *tok, token::end_tok_type expected)
bool finish_classdef_file(tree_classdef *cls, tree_statement_list *local_fcns)
void maybe_convert_to_braindead_shortcircuit(tree_expression *&expr)
tree_metaclass_query * make_metaclass_query(token *metaquery)
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_classdef_body * append_classdef_properties_block(tree_classdef_body *body, tree_classdef_properties_block *block)
std::list< std::string > m_subfunction_names
tree_switch_case * make_switch_case(token *case_tok, tree_expression *expr, tree_statement_list *list, comment_list *lc)
tree_switch_case * make_default_switch_case(token *default_tok, comment_list *lc, tree_statement_list *list)
tree_expression * finish_matrix(tree_matrix *m, token *open_delim, token *close_delim)
tree_classdef_superclass * make_classdef_superclass(token *fqident)
void parsing_local_functions(bool flag)
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, comment_list *bc)
tree_anon_fcn_handle * make_anon_fcn_handle(tree_parameter_list *param_list, tree_expression *expr, const filepos &at_pos)
tree_command * make_break_command(token *break_tok)
tree_statement_list * append_statement_list(tree_statement_list *list, char sep, tree_statement *stmt, bool warn_missing_semi)
tree_classdef_methods_list * make_classdef_methods_list(tree_function_def *fcn_def)
tree_expression * make_prefix_op(int op, tree_expression *op1, token *tok_val)
tree_statement_list * append_function_body(tree_statement_list *body, tree_statement_list *list)
tree_classdef_enum * make_classdef_enum(tree_identifier *id, tree_expression *expr, comment_list *lc)
bool m_parsing_subfunctions
bool validate_param_list(tree_parameter_list *lst, tree_parameter_list::in_or_out type)
tree_spmd_command * make_spmd_command(token *spmd_tok, tree_statement_list *body, token *end_tok, comment_list *lc, comment_list *tc)
tree_decl_init_list * make_decl_init_list(tree_decl_elt *elt)
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)
bool validate_primary_fcn()
octave_user_function * start_classdef_external_method(tree_identifier *id, tree_parameter_list *pl)
void endfunction_found(bool flag)
tree_decl_init_list * append_decl_init_list(tree_decl_init_list *list, tree_decl_elt *elt)
void bison_error(const std::string &s)
tree_classdef_body * append_classdef_events_block(tree_classdef_body *body, tree_classdef_events_block *block)
tree_index_expression * make_index_expression(tree_expression *expr, tree_argument_list *args, char type)
tree_args_block_validation_list * append_args_validation_list(tree_args_block_validation_list *list, tree_arg_validation *arg_validation)
tree_classdef_superclass_list * append_classdef_superclass(tree_classdef_superclass_list *list, tree_classdef_superclass *elt)
tree_if_command_list * start_if_command(tree_expression *expr, tree_statement_list *list)
tree_arg_size_spec * make_arg_size_spec(tree_argument_list *size_args)
tree_expression * make_postfix_op(int op, tree_expression *op1, token *tok_val)
tree_expression * finish_array_list(tree_array_list *a, token *open_delim, token *close_delim)
tree_classdef_events_list * append_classdef_event(tree_classdef_events_list *list, tree_classdef_event *elt)
tree_if_clause * make_elseif_clause(token *elseif_tok, tree_expression *expr, tree_statement_list *list, comment_list *lc)
tree_statement_list * set_stmt_print_flag(tree_statement_list *, char, bool)
std::shared_ptr< tree_classdef > m_classdef_object
tree_expression * finish_cell(tree_cell *c, token *open_delim, token *close_delim)
tree_arguments_block * make_arguments_block(token *arguments_tok, tree_args_block_attribute_list *attr_list, tree_args_block_validation_list *validation_list, token *end_tok, comment_list *lc, comment_list *tc)
tree_classdef_methods_list * append_classdef_method(tree_classdef_methods_list *list, tree_function_def *fcn_def)
tree_classdef_body * append_classdef_methods_block(tree_classdef_body *body, tree_classdef_methods_block *block)
tree_expression * make_boolean_op(int op, tree_expression *op1, token *tok_val, tree_expression *op2)
tree_expression * make_colon_expression(tree_expression *base, tree_expression *limit, tree_expression *incr=nullptr)
tree_superclass_ref * make_superclass_ref(token *superclassref)
tree_classdef_enum_list * make_classdef_enum_list(tree_classdef_enum *e)
void make_script(tree_statement_list *cmds, tree_statement *end_script)
tree_argument_list * make_argument_list(tree_expression *expr)
void classdef_object(const std::shared_ptr< tree_classdef > &obj)
tree_args_block_validation_list * make_args_validation_list(tree_arg_validation *arg_validation)
tree_classdef_property_list * make_classdef_property_list(tree_classdef_property *prop)
tree_classdef_attribute * make_classdef_attribute(tree_identifier *id, tree_expression *expr=nullptr)
tree_classdef_event * make_classdef_event(comment_list *lc, tree_identifier *id)
tree_arg_validation_fcns * make_arg_validation_fcns(tree_argument_list *fcn_args)
std::string m_parse_error_msg
bool end_token_ok(token *tok, token::end_tok_type expected)
tree_statement * make_statement(T *arg)
tree_black_hole * make_black_hole()
tree_function_def * finish_function(tree_parameter_list *ret_list, octave_user_function *fcn, comment_list *lc, int l, int c)
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)
void set_discard_warning_messages(bool flag)
void set_last_warning_message(const std::string &val)
octave_value discard_warning_messages(const octave_value_list &args, int nargout)
octave_value last_warning_message(const octave_value_list &args, int nargout)
void source_file(const std::string &file_name, const std::string &context="", bool verbose=false, bool require_file=true)
dynamic_loader & get_dynamic_loader()
symbol_table & get_symbol_table()
input_system & get_input_system()
octave_value PS1(const octave_value_list &args, int nargout)
tree_evaluator & get_evaluator()
error_system & get_error_system()
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.
void recover_from_exception()
octave_value PS2(const octave_value_list &args, int nargout)
bool input_from_eval_string() const
symbol_scope curr_scope() const
symbol_scope parent_scope() const
void push(const symbol_scope &scope)
bool m_looking_at_parameter_list
bool m_reading_classdef_file
bool m_looking_at_anon_fcn_args
std::string m_package_name
void mark_as_variables(const std::list< std::string > &lst)
bool m_arguments_is_keyword
std::string m_current_input_line
bool m_allow_command_syntax
bool m_parsing_classdef_set_method
bool m_parsing_anon_fcn_body
std::stack< bool > m_parsed_function_name
bool m_at_beginning_of_statement
std::string m_fcn_file_full_name
bool m_looking_at_return_list
bool m_parsing_classdef_get_method
bool m_parsing_classdef_decl
bool m_looking_at_matrix_or_assign_lhs
bool m_parsing_classdef_superclass
bool m_looking_for_object_index
interpreter & m_interpreter
bbp_nesting_level m_nesting_level
bool m_reading_script_file
bool m_classdef_element_names_are_keywords
std::string m_function_text
std::string m_fcn_file_name
bool m_looking_at_decl_list
symbol_table_context m_symtab_context
bool m_parsing_class_method
bool m_buffer_function_text
void mark_as_variable(const std::string &nm)
bool m_maybe_classdef_get_set_method
bool m_looking_at_indirect_ref
int m_looking_at_function_handle
virtual std::string doc_string(const std::string &="") const
virtual void maybe_relocate_end()
void document(const std::string &ds)
void stash_dir_name(const std::string &dir)
void stash_dispatch_class(const std::string &nm)
void stash_package_name(const std::string &pack)
virtual void accept(octave::tree_walker &)
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)
octave::symbol_scope scope()
std::string fcn_file_name() const
void cache_function_text(const std::string &text, const octave::sys::time ×tamp)
octave::tree_statement_list * body()
void stash_fcn_file_time(const octave::sys::time &t)
octave::sys::time time_parsed() const
void stash_trailing_comment(octave::comment_list *tc)
void stash_function_name(const std::string &s)
void mark_as_system_fcn_file()
octave_user_function * define_ret_list(octave::tree_parameter_list *t)
void mark_as_classdef_method()
octave_user_function * user_function_value(bool=false)
int beginning_column() const
void accept(octave::tree_walker &tw)
void mark_as_legacy_constructor()
void mark_as_legacy_method()
int beginning_line() const
void stash_leading_comment(octave::comment_list *lc)
std::map< std::string, octave_value > subfunctions() const
void stash_fcn_location(int line, int col)
void mark_as_subfunction()
void stash_fcn_end_location(int line, int col)
void mark_as_classdef_constructor()
void mark_as_nested_function()
octave_value_list & prepend(const octave_value &val)
octave_user_function * user_function_value(bool silent=false) const
octave_user_code * user_code_value(bool silent=false) const
octave_function * function_value(bool silent=false) const
octave_idx_type length() const
void cache_fcn_name(const std::string &name)
static symbol_scope anonymous()
void mark_primary_fcn_scope()
static symbol_scope invalid()
void set_parent(const symbol_scope &p)
void install_subfunction(const std::string &name, const octave_value &fval)
symbol_record insert(const std::string &name)
void cache_fcn_file_name(const std::string &name)
void set_nesting_depth(std::size_t depth)
void set_primary_parent(const symbol_scope &p)
void cache_name(const std::string &name)
void install_nestfunction(const std::string &name, const octave_value &fval, const symbol_scope &fcn_scope)
void cache_dir_name(const std::string &name)
octave_value builtin_find(const std::string &name, const symbol_scope &search_scope=symbol_scope::invalid())
void install_local_function(const std::string &name, const octave_value &fcn, const std::string &file_name)
std::string text_rep() const
std::string superclass_class_name() const
end_tok_type ettype() const
std::string superclass_method_name() const
octave_value number() const
void accept(tree_walker &tw)
tree_identifier * class_name()
void arg_name(tree_expression *name)
tree_arg_validation_fcns * validation_fcns()
tree_arg_size_spec * size_spec()
tree_expression * remove_front()
std::list< std::string > variable_names() const
bool is_valid_lvalue_list() const
void mark_as_simple_assign_lhs()
bool has_magic_tilde() const
bool is_simple_assign_lhs()
void accept(tree_walker &tw)
bool all_elements_are_constant() const
octave_value::binary_op op_type() const
void doc_string(const std::string &txt)
bool have_doc_string() const
void accept(tree_walker &tw)
octave_value evaluate(tree_evaluator &, int nargout=1)
void accept(tree_walker &tw)
void stash_original_text(const std::string &s)
tree_identifier * ident()
std::list< std::string > variable_names() const
void add_autoload(const std::string &fcn, const std::string &nm)
void remove_autoload(const std::string &fcn, const std::string &nm)
octave_map get_autoload_map() const
virtual octave_value evaluate(tree_evaluator &tw, int nargout=1)=0
virtual bool is_binary_expression() const
virtual bool is_identifier() const
tree_expression * set_postfix_index(char type)
bool is_postfix_indexed() const
virtual bool is_constant() const
void mark_as_for_cmd_expr()
virtual bool is_index_expression() const
tree_expression * set_print_flag(bool print)
virtual std::string name() const
virtual bool is_matrix() const
virtual bool is_assignment_expression() const
void accept(tree_walker &tw)
virtual bool is_black_hole() const
bool is_word_list_cmd() const
tree_index_expression * append(tree_argument_list *lst=nullptr, char t='(')
void mark_as_formal_parameters()
void accept(tree_walker &tw)
void set_print_flag(bool print_flag)
comment_list * comment_text()
bool is_expression() const
void set_expression(tree_expression *e)
bool is_null_statement() const
tree_expression * expression()
virtual void visit_index_expression(tree_index_expression &)
virtual void visit_octave_user_script(octave_user_script &)
virtual void visit_octave_user_function(octave_user_function &)
virtual int column() const
void set_location(int l, int c)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
#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,...)
void message(const char *name, const char *fmt,...)
#define panic_impossible()
std::string dir_sep_str()
std::string dir_sep_chars()
interpreter & __get_interpreter__()
bool iskeyword(const std::string &s)
std::FILE * fopen(const std::string &filename, const std::string &mode)
std::ifstream ifstream(const std::string &filename, const std::ios::openmode mode)
std::string tilde_expand(const std::string &name)
std::string get_help_from_file(const std::string &nm, bool &symbol_found)
octave_value_list feval(const octave_value_list &args, int nargout)
octave_value set_internal_variable(bool &var, const octave_value_list &args, int nargout, const char *nm)
#define OCTAVE_YYUSE(...)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
@ YYSYMBOL_param_list_beg
@ YYSYMBOL_anon_fcn_begin
@ YYSYMBOL_properties_block
@ YYSYMBOL_function_body1
@ YYSYMBOL_class_property
@ YYSYMBOL_enumeration_beg
@ YYSYMBOL_property_list1
@ YYSYMBOL_at_first_executable_stmt
@ YYSYMBOL_superclass_list1
@ YYSYMBOL_push_fcn_symtab
@ YYSYMBOL_parsing_local_fcns
@ YYSYMBOL_args_validation_list
@ YYSYMBOL_indirect_ref_op
@ YYSYMBOL_cell_or_matrix_row
@ YYSYMBOL_properties_beg
@ YYSYMBOL_args_attr_list
@ YYSYMBOL_superclass_identifier
@ YYSYMBOL_superclass_list
@ YYSYMBOL_switch_command
@ YYSYMBOL_opt_param_list
@ YYSYMBOL_arguments_block
@ YYSYMBOL_param_list_end
@ YYSYMBOL_decl_init_list
@ YYSYMBOL_param_list_elt
@ YYSYMBOL_select_command
@ YYSYMBOL_push_script_symtab
@ YYSYMBOL_meta_identifier
@ YYSYMBOL_except_command
@ YYSYMBOL_arg_validation
@ YYSYMBOL_validation_fcns
@ YYSYMBOL_anon_fcn_handle
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_USELESS_CAST_END
int octave_pull_parse(octave_pstate *yyps, octave::base_parser &parser)
int octave_push_parse(octave_pstate *yyps, int yypushed_char, OCTAVE_STYPE const *yypushed_val, octave::base_parser &parser)
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
#define YY_INITIAL_VALUE(Value)
unsigned char yytype_uint8
#define YY_STACK_PRINT(Bottom, Top)
#define YY_IGNORE_USELESS_CAST_BEGIN
#define yytable_value_is_error(Yyn)
#define YY_ATTRIBUTE_UNUSED
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)
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 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)
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=false)
void source_file(const std::string &file_name, const std::string &context="", bool verbose=false, bool require_file=true)
tree_binary_expression * maybe_compound_binary_expression(tree_expression *a, tree_expression *b, int l, int c, octave_value::binary_op t)
std::string undo_string_escapes(const std::string &s)
std::string fcn_file_in_path(const std::string &)