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)
110 #include "builtin-defun-decls.h"
146 #define lexer (parser.get_lexer ())
147 #define scanner lexer.m_scanner
155 #define OCTAVE_YYUSE(X, ...)
157 #if defined (HAVE_PRAGMA_GCC_DIAGNOSTIC)
162 # pragma GCC diagnostic push
163 # pragma GCC diagnostic ignored "-Wold-style-cast"
167 #line 168 "libinterp/parse-tree/oct-parse.cc"
171 # define YY_CAST(Type, Val) static_cast<Type> (Val)
172 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
174 # define YY_CAST(Type, Val) ((Type) (Val))
175 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
179 # if defined __cplusplus
180 # if 201103L <= __cplusplus
181 # define YY_NULLPTR nullptr
183 # define YY_NULLPTR 0
186 # define YY_NULLPTR ((void*)0)
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 574
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, 1662, 1671, 1677, 1687, 1693, 1699, 1707, 1725,
814 1733, 1734, 1748, 1753, 1766, 1770, 1781, 1782, 1795, 1796,
815 1802, 1803, 1816, 1817, 1829, 1847, 1867, 1868, 1876, 1878,
816 1886, 1888, 1894, 1900, 1909, 1915, 1927, 1933, 1941, 1946,
817 1950, 1959, 1961, 1963, 1965, 1967, 1973, 1979, 1985, 1994,
818 2011, 2019, 2023, 2033, 2035, 2066, 2070, 2087, 2094, 2099,
819 2106, 2109, 2108, 2124, 2126, 2131, 2135, 2144, 2146, 2154,
820 2171, 2179, 2183, 2192, 2194, 2202, 2206, 2223, 2231, 2235,
821 2244, 2246, 2254, 2267, 2274, 2282, 2285, 2291, 2295, 2301,
822 2307, 2313, 2322, 2323, 2328, 2329, 2333, 2339, 2347, 2353,
823 2359, 2365, 2371, 2377, 2386, 2387
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 (-453)
894 #define yypact_value_is_default(Yyn) \
895 ((Yyn) == YYPACT_NINF)
897 #define YYTABLE_NINF (-316)
899 #define yytable_value_is_error(Yyn) \
906 748, -453, 610, 610, 610, 610, 549, 1160, 1160, 40,
907 -453, -453, 610, 610, -453, -453, -453, -453, -453, -453,
908 -453, -453, -453, -453, -453, -453, -453, -453, -453, -453,
909 38, 38, -453, -453, -453, -453, 58, -11, 86, -453,
910 -453, 124, -453, -453, -453, -453, -453, -453, -453, -453,
911 -453, 726, -453, 844, 919, -453, -453, -453, -453, -453,
912 -453, -453, -453, -453, -453, -453, 42, 69, 111, -453,
913 -453, -453, -453, 166, -453, -453, 198, 198, 198, 198,
914 184, -453, 610, 1336, 41, -453, -453, -453, 195, -453,
915 156, -453, -453, 25, -453, 198, 198, 1400, 1416, 549,
916 183, 183, 549, 549, 183, 183, 228, 38, -453, 38,
917 -453, -453, -453, 920, -453, 124, -453, 610, 610, 610,
918 610, 610, 1176, 1240, -453, 610, 610, 610, 610, -453,
919 -453, -453, -453, 1480, 1480, 33, 610, 610, 610, 610,
920 610, 610, 610, 610, 610, 610, 549, 549, 549, 549,
921 549, 549, 549, 549, 549, 549, 549, 549, 549, -453,
922 -453, -453, 1000, 213, 20, -453, -453, -453, 216, -453,
923 1160, 1336, -453, 1160, -453, -453, -453, -453, 225, 219,
924 -453, 484, 549, 351, 237, 549, 238, -453, -453, -453,
925 -453, 187, 1080, 1080, -453, 199, 143, 183, 1080, 1080,
926 549, -453, -453, -453, 1501, 1569, 1569, 198, 198, -453,
927 45, -453, 98, 198, 198, 198, 198, 1480, 1480, 1480,
928 1480, 1480, 1480, -453, 39, 39, 549, -453, 550, 397,
929 251, 408, -453, -453, -453, -453, -453, -453, -453, -453,
930 -453, -453, -453, -453, -453, -453, -453, -453, -453, -453,
931 -453, -453, 149, -453, 183, -453, -453, -453, -453, 18,
932 241, 245, 267, 271, 40, 1336, -453, -453, -453, -453,
933 -453, -453, -453, 31, -453, -453, 931, 549, 999, 549,
934 183, -453, -453, -453, 211, 222, 183, -453, -453, -453,
935 -453, -453, 146, 204, 74, -453, 610, -453, 1336, -453,
936 39, 39, 39, 39, 39, 39, 1256, 1320, -453, -453,
937 36, 270, -453, 840, -453, 272, 183, -453, -453, 139,
938 38, 38, 60, 183, -453, -453, 549, -453, 549, -453,
939 1080, 549, -453, 1080, 183, 183, -453, -453, 227, 146,
940 -453, -453, -453, -453, -453, 1558, -453, 130, -453, 154,
941 549, -453, -453, -453, 26, 38, 193, -453, 38, -453,
942 -453, -453, 40, 203, 274, 183, 290, 183, 253, -453,
943 -453, 549, 1080, 183, 183, -453, -453, -453, 183, 183,
944 -453, -453, 299, 38, 38, 311, 142, -453, 183, 221,
945 -453, 183, -453, -453, 183, -453, 6, 1080, 183, -453,
946 -453, 183, 1080, 549, 1080, -453, -453, -453, 549, 1080,
947 1080, 1080, -453, -453, -453, 549, 183, 26, 279, -453,
948 193, 203, -453, -453, -453, -453, 203, 183, 1080, 266,
949 306, 268, 183, -453, -453, 269, 275, -453, -453, -453,
950 235, 105, 148, -453, 6, 1080, -453, 316, 277, -453,
951 183, -453, 1080, 183, -453, -453, -453, -453, -453, -453,
952 -453, -453, 281, 183, -453, -453, -453, -453, -453, -453,
953 -453, -453, 235, -453, -453, -453, 38, 38, -453, 1080,
954 -453, 1080, -453, 105, 183, 183, 183, 183, -453, 317,
955 -453, 183, 320, 282, -453, -453, -453, -453, -453, 272,
956 272, 272, 272, -453, 104, 283, 1336, -453, 38, -453,
957 286, -19, 286, 286, 320, -453, 144, -453, 313, 287,
958 183, -453, 38, -453, -453, -453, 288, 183, 30, 293,
959 183, -453, 38, 295, 183, -453, 38, -453, -453, 1336,
960 344, -453, 51, -453, 320, -453, -15, 101, 350, -453,
961 -453, 286, -453, -453, 286, 345, 161, 549, -453, -453,
962 -453, -453, -453, -453, -453, -453, 549, -453, -453, 38,
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, 215, 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, 219, 0, 9, 314, 216,
1011 295, 314, 9, 0, 9, 169, 293, 159, 0, 9,
1012 9, 9, 99, 242, 243, 0, 314, 0, 244, 204,
1013 16, 215, 209, 210, 211, 213, 215, 314, 9, 0,
1014 0, 0, 314, 293, 168, 0, 0, 241, 237, 239,
1015 0, 249, 314, 18, 0, 9, 217, 220, 0, 171,
1016 314, 173, 9, 314, 179, 180, 248, 246, 260, 267,
1017 280, 287, 0, 314, 251, 295, 252, 295, 253, 295,
1018 254, 295, 0, 245, 212, 214, 0, 0, 172, 9,
1019 158, 9, 235, 250, 314, 314, 314, 314, 247, 0,
1020 224, 314, 226, 0, 167, 255, 256, 257, 258, 236,
1021 236, 236, 236, 221, 315, 0, 0, 222, 228, 174,
1022 261, 295, 281, 288, 226, 218, 0, 229, 230, 0,
1023 314, 263, 0, 274, 273, 277, 0, 314, 0, 0,
1024 314, 283, 0, 0, 314, 290, 0, 223, 227, 0,
1025 232, 259, 295, 262, 226, 266, 295, 268, 0, 270,
1026 279, 282, 285, 286, 289, 0, 0, 0, 225, 264,
1027 265, 278, 269, 271, 284, 291, 0, 231, 233, 0,
1034 -453, -453, -453, -453, -133, -453, -453, -453, -453, -453,
1035 2, -453, -453, 0, -453, -453, -12, -453, -453, -453,
1036 -453, -453, 8, -453, -453, -81, -163, -86, -74, -157,
1037 1, -122, -453, 163, -52, -453, 72, -453, -453, 326,
1038 -68, -453, -453, -453, -453, -453, -453, -453, -453, -453,
1039 21, 22, -453, -453, -453, -453, -453, -453, -453, 5,
1040 -8, -453, -453, 90, -164, -453, -453, -453, -453, -453,
1041 -453, 46, -75, -345, -50, -53, -453, -51, -453, -453,
1042 -453, -130, -452, -453, -453, -453, -453, -453, -453, -234,
1043 -453, -41, -453, -453, -95, -453, -453, -103, -453, -453,
1044 -453, -161, -101, -453, -174, -453, -453, -150, -453, -453,
1045 -82, -453, -453, -453, -146, -77, -453, -453, -453, -147,
1046 -170, -453, -1, -453, 370, 374, -453, -453, -239, 261
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, 424, 71, 396, 397, 398, 399, 400, 477,
1060 491, 492, 507, 508, 518, 540, 558, 256, 257, 355,
1061 386, 387, 441, 442, 457, 462, 463, 464, 465, 519,
1062 520, 521, 466, 467, 549, 524, 569, 525, 526, 527,
1063 468, 469, 529, 530, 531, 470, 471, 533, 534, 535,
1064 280, 181, 522, 72, 73, 74, 162, 163, 191, 192
1072 41, 94, 39, 76, 77, 78, 79, 176, 267, 168,
1073 111, 392, 225, 95, 96, 313, 91, 97, 98, 99,
1074 100, 101, 102, 103, 286, 177, 174, 104, 105, 116,
1075 106, 106, 317, 259, 175, 383, 384, -189, -275, 201,
1076 175, 201, -276, 259, 226, 184, 186, 350, 210, 212,
1077 306, 92, 223, 223, 307, 169, 124, 297, 110, 284,
1078 285, 170, 537, 422, 298, 293, 294, 310, 310, 164,
1079 281, 282, 283, -182, 15, 443, 15, -182, 80, 89,
1080 89, 15, 15, 78, 112, 268, 15, 15, 227, 308,
1081 309, 351, 560, 106, 15, 300, 301, 302, 303, 304,
1082 305, 423, 267, 203, -196, 10, 11, 106, -315, 106,
1083 260, 261, 92, 41, 299, 202, 15, 298, 204, 205,
1084 206, 207, 208, 281, 282, 283, 213, 214, 215, 216,
1085 276, 343, 161, 278, 159, 267, 223, 223, 223, 223,
1086 223, 223, 380, 310, 310, 310, 310, 310, 310, 298,
1087 260, 261, 344, 357, 416, 89, 538, 365, 358, 367,
1088 15, 417, 41, 298, 262, 160, 523, 188, 189, 190,
1089 381, 187, 172, 298, 194, 197, 173, 567, 266, 268,
1090 298, 270, 16, 17, 472, 165, 166, 176, 458, 459,
1091 460, 461, 41, 41, 89, 89, 167, 368, 41, 41,
1092 370, 523, 188, 189, 190, 177, 281, 282, 283, 122,
1093 288, 289, 268, 123, 171, 124, 336, 337, 238, 239,
1094 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1095 250, 200, 347, 349, 258, 265, 432, 271, 273, 407,
1096 277, 279, 89, 269, 312, 89, 129, 130, 131, 132,
1097 133, 134, 504, 275, 80, 315, 287, 80, 320, 318,
1098 183, 183, 321, 453, 425, 510, 511, 512, 513, 429,
1099 -196, 431, 295, 106, 322, 331, 434, 435, 436, 332,
1100 342, 542, 352, 354, 375, -182, 401, 334, 335, 140,
1101 141, 142, 143, 144, 145, 448, 395, 345, 311, 228,
1102 229, 230, 231, 232, 233, 234, 235, 236, 237, 403,
1103 405, 412, 475, 41, 415, 353, 419, 440, 450, 480,
1104 359, 360, 361, 449, 456, 451, 454, 476, 539, 503,
1105 41, 506, 455, 41, 478, 373, 374, 269, 482, 509,
1106 515, 378, -295, 379, 541, 545, 493, 557, 494, 327,
1107 550, 329, 553, 563, 385, 388, 566, 109, 393, 573,
1108 376, 377, 193, 325, 548, 198, 199, 394, 362, 474,
1109 269, 444, 41, 445, 514, 446, 439, 488, 89, 89,
1110 495, 559, 496, 413, 414, 136, 137, 138, 139, 140,
1111 141, 142, 143, 144, 145, 572, 561, 41, 364, 427,
1112 366, 497, 41, 369, 41, 564, 498, 565, 113, 41,
1113 41, 41, 114, 0, 0, 0, 0, 385, 0, 0,
1114 0, 0, 382, 0, 0, 0, 0, 0, 41, 0,
1115 0, 136, 516, 138, 139, 140, 141, 142, 143, 144,
1116 145, 0, 0, 406, 138, 41, 140, 141, 142, 143,
1117 144, 145, 41, 0, 0, 0, 0, 0, 292, 0,
1118 0, 0, 0, 0, 484, 556, 485, 0, 486, 0,
1119 487, 0, 0, 0, 0, 430, 489, 490, 0, 41,
1120 433, 41, 0, 0, 0, 274, 0, 437, 0, 2,
1121 3, 0, 0, 4, 5, 6, 0, 7, 0, 8,
1122 0, 0, 9, 0, 490, 0, 0, 0, 517, 0,
1123 528, 532, 536, 0, 0, 314, 0, 0, 0, 0,
1124 0, 0, 544, 0, 0, 0, 0, 0, 547, 0,
1125 0, 0, 552, 0, 12, 13, 555, 0, 14, 562,
1126 15, 330, 16, 17, 0, 528, 0, 333, 0, 0,
1127 532, 0, 0, 536, 2, 3, 0, 0, 4, 5,
1128 6, 0, 7, 562, 8, 32, 0, 9, 0, 571,
1129 0, 33, 34, 0, 0, 0, 0, 356, 89, 0,
1130 0, 0, 0, 0, 363, 0, 138, 139, 140, 141,
1131 142, 143, 144, 145, 0, 371, 372, 0, 0, 12,
1132 13, 0, 0, 14, 0, 15, 0, 16, 17, 0,
1133 0, 89, 0, 0, 0, 2, 3, 0, 0, 4,
1134 5, 6, 0, 7, 0, 8, 402, 0, 404, 568,
1135 32, 0, 0, 0, 408, 409, 33, 34, 570, 410,
1136 411, 0, 0, 0, 0, 0, 0, 0, 0, 418,
1137 0, 0, 420, 0, 0, 421, 0, 0, 0, 426,
1138 12, 13, 428, 0, 14, 0, 15, 0, 16, 17,
1139 0, 0, 0, 0, 0, 0, 0, 438, 0, 0,
1140 0, 0, 0, 0, 0, 0, 0, 0, 447, 0,
1141 0, 32, 0, 452, 0, 0, 0, 33, 34, 0,
1142 0, 0, 0, 473, 0, 0, 0, 0, 0, 0,
1143 0, 479, 0, 0, 481, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 483, 0, 0, 0, 0, 0,
1145 117, 118, 119, 120, 121, 0, 0, 122, 0, 0,
1146 0, 123, 0, 124, 0, 499, 500, 501, 502, 1,
1147 0, 0, 505, 2, 3, 0, 0, 4, 5, 6,
1148 0, 7, 0, 8, 0, 0, 9, 10, 11, -302,
1149 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1150 0, 543, 0, 0, 0, 0, 0, 0, 546, 0,
1151 0, 551, 0, 0, 0, 554, 0, 0, 12, 13,
1152 0, 0, 14, 0, 15, 0, 16, 17, 18, 19,
1153 20, 21, 0, 22, 23, 0, 0, 24, 0, 0,
1154 25, 26, 27, 28, 0, 29, 0, 30, 31, 32,
1155 0, 0, 0, 0, 0, 33, 34, 0, 0, 0,
1156 -182, 0, 35, -302, -201, 2, 3, -120, 0, 4,
1157 5, 6, 0, 7, 0, 8, 0, 0, 9, 281,
1158 282, 283, 0, 0, 0, 0, -120, -120, -120, -120,
1159 -120, -120, -120, -120, -120, -120, -120, -120, 136, 137,
1160 138, 139, 140, 141, 142, 143, 144, 145, 0, 0,
1161 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1162 18, 19, 20, 21, 0, 22, 23, 0, 0, 24,
1163 0, 0, 25, 26, 27, 28, 0, 29, 0, 30,
1164 31, 32, 146, 0, 0, 2, 3, 33, 34, 4,
1165 5, 6, -182, 7, 326, 8, -201, 0, 9, 165,
1166 166, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1167 156, 157, 158, 147, 148, 149, 150, 151, 152, 153,
1168 154, 155, 156, 157, 158, 0, 0, 0, 0, 0,
1169 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1170 18, 19, 20, 21, 0, 22, 23, 0, 0, 24,
1171 0, 0, 25, 26, 27, 28, 0, 29, 0, 30,
1172 31, 32, 328, 0, 0, 2, 3, 33, 34, 4,
1173 5, 6, -182, 7, 0, 8, -201, 0, 9, 0,
1174 0, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1175 156, 157, 158, 0, 0, 0, 0, 0, 0, 0,
1176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1177 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1178 18, 19, 20, 21, 0, 22, 23, 0, 0, 24,
1179 0, 0, 25, 26, 27, 28, 0, 29, 0, 30,
1180 31, 32, 251, 0, 0, 2, 3, 33, 34, 4,
1181 5, 6, -182, 7, 0, 8, -201, 0, 9, 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, 0, 0, 0, 0, 0, 0,
1185 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1186 18, 19, 20, 21, 0, 22, 23, 0, 0, 24,
1187 0, 0, 25, 26, 27, 28, 0, 29, 0, 30,
1188 31, 32, 0, 0, 81, 2, 3, 33, 34, 82,
1189 5, 6, -182, 7, 0, 8, -201, 0, 9, 83,
1190 81, 2, 3, 0, 0, 82, 5, 6, 209, 7,
1191 0, 8, 0, 0, 9, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1193 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1194 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
1195 14, 0, 15, 0, 16, 17, 0, 0, 0, 0,
1196 0, 32, 0, 0, 81, 2, 3, 33, 34, 82,
1197 5, 6, 0, 7, 0, 8, 211, 32, 9, 0,
1198 81, 2, 3, 33, 34, 82, 5, 6, 346, 7,
1199 0, 8, 0, 0, 9, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1202 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
1203 14, 0, 15, 0, 16, 17, 0, 0, 0, 0,
1204 0, 32, 0, 0, 81, 2, 3, 33, 34, 82,
1205 5, 6, 0, 7, 0, 8, 348, 32, 9, 0,
1206 81, 2, 3, 33, 34, 82, 5, 6, 0, 7,
1207 0, 8, 0, 0, 9, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1209 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1210 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
1211 14, 0, 15, 0, 16, 17, 0, 0, 0, 0,
1212 0, 32, 0, 0, 0, 2, 3, 33, 34, 4,
1213 5, 182, 0, 7, 0, 8, 0, 32, 0, 0,
1214 0, 2, 3, 33, 34, 4, 5, 185, 0, 7,
1215 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1217 12, 13, 0, 0, 14, 0, 15, 0, 16, 17,
1218 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
1219 14, 0, 15, 0, 16, 17, 0, 0, 0, 0,
1220 0, 32, 0, 0, 0, 217, 218, 33, 34, 219,
1221 220, 6, 0, 7, 0, 8, 0, 32, 0, 0,
1222 0, 0, 0, 33, 34, 296, 118, 119, 120, 121,
1223 0, 0, 122, 0, 0, 0, 123, 0, 124, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225 221, 222, 0, 0, 14, 0, 15, 0, 16, 17,
1226 0, 0, 0, 0, 0, 125, 126, 127, 128, 129,
1227 130, 131, 132, 133, 134, 0, 0, 0, 0, 0,
1228 0, 32, 0, 118, 119, 120, 121, 33, 34, 122,
1229 0, 0, 0, 123, 0, 124, 120, 121, 0, 0,
1230 122, 0, 0, 0, 123, 0, 124, 0, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1232 0, 0, 125, 126, 127, 128, 129, 130, 131, 132,
1233 133, 134, 0, 125, 126, 127, 128, 129, 130, 131,
1239 0, 9, 0, 2, 3, 4, 5, 93, 171, 83,
1240 21, 356, 134, 12, 13, 254, 8, 18, 19, 20,
1241 21, 22, 23, 24, 194, 93, 1, 28, 29, 41,
1242 30, 31, 14, 13, 9, 9, 10, 12, 57, 107,
1243 9, 109, 57, 13, 11, 97, 98, 11, 122, 123,
1244 11, 11, 133, 134, 15, 14, 17, 12, 0, 192,
1245 193, 20, 514, 57, 19, 198, 199, 224, 225, 70,
1246 19, 20, 21, 92, 56, 420, 56, 92, 6, 7,
1247 8, 56, 56, 82, 95, 171, 56, 56, 55, 50,
1248 51, 55, 544, 93, 56, 217, 218, 219, 220, 221,
1249 222, 95, 265, 115, 3, 19, 20, 107, 57, 109,
1250 90, 91, 11, 113, 16, 113, 56, 19, 117, 118,
1251 119, 120, 121, 19, 20, 21, 125, 126, 127, 128,
1252 182, 57, 21, 185, 92, 298, 217, 218, 219, 220,
1253 221, 222, 12, 300, 301, 302, 303, 304, 305, 19,
1254 90, 91, 78, 14, 12, 83, 12, 327, 19, 329,
1255 56, 19, 162, 19, 164, 96, 511, 19, 20, 21,
1256 16, 99, 16, 19, 102, 103, 20, 16, 170, 265,
1257 19, 173, 58, 59, 36, 19, 20, 273, 83, 84,
1258 85, 86, 192, 193, 122, 123, 12, 330, 198, 199,
1259 333, 546, 19, 20, 21, 273, 19, 20, 21, 11,
1260 67, 68, 298, 15, 19, 17, 70, 71, 146, 147,
1261 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1262 158, 3, 306, 307, 21, 19, 406, 12, 19, 372,
1263 3, 3, 170, 171, 95, 173, 48, 49, 50, 51,
1264 52, 53, 491, 181, 182, 256, 57, 185, 17, 259,
1265 97, 98, 17, 433, 397, 499, 500, 501, 502, 402,
1266 3, 404, 200, 273, 3, 64, 409, 410, 411, 57,
1267 76, 520, 12, 11, 57, 92, 12, 288, 289, 38,
1268 39, 40, 41, 42, 43, 428, 93, 296, 226, 136,
1269 137, 138, 139, 140, 141, 142, 143, 144, 145, 19,
1270 57, 12, 445, 313, 3, 313, 95, 38, 12, 452,
1271 320, 321, 322, 57, 89, 57, 57, 11, 15, 12,
1272 330, 11, 57, 333, 57, 336, 337, 265, 57, 57,
1273 57, 342, 56, 344, 57, 57, 479, 3, 481, 277,
1274 57, 279, 57, 3, 354, 355, 11, 31, 358, 12,
1275 339, 339, 101, 273, 528, 104, 105, 362, 322, 444,
1276 298, 421, 372, 426, 504, 426, 417, 472, 306, 307,
1277 483, 542, 483, 383, 384, 34, 35, 36, 37, 38,
1278 39, 40, 41, 42, 43, 569, 546, 397, 326, 400,
1279 328, 483, 402, 331, 404, 551, 483, 554, 38, 409,
1280 410, 411, 38, -1, -1, -1, -1, 417, -1, -1,
1281 -1, -1, 350, -1, -1, -1, -1, -1, 428, -1,
1282 -1, 34, 506, 36, 37, 38, 39, 40, 41, 42,
1283 43, -1, -1, 371, 36, 445, 38, 39, 40, 41,
1284 42, 43, 452, -1, -1, -1, -1, -1, 197, -1,
1285 -1, -1, -1, -1, 465, 539, 467, -1, 469, -1,
1286 471, -1, -1, -1, -1, 403, 476, 477, -1, 479,
1287 408, 481, -1, -1, -1, 1, -1, 415, -1, 5,
1288 6, -1, -1, 9, 10, 11, -1, 13, -1, 15,
1289 -1, -1, 18, -1, 504, -1, -1, -1, 508, -1,
1290 511, 512, 513, -1, -1, 254, -1, -1, -1, -1,
1291 -1, -1, 522, -1, -1, -1, -1, -1, 528, -1,
1292 -1, -1, 532, -1, 50, 51, 536, -1, 54, 547,
1293 56, 280, 58, 59, -1, 546, -1, 286, -1, -1,
1294 551, -1, -1, 554, 5, 6, -1, -1, 9, 10,
1295 11, -1, 13, 571, 15, 81, -1, 18, -1, 569,
1296 -1, 87, 88, -1, -1, -1, -1, 316, 506, -1,
1297 -1, -1, -1, -1, 323, -1, 36, 37, 38, 39,
1298 40, 41, 42, 43, -1, 334, 335, -1, -1, 50,
1299 51, -1, -1, 54, -1, 56, -1, 58, 59, -1,
1300 -1, 539, -1, -1, -1, 5, 6, -1, -1, 9,
1301 10, 11, -1, 13, -1, 15, 365, -1, 367, 557,
1302 81, -1, -1, -1, 373, 374, 87, 88, 566, 378,
1303 379, -1, -1, -1, -1, -1, -1, -1, -1, 388,
1304 -1, -1, 391, -1, -1, 394, -1, -1, -1, 398,
1305 50, 51, 401, -1, 54, -1, 56, -1, 58, 59,
1306 -1, -1, -1, -1, -1, -1, -1, 416, -1, -1,
1307 -1, -1, -1, -1, -1, -1, -1, -1, 427, -1,
1308 -1, 81, -1, 432, -1, -1, -1, 87, 88, -1,
1309 -1, -1, -1, 442, -1, -1, -1, -1, -1, -1,
1310 -1, 450, -1, -1, 453, -1, -1, -1, -1, -1,
1311 -1, -1, -1, -1, 463, -1, -1, -1, -1, -1,
1312 4, 5, 6, 7, 8, -1, -1, 11, -1, -1,
1313 -1, 15, -1, 17, -1, 484, 485, 486, 487, 1,
1314 -1, -1, 491, 5, 6, -1, -1, 9, 10, 11,
1315 -1, 13, -1, 15, -1, -1, 18, 19, 20, 21,
1316 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1317 -1, 520, -1, -1, -1, -1, -1, -1, 527, -1,
1318 -1, 530, -1, -1, -1, 534, -1, -1, 50, 51,
1319 -1, -1, 54, -1, 56, -1, 58, 59, 60, 61,
1320 62, 63, -1, 65, 66, -1, -1, 69, -1, -1,
1321 72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
1322 -1, -1, -1, -1, -1, 87, 88, -1, -1, -1,
1323 92, -1, 94, 95, 96, 5, 6, 3, -1, 9,
1324 10, 11, -1, 13, -1, 15, -1, -1, 18, 19,
1325 20, 21, -1, -1, -1, -1, 22, 23, 24, 25,
1326 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1327 36, 37, 38, 39, 40, 41, 42, 43, -1, -1,
1328 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1329 60, 61, 62, 63, -1, 65, 66, -1, -1, 69,
1330 -1, -1, 72, 73, 74, 75, -1, 77, -1, 79,
1331 80, 81, 3, -1, -1, 5, 6, 87, 88, 9,
1332 10, 11, 92, 13, 3, 15, 96, -1, 18, 19,
1333 20, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1334 31, 32, 33, 22, 23, 24, 25, 26, 27, 28,
1335 29, 30, 31, 32, 33, -1, -1, -1, -1, -1,
1336 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1337 60, 61, 62, 63, -1, 65, 66, -1, -1, 69,
1338 -1, -1, 72, 73, 74, 75, -1, 77, -1, 79,
1339 80, 81, 3, -1, -1, 5, 6, 87, 88, 9,
1340 10, 11, 92, 13, -1, 15, 96, -1, 18, -1,
1341 -1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1342 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
1343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1344 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1345 60, 61, 62, 63, -1, 65, 66, -1, -1, 69,
1346 -1, -1, 72, 73, 74, 75, -1, 77, -1, 79,
1347 80, 81, 82, -1, -1, 5, 6, 87, 88, 9,
1348 10, 11, 92, 13, -1, 15, 96, -1, 18, -1,
1349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1351 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1352 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1353 60, 61, 62, 63, -1, 65, 66, -1, -1, 69,
1354 -1, -1, 72, 73, 74, 75, -1, 77, -1, 79,
1355 80, 81, -1, -1, 4, 5, 6, 87, 88, 9,
1356 10, 11, 92, 13, -1, 15, 96, -1, 18, 19,
1357 4, 5, 6, -1, -1, 9, 10, 11, 12, 13,
1358 -1, 15, -1, -1, 18, -1, -1, -1, -1, -1,
1359 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1360 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1361 -1, -1, -1, -1, -1, -1, 50, 51, -1, -1,
1362 54, -1, 56, -1, 58, 59, -1, -1, -1, -1,
1363 -1, 81, -1, -1, 4, 5, 6, 87, 88, 9,
1364 10, 11, -1, 13, -1, 15, 16, 81, 18, -1,
1365 4, 5, 6, 87, 88, 9, 10, 11, 12, 13,
1366 -1, 15, -1, -1, 18, -1, -1, -1, -1, -1,
1367 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1368 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1369 -1, -1, -1, -1, -1, -1, 50, 51, -1, -1,
1370 54, -1, 56, -1, 58, 59, -1, -1, -1, -1,
1371 -1, 81, -1, -1, 4, 5, 6, 87, 88, 9,
1372 10, 11, -1, 13, -1, 15, 16, 81, 18, -1,
1373 4, 5, 6, 87, 88, 9, 10, 11, -1, 13,
1374 -1, 15, -1, -1, 18, -1, -1, -1, -1, -1,
1375 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1376 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1377 -1, -1, -1, -1, -1, -1, 50, 51, -1, -1,
1378 54, -1, 56, -1, 58, 59, -1, -1, -1, -1,
1379 -1, 81, -1, -1, -1, 5, 6, 87, 88, 9,
1380 10, 11, -1, 13, -1, 15, -1, 81, -1, -1,
1381 -1, 5, 6, 87, 88, 9, 10, 11, -1, 13,
1382 -1, 15, -1, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1384 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1385 -1, -1, -1, -1, -1, -1, 50, 51, -1, -1,
1386 54, -1, 56, -1, 58, 59, -1, -1, -1, -1,
1387 -1, 81, -1, -1, -1, 5, 6, 87, 88, 9,
1388 10, 11, -1, 13, -1, 15, -1, 81, -1, -1,
1389 -1, -1, -1, 87, 88, 4, 5, 6, 7, 8,
1390 -1, -1, 11, -1, -1, -1, 15, -1, 17, -1,
1391 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1392 50, 51, -1, -1, 54, -1, 56, -1, 58, 59,
1393 -1, -1, -1, -1, -1, 44, 45, 46, 47, 48,
1394 49, 50, 51, 52, 53, -1, -1, -1, -1, -1,
1395 -1, 81, -1, 5, 6, 7, 8, 87, 88, 11,
1396 -1, -1, -1, 15, -1, 17, 7, 8, -1, -1,
1397 11, -1, -1, -1, 15, -1, 17, -1, -1, -1,
1398 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1399 -1, -1, 44, 45, 46, 47, 48, 49, 50, 51,
1400 52, 53, -1, 44, 45, 46, 47, 48, 49, 50,
1408 0, 1, 5, 6, 9, 10, 11, 13, 15, 18,
1409 19, 20, 50, 51, 54, 56, 58, 59, 60, 61,
1410 62, 63, 65, 66, 69, 72, 73, 74, 75, 77,
1411 79, 80, 81, 87, 88, 94, 99, 100, 101, 108,
1412 109, 111, 112, 113, 114, 115, 116, 118, 121, 122,
1413 123, 128, 130, 131, 132, 133, 134, 135, 136, 139,
1414 140, 145, 150, 151, 152, 153, 154, 165, 166, 167,
1415 168, 171, 221, 222, 223, 111, 128, 128, 128, 128,
1416 134, 4, 9, 19, 117, 120, 124, 125, 126, 134,
1417 119, 120, 11, 155, 158, 128, 128, 220, 220, 220,
1418 220, 220, 220, 220, 220, 220, 111, 137, 138, 137,
1419 0, 21, 95, 222, 223, 110, 114, 4, 5, 6,
1420 7, 8, 11, 15, 17, 44, 45, 46, 47, 48,
1421 49, 50, 51, 52, 53, 127, 34, 35, 36, 37,
1422 38, 39, 40, 41, 42, 43, 3, 22, 23, 24,
1423 25, 26, 27, 28, 29, 30, 31, 32, 33, 92,
1424 96, 21, 224, 225, 220, 19, 20, 12, 126, 14,
1425 20, 19, 16, 20, 1, 9, 125, 138, 159, 160,
1426 161, 219, 11, 131, 132, 11, 132, 134, 19, 20,
1427 21, 226, 227, 227, 134, 141, 142, 134, 227, 227,
1428 3, 138, 108, 114, 128, 128, 128, 128, 128, 12,
1429 126, 16, 126, 128, 128, 128, 128, 5, 6, 9,
1430 10, 50, 51, 123, 129, 129, 11, 55, 131, 131,
1431 131, 131, 131, 131, 131, 131, 131, 131, 134, 134,
1432 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
1433 134, 82, 102, 103, 104, 108, 185, 186, 21, 13,
1434 90, 91, 111, 162, 169, 19, 120, 124, 125, 134,
1435 120, 12, 156, 19, 1, 134, 132, 3, 132, 3,
1436 218, 19, 20, 21, 102, 102, 218, 57, 67, 68,
1437 143, 144, 227, 102, 102, 134, 4, 12, 19, 16,
1438 129, 129, 129, 129, 129, 129, 11, 15, 50, 51,
1439 127, 134, 95, 226, 227, 220, 164, 14, 111, 163,
1440 17, 17, 3, 157, 158, 161, 3, 134, 3, 134,
1441 227, 64, 57, 227, 220, 220, 70, 71, 146, 147,
1442 148, 149, 76, 57, 78, 128, 12, 126, 16, 126,
1443 11, 55, 12, 108, 11, 187, 227, 14, 19, 111,
1444 111, 111, 169, 227, 134, 218, 134, 218, 102, 134,
1445 102, 227, 227, 220, 220, 57, 148, 149, 220, 220,
1446 12, 16, 134, 9, 10, 111, 188, 189, 111, 105,
1447 106, 107, 171, 111, 157, 93, 172, 173, 174, 175,
1448 176, 12, 227, 19, 227, 57, 134, 102, 227, 227,
1449 227, 227, 12, 111, 111, 3, 12, 19, 227, 95,
1450 227, 227, 57, 95, 170, 102, 227, 220, 227, 102,
1451 134, 102, 218, 134, 102, 102, 102, 134, 227, 189,
1452 38, 190, 191, 171, 172, 173, 175, 227, 102, 57,
1453 12, 57, 227, 218, 57, 57, 89, 192, 83, 84,
1454 85, 86, 193, 194, 195, 196, 200, 201, 208, 209,
1455 213, 214, 36, 227, 170, 102, 11, 177, 57, 227,
1456 102, 227, 57, 227, 220, 220, 220, 220, 192, 111,
1457 111, 178, 179, 102, 102, 195, 200, 208, 213, 227,
1458 227, 227, 227, 12, 226, 227, 11, 180, 181, 57,
1459 187, 187, 187, 187, 179, 57, 126, 111, 182, 197,
1460 198, 199, 220, 171, 203, 205, 206, 207, 220, 210,
1461 211, 212, 220, 215, 216, 217, 220, 180, 12, 15,
1462 183, 57, 226, 227, 111, 57, 227, 111, 162, 202,
1463 57, 227, 111, 57, 227, 111, 126, 3, 184, 199,
1464 180, 205, 158, 3, 212, 217, 11, 16, 134, 204,
1471 0, 98, 99, 99, 99, 100, 100, 101, 101, 102,
1472 102, 103, 104, 104, 105, 105, 106, 107, 107, 108,
1473 108, 108, 109, 110, 110, 111, 112, 113, 114, 114,
1474 115, 115, 116, 117, 117, 118, 119, 119, 120, 120,
1475 120, 120, 120, 120, 121, 122, 122, 123, 123, 123,
1476 123, 123, 123, 123, 123, 124, 125, 126, 126, 126,
1477 126, 126, 126, 127, 128, 128, 128, 128, 128, 128,
1478 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1479 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1480 128, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1481 129, 129, 129, 129, 129, 129, 130, 130, 131, 131,
1482 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1483 132, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1484 133, 133, 133, 133, 134, 134, 134, 135, 135, 135,
1485 135, 135, 135, 135, 135, 136, 136, 137, 137, 138,
1486 138, 139, 139, 140, 141, 141, 142, 142, 143, 144,
1487 145, 146, 146, 146, 146, 147, 147, 148, 149, 150,
1488 150, 150, 150, 150, 150, 151, 151, 151, 152, 153,
1489 153, 153, 154, 155, 156, 157, 157, 158, 158, 159,
1490 159, 160, 160, 161, 161, 162, 162, 162, 163, 163,
1491 164, 165, 166, 167, 167, 168, 169, 169, 169, 170,
1492 170, 171, 171, 172, 172, 173, 174, 174, 175, 176,
1493 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
1494 183, 183, 184, 184, 185, 186, 187, 187, 188, 188,
1495 189, 189, 189, 189, 190, 190, 191, 191, 192, 193,
1496 193, 194, 194, 194, 194, 194, 194, 194, 194, 195,
1497 196, 197, 197, 198, 198, 199, 200, 201, 202, 202,
1498 203, 204, 203, 205, 205, 206, 206, 207, 207, 208,
1499 209, 210, 210, 211, 211, 212, 213, 214, 215, 215,
1500 216, 216, 217, 218, 219, 220, 221, 221, 222, 222,
1501 222, 222, 223, 223, 224, 224, 225, 225, 226, 226,
1502 226, 226, 226, 226, 227, 227
1508 0, 2, 2, 2, 1, 1, 2, 1, 3, 0,
1509 1, 2, 1, 3, 0, 1, 2, 1, 3, 1,
1510 1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
1511 1, 1, 3, 1, 3, 3, 1, 3, 0, 1,
1512 1, 2, 2, 3, 1, 4, 4, 1, 1, 1,
1513 1, 1, 1, 1, 3, 1, 1, 1, 1, 1,
1514 3, 3, 3, 1, 1, 2, 2, 3, 4, 3,
1515 4, 2, 2, 3, 5, 2, 2, 2, 2, 2,
1516 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1517 3, 1, 2, 2, 3, 4, 3, 4, 3, 5,
1518 2, 2, 2, 2, 2, 2, 3, 5, 1, 1,
1519 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1520 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1521 3, 3, 3, 3, 1, 1, 1, 1, 1, 1,
1522 1, 1, 1, 1, 1, 2, 2, 1, 2, 1,
1523 3, 1, 1, 4, 1, 2, 4, 2, 7, 4,
1524 6, 0, 1, 1, 2, 1, 2, 7, 4, 7,
1525 6, 9, 10, 9, 12, 1, 1, 1, 5, 9,
1526 9, 5, 0, 1, 1, 0, 1, 3, 2, 0,
1527 1, 1, 3, 1, 1, 2, 1, 3, 1, 3,
1528 0, 0, 2, 4, 7, 2, 1, 3, 3, 1,
1529 1, 7, 9, 2, 4, 0, 1, 3, 7, 1,
1530 0, 3, 2, 4, 1, 4, 0, 3, 0, 1,
1531 0, 3, 0, 2, 1, 8, 0, 4, 1, 3,
1532 1, 3, 2, 2, 0, 2, 2, 3, 1, 0,
1533 2, 1, 1, 1, 1, 3, 3, 3, 3, 6,
1534 1, 0, 2, 1, 3, 3, 6, 1, 1, 2,
1535 2, 0, 5, 1, 1, 0, 2, 1, 3, 6,
1536 1, 0, 2, 1, 3, 2, 6, 1, 0, 2,
1537 1, 3, 5, 0, 0, 0, 1, 1, 1, 1,
1538 2, 2, 0, 1, 0, 1, 1, 2, 1, 1,
1545 #define yyerrok (yyerrstatus = 0)
1546 #define yyclearin (yychar = OCTAVE_EMPTY)
1548 #define YYACCEPT goto yyacceptlab
1549 #define YYABORT goto yyabortlab
1550 #define YYERROR goto yyerrorlab
1551 #define YYNOMEM goto yyexhaustedlab
1554 #define YYRECOVERING() (!!yyerrstatus)
1556 #define YYBACKUP(Token, Value) \
1558 if (yychar == OCTAVE_EMPTY) \
1562 YYPOPSTACK (yylen); \
1568 yyerror (parser, YY_("syntax error: cannot back up")); \
1575 #define YYERRCODE OCTAVE_UNDEF
1583 # define YYFPRINTF fprintf
1586 # define YYDPRINTF(Args) \
1595 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1599 YYFPRINTF (stderr, "%s ", Title); \
1600 yy_symbol_print (stderr, \
1601 Kind, Value, parser); \
1602 YYFPRINTF (stderr, "\n"); \
1612 yy_symbol_value_print (FILE *yyo,
1615 FILE *yyoutput = yyo;
1631 yy_symbol_print (FILE *yyo,
1634 YYFPRINTF (yyo,
"%s %s (",
1635 yykind <
YYNTOKENS ?
"token" :
"nterm", yysymbol_name (yykind));
1637 yy_symbol_value_print (yyo, yykind, yyvaluep,
parser);
1638 YYFPRINTF (yyo,
")");
1649 YYFPRINTF (stderr,
"Stack now");
1650 for (; yybottom <= yytop; yybottom++)
1652 int yybot = *yybottom;
1653 YYFPRINTF (stderr,
" %d", yybot);
1655 YYFPRINTF (stderr,
"\n");
1658 # define YY_STACK_PRINT(Bottom, Top) \
1661 yy_stack_print ((Bottom), (Top)); \
1671 int yyrule, octave::base_parser&
parser)
1673 int yylno = yyrline[yyrule];
1674 int yynrhs =
yyr2[yyrule];
1676 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1679 for (yyi = 0; yyi < yynrhs; yyi++)
1681 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1682 yy_symbol_print (stderr,
1685 YYFPRINTF (stderr,
"\n");
1689 # define YY_REDUCE_PRINT(Rule) \
1692 yy_reduce_print (yyssp, yyvsp, Rule, parser); \
1699 # define YYDPRINTF(Args) ((void) 0)
1700 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1701 # define YY_STACK_PRINT(Bottom, Top)
1702 # define YY_REDUCE_PRINT(Rule)
1708 # define YYINITDEPTH 200
1719 # define YYMAXDEPTH 10000
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 340 "../libinterp/parse-tree/oct-parse.yy"
2316 #line 2317 "libinterp/parse-tree/oct-parse.cc"
2320 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2322 #line 2323 "libinterp/parse-tree/oct-parse.cc"
2326 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2328 #line 2329 "libinterp/parse-tree/oct-parse.cc"
2332 #line 343 "../libinterp/parse-tree/oct-parse.yy"
2334 #line 2335 "libinterp/parse-tree/oct-parse.cc"
2338 #line 345 "../libinterp/parse-tree/oct-parse.yy"
2339 {
delete ((*yyvaluep).tree_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 370 "../libinterp/parse-tree/oct-parse.yy"
2375 {
delete ((*yyvaluep).tree_statement_list_type); }
2376 #line 2377 "libinterp/parse-tree/oct-parse.cc"
2380 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2381 {
delete ((*yyvaluep).tree_statement_list_type); }
2382 #line 2383 "libinterp/parse-tree/oct-parse.cc"
2386 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2387 {
delete ((*yyvaluep).tree_statement_list_type); }
2388 #line 2389 "libinterp/parse-tree/oct-parse.cc"
2392 #line 369 "../libinterp/parse-tree/oct-parse.yy"
2393 {
delete ((*yyvaluep).tree_statement_type); }
2394 #line 2395 "libinterp/parse-tree/oct-parse.cc"
2398 #line 356 "../libinterp/parse-tree/oct-parse.yy"
2399 {
delete ((*yyvaluep).tree_index_expression_type); }
2400 #line 2401 "libinterp/parse-tree/oct-parse.cc"
2404 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2405 {
delete ((*yyvaluep).tree_argument_list_type); }
2406 #line 2407 "libinterp/parse-tree/oct-parse.cc"
2410 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2411 {
delete ((*yyvaluep).tree_identifier_type); }
2412 #line 2413 "libinterp/parse-tree/oct-parse.cc"
2416 #line 351 "../libinterp/parse-tree/oct-parse.yy"
2417 {
delete ((*yyvaluep).tree_superclass_ref_type); }
2418 #line 2419 "libinterp/parse-tree/oct-parse.cc"
2422 #line 352 "../libinterp/parse-tree/oct-parse.yy"
2423 {
delete ((*yyvaluep).tree_metaclass_query_type); }
2424 #line 2425 "libinterp/parse-tree/oct-parse.cc"
2428 #line 349 "../libinterp/parse-tree/oct-parse.yy"
2429 {
delete ((*yyvaluep).tree_constant_type); }
2430 #line 2431 "libinterp/parse-tree/oct-parse.cc"
2434 #line 349 "../libinterp/parse-tree/oct-parse.yy"
2435 {
delete ((*yyvaluep).tree_constant_type); }
2436 #line 2437 "libinterp/parse-tree/oct-parse.cc"
2440 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2441 {
delete ((*yyvaluep).tree_expression_type); }
2442 #line 2443 "libinterp/parse-tree/oct-parse.cc"
2446 #line 346 "../libinterp/parse-tree/oct-parse.yy"
2447 {
delete ((*yyvaluep).tree_matrix_type); }
2448 #line 2449 "libinterp/parse-tree/oct-parse.cc"
2452 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2453 {
delete ((*yyvaluep).tree_expression_type); }
2454 #line 2455 "libinterp/parse-tree/oct-parse.cc"
2458 #line 347 "../libinterp/parse-tree/oct-parse.yy"
2459 {
delete ((*yyvaluep).tree_cell_type); }
2460 #line 2461 "libinterp/parse-tree/oct-parse.cc"
2464 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2465 {
delete ((*yyvaluep).tree_argument_list_type); }
2466 #line 2467 "libinterp/parse-tree/oct-parse.cc"
2470 #line 350 "../libinterp/parse-tree/oct-parse.yy"
2471 {
delete ((*yyvaluep).tree_fcn_handle_type); }
2472 #line 2473 "libinterp/parse-tree/oct-parse.cc"
2476 #line 354 "../libinterp/parse-tree/oct-parse.yy"
2477 {
delete ((*yyvaluep).tree_anon_fcn_handle_type); }
2478 #line 2479 "libinterp/parse-tree/oct-parse.cc"
2482 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2483 {
delete ((*yyvaluep).tree_expression_type); }
2484 #line 2485 "libinterp/parse-tree/oct-parse.cc"
2488 #line 349 "../libinterp/parse-tree/oct-parse.yy"
2489 {
delete ((*yyvaluep).tree_constant_type); }
2490 #line 2491 "libinterp/parse-tree/oct-parse.cc"
2494 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2495 {
delete ((*yyvaluep).tree_identifier_type); }
2496 #line 2497 "libinterp/parse-tree/oct-parse.cc"
2500 #line 357 "../libinterp/parse-tree/oct-parse.yy"
2501 {
delete ((*yyvaluep).tree_argument_list_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 348 "../libinterp/parse-tree/oct-parse.yy"
2513 {
delete ((*yyvaluep).tree_expression_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 357 "../libinterp/parse-tree/oct-parse.yy"
2531 {
delete ((*yyvaluep).tree_argument_list_type); }
2532 #line 2533 "libinterp/parse-tree/oct-parse.cc"
2536 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2537 {
delete ((*yyvaluep).tree_expression_type); }
2538 #line 2539 "libinterp/parse-tree/oct-parse.cc"
2542 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2543 {
delete ((*yyvaluep).tree_expression_type); }
2544 #line 2545 "libinterp/parse-tree/oct-parse.cc"
2548 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2549 {
delete ((*yyvaluep).tree_command_type); }
2550 #line 2551 "libinterp/parse-tree/oct-parse.cc"
2554 #line 368 "../libinterp/parse-tree/oct-parse.yy"
2555 {
delete ((*yyvaluep).tree_decl_command_type); }
2556 #line 2557 "libinterp/parse-tree/oct-parse.cc"
2560 #line 367 "../libinterp/parse-tree/oct-parse.yy"
2561 {
delete ((*yyvaluep).tree_decl_init_list_type); }
2562 #line 2563 "libinterp/parse-tree/oct-parse.cc"
2566 #line 366 "../libinterp/parse-tree/oct-parse.yy"
2567 {
delete ((*yyvaluep).tree_decl_elt_type); }
2568 #line 2569 "libinterp/parse-tree/oct-parse.cc"
2572 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2573 {
delete ((*yyvaluep).tree_command_type); }
2574 #line 2575 "libinterp/parse-tree/oct-parse.cc"
2578 #line 360 "../libinterp/parse-tree/oct-parse.yy"
2579 {
delete ((*yyvaluep).tree_if_command_type); }
2580 #line 2581 "libinterp/parse-tree/oct-parse.cc"
2584 #line 362 "../libinterp/parse-tree/oct-parse.yy"
2585 {
delete ((*yyvaluep).tree_if_command_list_type); }
2586 #line 2587 "libinterp/parse-tree/oct-parse.cc"
2590 #line 362 "../libinterp/parse-tree/oct-parse.yy"
2591 {
delete ((*yyvaluep).tree_if_command_list_type); }
2592 #line 2593 "libinterp/parse-tree/oct-parse.cc"
2596 #line 361 "../libinterp/parse-tree/oct-parse.yy"
2597 {
delete ((*yyvaluep).tree_if_clause_type); }
2598 #line 2599 "libinterp/parse-tree/oct-parse.cc"
2602 #line 361 "../libinterp/parse-tree/oct-parse.yy"
2603 {
delete ((*yyvaluep).tree_if_clause_type); }
2604 #line 2605 "libinterp/parse-tree/oct-parse.cc"
2608 #line 363 "../libinterp/parse-tree/oct-parse.yy"
2609 {
delete ((*yyvaluep).tree_switch_command_type); }
2610 #line 2611 "libinterp/parse-tree/oct-parse.cc"
2614 #line 365 "../libinterp/parse-tree/oct-parse.yy"
2615 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2616 #line 2617 "libinterp/parse-tree/oct-parse.cc"
2620 #line 365 "../libinterp/parse-tree/oct-parse.yy"
2621 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2622 #line 2623 "libinterp/parse-tree/oct-parse.cc"
2626 #line 364 "../libinterp/parse-tree/oct-parse.yy"
2627 {
delete ((*yyvaluep).tree_switch_case_type); }
2628 #line 2629 "libinterp/parse-tree/oct-parse.cc"
2632 #line 364 "../libinterp/parse-tree/oct-parse.yy"
2633 {
delete ((*yyvaluep).tree_switch_case_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 359 "../libinterp/parse-tree/oct-parse.yy"
2645 {
delete ((*yyvaluep).tree_command_type); }
2646 #line 2647 "libinterp/parse-tree/oct-parse.cc"
2650 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2651 {
delete ((*yyvaluep).tree_command_type); }
2652 #line 2653 "libinterp/parse-tree/oct-parse.cc"
2656 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2657 {
delete ((*yyvaluep).tree_command_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 358 "../libinterp/parse-tree/oct-parse.yy"
2669 {
delete ((*yyvaluep).tree_parameter_list_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 366 "../libinterp/parse-tree/oct-parse.yy"
2687 {
delete ((*yyvaluep).tree_decl_elt_type); }
2688 #line 2689 "libinterp/parse-tree/oct-parse.cc"
2692 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2693 {
delete ((*yyvaluep).tree_parameter_list_type); }
2694 #line 2695 "libinterp/parse-tree/oct-parse.cc"
2698 #line 358 "../libinterp/parse-tree/oct-parse.yy"
2699 {
delete ((*yyvaluep).tree_parameter_list_type); }
2700 #line 2701 "libinterp/parse-tree/oct-parse.cc"
2704 #line 359 "../libinterp/parse-tree/oct-parse.yy"
2705 {
delete ((*yyvaluep).tree_command_type); }
2706 #line 2707 "libinterp/parse-tree/oct-parse.cc"
2710 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2712 #line 2713 "libinterp/parse-tree/oct-parse.cc"
2716 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2717 {
delete ((*yyvaluep).tree_identifier_type); }
2718 #line 2719 "libinterp/parse-tree/oct-parse.cc"
2722 #line 369 "../libinterp/parse-tree/oct-parse.yy"
2723 {
delete ((*yyvaluep).tree_statement_type); }
2724 #line 2725 "libinterp/parse-tree/oct-parse.cc"
2728 #line 353 "../libinterp/parse-tree/oct-parse.yy"
2729 {
delete ((*yyvaluep).tree_function_def_type); }
2730 #line 2731 "libinterp/parse-tree/oct-parse.cc"
2734 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2735 {
delete ((*yyvaluep).tree_statement_list_type); }
2736 #line 2737 "libinterp/parse-tree/oct-parse.cc"
2740 #line 370 "../libinterp/parse-tree/oct-parse.yy"
2741 {
delete ((*yyvaluep).tree_statement_list_type); }
2742 #line 2743 "libinterp/parse-tree/oct-parse.cc"
2746 #line 371 "../libinterp/parse-tree/oct-parse.yy"
2747 {
delete ((*yyvaluep).tree_arguments_block_type); }
2748 #line 2749 "libinterp/parse-tree/oct-parse.cc"
2752 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2754 #line 2755 "libinterp/parse-tree/oct-parse.cc"
2758 #line 372 "../libinterp/parse-tree/oct-parse.yy"
2759 {
delete ((*yyvaluep).tree_args_block_attribute_list_type); }
2760 #line 2761 "libinterp/parse-tree/oct-parse.cc"
2764 #line 373 "../libinterp/parse-tree/oct-parse.yy"
2765 {
delete ((*yyvaluep).tree_args_block_validation_list_type); }
2766 #line 2767 "libinterp/parse-tree/oct-parse.cc"
2770 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2771 {
delete ((*yyvaluep).tree_expression_type); }
2772 #line 2773 "libinterp/parse-tree/oct-parse.cc"
2776 #line 374 "../libinterp/parse-tree/oct-parse.yy"
2777 {
delete ((*yyvaluep).tree_arg_validation_type); }
2778 #line 2779 "libinterp/parse-tree/oct-parse.cc"
2782 #line 375 "../libinterp/parse-tree/oct-parse.yy"
2783 {
delete ((*yyvaluep).tree_arg_size_spec_type); }
2784 #line 2785 "libinterp/parse-tree/oct-parse.cc"
2788 #line 355 "../libinterp/parse-tree/oct-parse.yy"
2789 {
delete ((*yyvaluep).tree_identifier_type); }
2790 #line 2791 "libinterp/parse-tree/oct-parse.cc"
2794 #line 376 "../libinterp/parse-tree/oct-parse.yy"
2795 {
delete ((*yyvaluep).tree_arg_validation_fcns_type); }
2796 #line 2797 "libinterp/parse-tree/oct-parse.cc"
2800 #line 348 "../libinterp/parse-tree/oct-parse.yy"
2801 {
delete ((*yyvaluep).tree_expression_type); }
2802 #line 2803 "libinterp/parse-tree/oct-parse.cc"
2806 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2808 #line 2809 "libinterp/parse-tree/oct-parse.cc"
2812 #line 379 "../libinterp/parse-tree/oct-parse.yy"
2813 {
delete ((*yyvaluep).tree_classdef_type); }
2814 #line 2815 "libinterp/parse-tree/oct-parse.cc"
2818 #line 381 "../libinterp/parse-tree/oct-parse.yy"
2819 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2820 #line 2821 "libinterp/parse-tree/oct-parse.cc"
2824 #line 381 "../libinterp/parse-tree/oct-parse.yy"
2825 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2826 #line 2827 "libinterp/parse-tree/oct-parse.cc"
2830 #line 380 "../libinterp/parse-tree/oct-parse.yy"
2831 {
delete ((*yyvaluep).tree_classdef_attribute_type); }
2832 #line 2833 "libinterp/parse-tree/oct-parse.cc"
2836 #line 383 "../libinterp/parse-tree/oct-parse.yy"
2837 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
2838 #line 2839 "libinterp/parse-tree/oct-parse.cc"
2842 #line 383 "../libinterp/parse-tree/oct-parse.yy"
2843 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
2844 #line 2845 "libinterp/parse-tree/oct-parse.cc"
2848 #line 382 "../libinterp/parse-tree/oct-parse.yy"
2849 {
delete ((*yyvaluep).tree_classdef_superclass_type); }
2850 #line 2851 "libinterp/parse-tree/oct-parse.cc"
2854 #line 384 "../libinterp/parse-tree/oct-parse.yy"
2855 {
delete ((*yyvaluep).tree_classdef_body_type); }
2856 #line 2857 "libinterp/parse-tree/oct-parse.cc"
2860 #line 384 "../libinterp/parse-tree/oct-parse.yy"
2861 {
delete ((*yyvaluep).tree_classdef_body_type); }
2862 #line 2863 "libinterp/parse-tree/oct-parse.cc"
2866 #line 387 "../libinterp/parse-tree/oct-parse.yy"
2867 {
delete ((*yyvaluep).tree_classdef_properties_block_type); }
2868 #line 2869 "libinterp/parse-tree/oct-parse.cc"
2872 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2874 #line 2875 "libinterp/parse-tree/oct-parse.cc"
2878 #line 386 "../libinterp/parse-tree/oct-parse.yy"
2879 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
2880 #line 2881 "libinterp/parse-tree/oct-parse.cc"
2884 #line 386 "../libinterp/parse-tree/oct-parse.yy"
2885 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
2886 #line 2887 "libinterp/parse-tree/oct-parse.cc"
2890 #line 385 "../libinterp/parse-tree/oct-parse.yy"
2891 {
delete ((*yyvaluep).tree_classdef_property_type); }
2892 #line 2893 "libinterp/parse-tree/oct-parse.cc"
2896 #line 389 "../libinterp/parse-tree/oct-parse.yy"
2897 {
delete ((*yyvaluep).tree_classdef_methods_block_type); }
2898 #line 2899 "libinterp/parse-tree/oct-parse.cc"
2902 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2904 #line 2905 "libinterp/parse-tree/oct-parse.cc"
2908 #line 377 "../libinterp/parse-tree/oct-parse.yy"
2909 {
delete ((*yyvaluep).octave_user_function_type); }
2910 #line 2911 "libinterp/parse-tree/oct-parse.cc"
2914 #line 353 "../libinterp/parse-tree/oct-parse.yy"
2915 {
delete ((*yyvaluep).tree_function_def_type); }
2916 #line 2917 "libinterp/parse-tree/oct-parse.cc"
2920 #line 353 "../libinterp/parse-tree/oct-parse.yy"
2921 {
delete ((*yyvaluep).tree_function_def_type); }
2922 #line 2923 "libinterp/parse-tree/oct-parse.cc"
2926 #line 388 "../libinterp/parse-tree/oct-parse.yy"
2927 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
2928 #line 2929 "libinterp/parse-tree/oct-parse.cc"
2932 #line 388 "../libinterp/parse-tree/oct-parse.yy"
2933 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
2934 #line 2935 "libinterp/parse-tree/oct-parse.cc"
2938 #line 392 "../libinterp/parse-tree/oct-parse.yy"
2939 {
delete ((*yyvaluep).tree_classdef_events_block_type); }
2940 #line 2941 "libinterp/parse-tree/oct-parse.cc"
2944 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2946 #line 2947 "libinterp/parse-tree/oct-parse.cc"
2950 #line 391 "../libinterp/parse-tree/oct-parse.yy"
2951 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
2952 #line 2953 "libinterp/parse-tree/oct-parse.cc"
2956 #line 391 "../libinterp/parse-tree/oct-parse.yy"
2957 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
2958 #line 2959 "libinterp/parse-tree/oct-parse.cc"
2962 #line 390 "../libinterp/parse-tree/oct-parse.yy"
2963 {
delete ((*yyvaluep).tree_classdef_event_type); }
2964 #line 2965 "libinterp/parse-tree/oct-parse.cc"
2968 #line 395 "../libinterp/parse-tree/oct-parse.yy"
2969 {
delete ((*yyvaluep).tree_classdef_enum_block_type); }
2970 #line 2971 "libinterp/parse-tree/oct-parse.cc"
2974 #line 340 "../libinterp/parse-tree/oct-parse.yy"
2976 #line 2977 "libinterp/parse-tree/oct-parse.cc"
2980 #line 394 "../libinterp/parse-tree/oct-parse.yy"
2981 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
2982 #line 2983 "libinterp/parse-tree/oct-parse.cc"
2986 #line 394 "../libinterp/parse-tree/oct-parse.yy"
2987 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
2988 #line 2989 "libinterp/parse-tree/oct-parse.cc"
2992 #line 393 "../libinterp/parse-tree/oct-parse.yy"
2993 {
delete ((*yyvaluep).tree_classdef_enum_type); }
2994 #line 2995 "libinterp/parse-tree/oct-parse.cc"
2998 #line 342 "../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"
3022 #line 341 "../libinterp/parse-tree/oct-parse.yy"
3024 #line 3025 "libinterp/parse-tree/oct-parse.cc"
3028 #line 341 "../libinterp/parse-tree/oct-parse.yy"
3030 #line 3031 "libinterp/parse-tree/oct-parse.cc"
3034 #line 341 "../libinterp/parse-tree/oct-parse.yy"
3036 #line 3037 "libinterp/parse-tree/oct-parse.cc"
3076 #define octave_nerrs yyps->octave_nerrs
3077 #define yystate yyps->yystate
3078 #define yyerrstatus yyps->yyerrstatus
3079 #define yyssa yyps->yyssa
3080 #define yyss yyps->yyss
3081 #define yyssp yyps->yyssp
3082 #define yyvsa yyps->yyvsa
3083 #define yyvs yyps->yyvs
3084 #define yyvsp yyps->yyvsp
3085 #define yystacksize yyps->yystacksize
3142 int yypushed_char,
YYSTYPE const *yypushed_val, octave::base_parser&
parser)
3165 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3171 switch (yyps->yynew)
3175 goto yyread_pushed_token;
3185 YYDPRINTF ((stderr,
"Starting parse\n"));
3213 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
3220 # if defined yyoverflow
3232 yyoverflow (
YY_(
"memory exhausted"),
3256 # undef YYSTACK_RELOCATE
3266 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
3301 YYDPRINTF ((stderr,
"Return for a new token:\n"));
3306 yyread_pushed_token:
3307 YYDPRINTF ((stderr,
"Reading a token\n"));
3308 yychar = yypushed_char;
3317 YYDPRINTF ((stderr,
"Now at end of input.\n"));
3391 yyval =
yyvsp[1-yylen];
3398 #line 416 "../libinterp/parse-tree/oct-parse.yy"
3402 (yyval.tree_type) =
nullptr;
3409 #line 3410 "libinterp/parse-tree/oct-parse.cc"
3413 #line 427 "../libinterp/parse-tree/oct-parse.yy"
3417 (yyval.tree_type) =
nullptr;
3424 #line 3425 "libinterp/parse-tree/oct-parse.cc"
3428 #line 438 "../libinterp/parse-tree/oct-parse.yy"
3430 (yyval.tree_type) =
nullptr;
3433 #line 3434 "libinterp/parse-tree/oct-parse.cc"
3437 #line 445 "../libinterp/parse-tree/oct-parse.yy"
3441 (yyval.tree_statement_list_type) =
nullptr;
3443 #line 3444 "libinterp/parse-tree/oct-parse.cc"
3447 #line 451 "../libinterp/parse-tree/oct-parse.yy"
3449 #line 3450 "libinterp/parse-tree/oct-parse.cc"
3453 #line 455 "../libinterp/parse-tree/oct-parse.yy"
3455 #line 3456 "libinterp/parse-tree/oct-parse.cc"
3459 #line 457 "../libinterp/parse-tree/oct-parse.yy"
3461 #line 3462 "libinterp/parse-tree/oct-parse.cc"
3465 #line 461 "../libinterp/parse-tree/oct-parse.yy"
3466 { (yyval.tree_statement_list_type) =
nullptr; }
3467 #line 3468 "libinterp/parse-tree/oct-parse.cc"
3471 #line 463 "../libinterp/parse-tree/oct-parse.yy"
3472 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3473 #line 3474 "libinterp/parse-tree/oct-parse.cc"
3477 #line 467 "../libinterp/parse-tree/oct-parse.yy"
3479 #line 3480 "libinterp/parse-tree/oct-parse.cc"
3483 #line 471 "../libinterp/parse-tree/oct-parse.yy"
3485 #line 3486 "libinterp/parse-tree/oct-parse.cc"
3489 #line 473 "../libinterp/parse-tree/oct-parse.yy"
3491 #line 3492 "libinterp/parse-tree/oct-parse.cc"
3495 #line 477 "../libinterp/parse-tree/oct-parse.yy"
3496 { (yyval.tree_statement_list_type) =
nullptr; }
3497 #line 3498 "libinterp/parse-tree/oct-parse.cc"
3501 #line 479 "../libinterp/parse-tree/oct-parse.yy"
3502 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3503 #line 3504 "libinterp/parse-tree/oct-parse.cc"
3507 #line 483 "../libinterp/parse-tree/oct-parse.yy"
3511 (yyval.tree_statement_list_type) = (
yyvsp[-1].tree_statement_list_type);
3513 #line 3514 "libinterp/parse-tree/oct-parse.cc"
3517 #line 491 "../libinterp/parse-tree/oct-parse.yy"
3522 #line 3523 "libinterp/parse-tree/oct-parse.cc"
3526 #line 496 "../libinterp/parse-tree/oct-parse.yy"
3531 #line 3532 "libinterp/parse-tree/oct-parse.cc"
3535 #line 503 "../libinterp/parse-tree/oct-parse.yy"
3537 #line 3538 "libinterp/parse-tree/oct-parse.cc"
3541 #line 505 "../libinterp/parse-tree/oct-parse.yy"
3543 #line 3544 "libinterp/parse-tree/oct-parse.cc"
3547 #line 507 "../libinterp/parse-tree/oct-parse.yy"
3549 #line 3550 "libinterp/parse-tree/oct-parse.cc"
3553 #line 519 "../libinterp/parse-tree/oct-parse.yy"
3556 if (! (yyval.tree_index_expression_type))
3561 (yyval.tree_index_expression_type)->mark_word_list_cmd ();
3563 #line 3564 "libinterp/parse-tree/oct-parse.cc"
3567 #line 531 "../libinterp/parse-tree/oct-parse.yy"
3569 #line 3570 "libinterp/parse-tree/oct-parse.cc"
3573 #line 533 "../libinterp/parse-tree/oct-parse.yy"
3575 #line 3576 "libinterp/parse-tree/oct-parse.cc"
3579 #line 541 "../libinterp/parse-tree/oct-parse.yy"
3581 #line 3582 "libinterp/parse-tree/oct-parse.cc"
3585 #line 546 "../libinterp/parse-tree/oct-parse.yy"
3587 #line 3588 "libinterp/parse-tree/oct-parse.cc"
3591 #line 550 "../libinterp/parse-tree/oct-parse.yy"
3593 #line 3594 "libinterp/parse-tree/oct-parse.cc"
3597 #line 554 "../libinterp/parse-tree/oct-parse.yy"
3599 #line 3600 "libinterp/parse-tree/oct-parse.cc"
3603 #line 556 "../libinterp/parse-tree/oct-parse.yy"
3605 #line 3606 "libinterp/parse-tree/oct-parse.cc"
3609 #line 560 "../libinterp/parse-tree/oct-parse.yy"
3611 #line 3612 "libinterp/parse-tree/oct-parse.cc"
3615 #line 562 "../libinterp/parse-tree/oct-parse.yy"
3616 { (yyval.tree_constant_type) = (
yyvsp[0].tree_constant_type); }
3617 #line 3618 "libinterp/parse-tree/oct-parse.cc"
3621 #line 566 "../libinterp/parse-tree/oct-parse.yy"
3623 #line 3624 "libinterp/parse-tree/oct-parse.cc"
3627 #line 570 "../libinterp/parse-tree/oct-parse.yy"
3629 #line 3630 "libinterp/parse-tree/oct-parse.cc"
3633 #line 572 "../libinterp/parse-tree/oct-parse.yy"
3639 #line 3640 "libinterp/parse-tree/oct-parse.cc"
3643 #line 580 "../libinterp/parse-tree/oct-parse.yy"
3645 #line 3646 "libinterp/parse-tree/oct-parse.cc"
3649 #line 584 "../libinterp/parse-tree/oct-parse.yy"
3651 #line 3652 "libinterp/parse-tree/oct-parse.cc"
3655 #line 586 "../libinterp/parse-tree/oct-parse.yy"
3661 #line 3662 "libinterp/parse-tree/oct-parse.cc"
3665 #line 602 "../libinterp/parse-tree/oct-parse.yy"
3666 { (yyval.tree_argument_list_type) =
nullptr; }
3667 #line 3668 "libinterp/parse-tree/oct-parse.cc"
3671 #line 604 "../libinterp/parse-tree/oct-parse.yy"
3675 (yyval.tree_argument_list_type) =
nullptr;
3677 #line 3678 "libinterp/parse-tree/oct-parse.cc"
3681 #line 610 "../libinterp/parse-tree/oct-parse.yy"
3682 { (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type); }
3683 #line 3684 "libinterp/parse-tree/oct-parse.cc"
3687 #line 612 "../libinterp/parse-tree/oct-parse.yy"
3691 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3693 #line 3694 "libinterp/parse-tree/oct-parse.cc"
3697 #line 618 "../libinterp/parse-tree/oct-parse.yy"
3701 (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type);
3703 #line 3704 "libinterp/parse-tree/oct-parse.cc"
3707 #line 624 "../libinterp/parse-tree/oct-parse.yy"
3711 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3713 #line 3714 "libinterp/parse-tree/oct-parse.cc"
3717 #line 632 "../libinterp/parse-tree/oct-parse.yy"
3719 #line 3720 "libinterp/parse-tree/oct-parse.cc"
3723 #line 640 "../libinterp/parse-tree/oct-parse.yy"
3726 if (! (yyval.tree_anon_fcn_handle_type))
3735 #line 3736 "libinterp/parse-tree/oct-parse.cc"
3739 #line 652 "../libinterp/parse-tree/oct-parse.yy"
3745 (yyval.tree_anon_fcn_handle_type) =
nullptr;
3749 #line 3750 "libinterp/parse-tree/oct-parse.cc"
3753 #line 664 "../libinterp/parse-tree/oct-parse.yy"
3754 { (yyval.tree_expression_type) = (
yyvsp[0].tree_identifier_type); }
3755 #line 3756 "libinterp/parse-tree/oct-parse.cc"
3759 #line 666 "../libinterp/parse-tree/oct-parse.yy"
3760 { (yyval.tree_expression_type) = (
yyvsp[0].tree_constant_type); }
3761 #line 3762 "libinterp/parse-tree/oct-parse.cc"
3765 #line 668 "../libinterp/parse-tree/oct-parse.yy"
3766 { (yyval.tree_expression_type) = (
yyvsp[0].tree_fcn_handle_type); }
3767 #line 3768 "libinterp/parse-tree/oct-parse.cc"
3771 #line 670 "../libinterp/parse-tree/oct-parse.yy"
3774 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
3776 #line 3777 "libinterp/parse-tree/oct-parse.cc"
3780 #line 675 "../libinterp/parse-tree/oct-parse.yy"
3781 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
3782 #line 3783 "libinterp/parse-tree/oct-parse.cc"
3786 #line 677 "../libinterp/parse-tree/oct-parse.yy"
3787 { (yyval.tree_expression_type) = (
yyvsp[0].tree_metaclass_query_type); }
3788 #line 3789 "libinterp/parse-tree/oct-parse.cc"
3792 #line 679 "../libinterp/parse-tree/oct-parse.yy"
3793 { (yyval.tree_expression_type) = (
yyvsp[0].tree_superclass_ref_type); }
3794 #line 3795 "libinterp/parse-tree/oct-parse.cc"
3798 #line 681 "../libinterp/parse-tree/oct-parse.yy"
3802 (yyval.tree_expression_type) = (
yyvsp[-1].tree_expression_type)->mark_in_parens ();
3804 #line 3805 "libinterp/parse-tree/oct-parse.cc"
3808 #line 689 "../libinterp/parse-tree/oct-parse.yy"
3810 #line 3811 "libinterp/parse-tree/oct-parse.cc"
3814 #line 693 "../libinterp/parse-tree/oct-parse.yy"
3820 #line 3821 "libinterp/parse-tree/oct-parse.cc"
3824 #line 701 "../libinterp/parse-tree/oct-parse.yy"
3826 #line 3827 "libinterp/parse-tree/oct-parse.cc"
3830 #line 703 "../libinterp/parse-tree/oct-parse.yy"
3832 #line 3833 "libinterp/parse-tree/oct-parse.cc"
3836 #line 705 "../libinterp/parse-tree/oct-parse.yy"
3838 #line 3839 "libinterp/parse-tree/oct-parse.cc"
3842 #line 707 "../libinterp/parse-tree/oct-parse.yy"
3848 #line 3849 "libinterp/parse-tree/oct-parse.cc"
3852 #line 713 "../libinterp/parse-tree/oct-parse.yy"
3858 #line 3859 "libinterp/parse-tree/oct-parse.cc"
3862 #line 719 "../libinterp/parse-tree/oct-parse.yy"
3868 #line 3869 "libinterp/parse-tree/oct-parse.cc"
3872 #line 727 "../libinterp/parse-tree/oct-parse.yy"
3876 (yyval.dummy_type) = 0;
3879 #line 3880 "libinterp/parse-tree/oct-parse.cc"
3883 #line 736 "../libinterp/parse-tree/oct-parse.yy"
3884 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
3885 #line 3886 "libinterp/parse-tree/oct-parse.cc"
3889 #line 738 "../libinterp/parse-tree/oct-parse.yy"
3891 #line 3892 "libinterp/parse-tree/oct-parse.cc"
3895 #line 740 "../libinterp/parse-tree/oct-parse.yy"
3897 #line 3898 "libinterp/parse-tree/oct-parse.cc"
3901 #line 742 "../libinterp/parse-tree/oct-parse.yy"
3906 if (! (yyval.tree_expression_type))
3912 #line 3913 "libinterp/parse-tree/oct-parse.cc"
3916 #line 753 "../libinterp/parse-tree/oct-parse.yy"
3921 if (! (yyval.tree_expression_type))
3927 #line 3928 "libinterp/parse-tree/oct-parse.cc"
3931 #line 764 "../libinterp/parse-tree/oct-parse.yy"
3936 if (! (yyval.tree_expression_type))
3942 #line 3943 "libinterp/parse-tree/oct-parse.cc"
3946 #line 775 "../libinterp/parse-tree/oct-parse.yy"
3951 if (! (yyval.tree_expression_type))
3957 #line 3958 "libinterp/parse-tree/oct-parse.cc"
3961 #line 786 "../libinterp/parse-tree/oct-parse.yy"
3963 #line 3964 "libinterp/parse-tree/oct-parse.cc"
3967 #line 788 "../libinterp/parse-tree/oct-parse.yy"
3969 #line 3970 "libinterp/parse-tree/oct-parse.cc"
3973 #line 790 "../libinterp/parse-tree/oct-parse.yy"
3975 #line 3976 "libinterp/parse-tree/oct-parse.cc"
3979 #line 792 "../libinterp/parse-tree/oct-parse.yy"
3985 #line 3986 "libinterp/parse-tree/oct-parse.cc"
3989 #line 798 "../libinterp/parse-tree/oct-parse.yy"
3991 #line 3992 "libinterp/parse-tree/oct-parse.cc"
3995 #line 800 "../libinterp/parse-tree/oct-parse.yy"
3997 #line 3998 "libinterp/parse-tree/oct-parse.cc"
4001 #line 802 "../libinterp/parse-tree/oct-parse.yy"
4003 #line 4004 "libinterp/parse-tree/oct-parse.cc"
4007 #line 804 "../libinterp/parse-tree/oct-parse.yy"
4009 #line 4010 "libinterp/parse-tree/oct-parse.cc"
4013 #line 806 "../libinterp/parse-tree/oct-parse.yy"
4015 #line 4016 "libinterp/parse-tree/oct-parse.cc"
4019 #line 808 "../libinterp/parse-tree/oct-parse.yy"
4021 #line 4022 "libinterp/parse-tree/oct-parse.cc"
4025 #line 810 "../libinterp/parse-tree/oct-parse.yy"
4027 #line 4028 "libinterp/parse-tree/oct-parse.cc"
4031 #line 812 "../libinterp/parse-tree/oct-parse.yy"
4033 #line 4034 "libinterp/parse-tree/oct-parse.cc"
4037 #line 814 "../libinterp/parse-tree/oct-parse.yy"
4039 #line 4040 "libinterp/parse-tree/oct-parse.cc"
4043 #line 816 "../libinterp/parse-tree/oct-parse.yy"
4045 #line 4046 "libinterp/parse-tree/oct-parse.cc"
4049 #line 818 "../libinterp/parse-tree/oct-parse.yy"
4051 #line 4052 "libinterp/parse-tree/oct-parse.cc"
4055 #line 820 "../libinterp/parse-tree/oct-parse.yy"
4057 #line 4058 "libinterp/parse-tree/oct-parse.cc"
4061 #line 822 "../libinterp/parse-tree/oct-parse.yy"
4063 #line 4064 "libinterp/parse-tree/oct-parse.cc"
4067 #line 824 "../libinterp/parse-tree/oct-parse.yy"
4069 #line 4070 "libinterp/parse-tree/oct-parse.cc"
4073 #line 826 "../libinterp/parse-tree/oct-parse.yy"
4075 #line 4076 "libinterp/parse-tree/oct-parse.cc"
4079 #line 828 "../libinterp/parse-tree/oct-parse.yy"
4081 #line 4082 "libinterp/parse-tree/oct-parse.cc"
4085 #line 832 "../libinterp/parse-tree/oct-parse.yy"
4086 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4087 #line 4088 "libinterp/parse-tree/oct-parse.cc"
4091 #line 834 "../libinterp/parse-tree/oct-parse.yy"
4093 #line 4094 "libinterp/parse-tree/oct-parse.cc"
4097 #line 836 "../libinterp/parse-tree/oct-parse.yy"
4099 #line 4100 "libinterp/parse-tree/oct-parse.cc"
4103 #line 838 "../libinterp/parse-tree/oct-parse.yy"
4108 if (! (yyval.tree_expression_type))
4114 #line 4115 "libinterp/parse-tree/oct-parse.cc"
4118 #line 849 "../libinterp/parse-tree/oct-parse.yy"
4123 if (! (yyval.tree_expression_type))
4129 #line 4130 "libinterp/parse-tree/oct-parse.cc"
4133 #line 860 "../libinterp/parse-tree/oct-parse.yy"
4138 if (! (yyval.tree_expression_type))
4144 #line 4145 "libinterp/parse-tree/oct-parse.cc"
4148 #line 871 "../libinterp/parse-tree/oct-parse.yy"
4153 if (! (yyval.tree_expression_type))
4159 #line 4160 "libinterp/parse-tree/oct-parse.cc"
4163 #line 882 "../libinterp/parse-tree/oct-parse.yy"
4165 #line 4166 "libinterp/parse-tree/oct-parse.cc"
4169 #line 884 "../libinterp/parse-tree/oct-parse.yy"
4175 #line 4176 "libinterp/parse-tree/oct-parse.cc"
4179 #line 890 "../libinterp/parse-tree/oct-parse.yy"
4181 #line 4182 "libinterp/parse-tree/oct-parse.cc"
4185 #line 892 "../libinterp/parse-tree/oct-parse.yy"
4187 #line 4188 "libinterp/parse-tree/oct-parse.cc"
4191 #line 894 "../libinterp/parse-tree/oct-parse.yy"
4193 #line 4194 "libinterp/parse-tree/oct-parse.cc"
4197 #line 896 "../libinterp/parse-tree/oct-parse.yy"
4199 #line 4200 "libinterp/parse-tree/oct-parse.cc"
4203 #line 898 "../libinterp/parse-tree/oct-parse.yy"
4205 #line 4206 "libinterp/parse-tree/oct-parse.cc"
4209 #line 900 "../libinterp/parse-tree/oct-parse.yy"
4211 #line 4212 "libinterp/parse-tree/oct-parse.cc"
4215 #line 904 "../libinterp/parse-tree/oct-parse.yy"
4221 if (! (yyval.tree_expression_type))
4227 #line 4228 "libinterp/parse-tree/oct-parse.cc"
4231 #line 916 "../libinterp/parse-tree/oct-parse.yy"
4237 if (! (yyval.tree_expression_type))
4243 #line 4244 "libinterp/parse-tree/oct-parse.cc"
4247 #line 930 "../libinterp/parse-tree/oct-parse.yy"
4248 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4249 #line 4250 "libinterp/parse-tree/oct-parse.cc"
4253 #line 932 "../libinterp/parse-tree/oct-parse.yy"
4254 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4255 #line 4256 "libinterp/parse-tree/oct-parse.cc"
4259 #line 934 "../libinterp/parse-tree/oct-parse.yy"
4261 #line 4262 "libinterp/parse-tree/oct-parse.cc"
4265 #line 936 "../libinterp/parse-tree/oct-parse.yy"
4267 #line 4268 "libinterp/parse-tree/oct-parse.cc"
4271 #line 938 "../libinterp/parse-tree/oct-parse.yy"
4273 #line 4274 "libinterp/parse-tree/oct-parse.cc"
4277 #line 940 "../libinterp/parse-tree/oct-parse.yy"
4279 #line 4280 "libinterp/parse-tree/oct-parse.cc"
4283 #line 942 "../libinterp/parse-tree/oct-parse.yy"
4285 #line 4286 "libinterp/parse-tree/oct-parse.cc"
4289 #line 944 "../libinterp/parse-tree/oct-parse.yy"
4291 #line 4292 "libinterp/parse-tree/oct-parse.cc"
4295 #line 946 "../libinterp/parse-tree/oct-parse.yy"
4297 #line 4298 "libinterp/parse-tree/oct-parse.cc"
4301 #line 948 "../libinterp/parse-tree/oct-parse.yy"
4303 #line 4304 "libinterp/parse-tree/oct-parse.cc"
4307 #line 950 "../libinterp/parse-tree/oct-parse.yy"
4309 #line 4310 "libinterp/parse-tree/oct-parse.cc"
4313 #line 952 "../libinterp/parse-tree/oct-parse.yy"
4315 #line 4316 "libinterp/parse-tree/oct-parse.cc"
4319 #line 956 "../libinterp/parse-tree/oct-parse.yy"
4323 if ((yyval.tree_argument_list_type))
4331 #line 4332 "libinterp/parse-tree/oct-parse.cc"
4335 #line 970 "../libinterp/parse-tree/oct-parse.yy"
4337 #line 4338 "libinterp/parse-tree/oct-parse.cc"
4341 #line 972 "../libinterp/parse-tree/oct-parse.yy"
4343 #line 4344 "libinterp/parse-tree/oct-parse.cc"
4347 #line 974 "../libinterp/parse-tree/oct-parse.yy"
4349 #line 4350 "libinterp/parse-tree/oct-parse.cc"
4353 #line 976 "../libinterp/parse-tree/oct-parse.yy"
4355 #line 4356 "libinterp/parse-tree/oct-parse.cc"
4359 #line 978 "../libinterp/parse-tree/oct-parse.yy"
4361 #line 4362 "libinterp/parse-tree/oct-parse.cc"
4365 #line 980 "../libinterp/parse-tree/oct-parse.yy"
4367 #line 4368 "libinterp/parse-tree/oct-parse.cc"
4371 #line 982 "../libinterp/parse-tree/oct-parse.yy"
4373 #line 4374 "libinterp/parse-tree/oct-parse.cc"
4377 #line 984 "../libinterp/parse-tree/oct-parse.yy"
4379 #line 4380 "libinterp/parse-tree/oct-parse.cc"
4383 #line 986 "../libinterp/parse-tree/oct-parse.yy"
4385 #line 4386 "libinterp/parse-tree/oct-parse.cc"
4389 #line 988 "../libinterp/parse-tree/oct-parse.yy"
4391 #line 4392 "libinterp/parse-tree/oct-parse.cc"
4395 #line 990 "../libinterp/parse-tree/oct-parse.yy"
4397 #line 4398 "libinterp/parse-tree/oct-parse.cc"
4401 #line 992 "../libinterp/parse-tree/oct-parse.yy"
4403 #line 4404 "libinterp/parse-tree/oct-parse.cc"
4407 #line 994 "../libinterp/parse-tree/oct-parse.yy"
4409 #line 4410 "libinterp/parse-tree/oct-parse.cc"
4413 #line 998 "../libinterp/parse-tree/oct-parse.yy"
4415 if ((
yyvsp[0].tree_expression_type) && ((
yyvsp[0].tree_expression_type)->is_matrix () || (
yyvsp[0].tree_expression_type)->iscell ()))
4418 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4421 delete (
yyvsp[0].tree_expression_type);
4426 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4428 #line 4429 "libinterp/parse-tree/oct-parse.cc"
4432 #line 1013 "../libinterp/parse-tree/oct-parse.yy"
4434 if (! (
yyvsp[0].tree_expression_type))
4437 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4439 #line 4440 "libinterp/parse-tree/oct-parse.cc"
4443 #line 1020 "../libinterp/parse-tree/oct-parse.yy"
4444 { (yyval.tree_expression_type) = (
yyvsp[0].tree_anon_fcn_handle_type); }
4445 #line 4446 "libinterp/parse-tree/oct-parse.cc"
4449 #line 1028 "../libinterp/parse-tree/oct-parse.yy"
4450 { (yyval.tree_command_type) = (
yyvsp[0].tree_decl_command_type); }
4451 #line 4452 "libinterp/parse-tree/oct-parse.cc"
4455 #line 1030 "../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 1032 "../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 1034 "../libinterp/parse-tree/oct-parse.yy"
4468 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4469 #line 4470 "libinterp/parse-tree/oct-parse.cc"
4473 #line 1036 "../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 1038 "../libinterp/parse-tree/oct-parse.yy"
4480 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4481 #line 4482 "libinterp/parse-tree/oct-parse.cc"
4485 #line 1040 "../libinterp/parse-tree/oct-parse.yy"
4486 { (yyval.tree_command_type) = (
yyvsp[0].tree_function_def_type); }
4487 #line 4488 "libinterp/parse-tree/oct-parse.cc"
4491 #line 1042 "../libinterp/parse-tree/oct-parse.yy"
4492 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4493 #line 4494 "libinterp/parse-tree/oct-parse.cc"
4497 #line 1050 "../libinterp/parse-tree/oct-parse.yy"
4502 #line 4503 "libinterp/parse-tree/oct-parse.cc"
4506 #line 1055 "../libinterp/parse-tree/oct-parse.yy"
4511 #line 4512 "libinterp/parse-tree/oct-parse.cc"
4515 #line 1062 "../libinterp/parse-tree/oct-parse.yy"
4517 #line 4518 "libinterp/parse-tree/oct-parse.cc"
4521 #line 1064 "../libinterp/parse-tree/oct-parse.yy"
4523 #line 4524 "libinterp/parse-tree/oct-parse.cc"
4527 #line 1068 "../libinterp/parse-tree/oct-parse.yy"
4529 #line 4530 "libinterp/parse-tree/oct-parse.cc"
4533 #line 1070 "../libinterp/parse-tree/oct-parse.yy"
4535 #line 4536 "libinterp/parse-tree/oct-parse.cc"
4539 #line 1078 "../libinterp/parse-tree/oct-parse.yy"
4540 { (yyval.tree_command_type) = (
yyvsp[0].tree_if_command_type); }
4541 #line 4542 "libinterp/parse-tree/oct-parse.cc"
4545 #line 1080 "../libinterp/parse-tree/oct-parse.yy"
4546 { (yyval.tree_command_type) = (
yyvsp[0].tree_switch_command_type); }
4547 #line 4548 "libinterp/parse-tree/oct-parse.cc"
4551 #line 1088 "../libinterp/parse-tree/oct-parse.yy"
4559 #line 4560 "libinterp/parse-tree/oct-parse.cc"
4563 #line 1098 "../libinterp/parse-tree/oct-parse.yy"
4564 { (yyval.tree_if_command_list_type) = (
yyvsp[0].tree_if_command_list_type); }
4565 #line 4566 "libinterp/parse-tree/oct-parse.cc"
4569 #line 1100 "../libinterp/parse-tree/oct-parse.yy"
4571 #line 4572 "libinterp/parse-tree/oct-parse.cc"
4575 #line 1104 "../libinterp/parse-tree/oct-parse.yy"
4583 #line 4584 "libinterp/parse-tree/oct-parse.cc"
4587 #line 1112 "../libinterp/parse-tree/oct-parse.yy"
4589 #line 4590 "libinterp/parse-tree/oct-parse.cc"
4593 #line 1116 "../libinterp/parse-tree/oct-parse.yy"
4601 #line 4602 "libinterp/parse-tree/oct-parse.cc"
4605 #line 1126 "../libinterp/parse-tree/oct-parse.yy"
4611 #line 4612 "libinterp/parse-tree/oct-parse.cc"
4615 #line 1138 "../libinterp/parse-tree/oct-parse.yy"
4625 #line 4626 "libinterp/parse-tree/oct-parse.cc"
4629 #line 1150 "../libinterp/parse-tree/oct-parse.yy"
4630 { (yyval.tree_switch_case_list_type) =
nullptr; }
4631 #line 4632 "libinterp/parse-tree/oct-parse.cc"
4635 #line 1152 "../libinterp/parse-tree/oct-parse.yy"
4637 #line 4638 "libinterp/parse-tree/oct-parse.cc"
4641 #line 1154 "../libinterp/parse-tree/oct-parse.yy"
4642 { (yyval.tree_switch_case_list_type) = (
yyvsp[0].tree_switch_case_list_type); }
4643 #line 4644 "libinterp/parse-tree/oct-parse.cc"
4647 #line 1156 "../libinterp/parse-tree/oct-parse.yy"
4649 #line 4650 "libinterp/parse-tree/oct-parse.cc"
4653 #line 1160 "../libinterp/parse-tree/oct-parse.yy"
4655 #line 4656 "libinterp/parse-tree/oct-parse.cc"
4659 #line 1162 "../libinterp/parse-tree/oct-parse.yy"
4661 #line 4662 "libinterp/parse-tree/oct-parse.cc"
4665 #line 1166 "../libinterp/parse-tree/oct-parse.yy"
4671 #line 4672 "libinterp/parse-tree/oct-parse.cc"
4675 #line 1174 "../libinterp/parse-tree/oct-parse.yy"
4681 #line 4682 "libinterp/parse-tree/oct-parse.cc"
4685 #line 1186 "../libinterp/parse-tree/oct-parse.yy"
4697 #line 4698 "libinterp/parse-tree/oct-parse.cc"
4701 #line 1198 "../libinterp/parse-tree/oct-parse.yy"
4707 #line 4708 "libinterp/parse-tree/oct-parse.cc"
4711 #line 1204 "../libinterp/parse-tree/oct-parse.yy"
4716 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4722 #line 4723 "libinterp/parse-tree/oct-parse.cc"
4726 #line 1215 "../libinterp/parse-tree/oct-parse.yy"
4731 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-8].comment_type))))
4737 #line 4738 "libinterp/parse-tree/oct-parse.cc"
4741 #line 1226 "../libinterp/parse-tree/oct-parse.yy"
4746 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4752 #line 4753 "libinterp/parse-tree/oct-parse.cc"
4756 #line 1237 "../libinterp/parse-tree/oct-parse.yy"
4761 (
yyvsp[-4].tree_expression_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-10].comment_type))))
4767 #line 4768 "libinterp/parse-tree/oct-parse.cc"
4771 #line 1254 "../libinterp/parse-tree/oct-parse.yy"
4776 #line 4777 "libinterp/parse-tree/oct-parse.cc"
4780 #line 1259 "../libinterp/parse-tree/oct-parse.yy"
4785 #line 4786 "libinterp/parse-tree/oct-parse.cc"
4789 #line 1264 "../libinterp/parse-tree/oct-parse.yy"
4791 #line 4792 "libinterp/parse-tree/oct-parse.cc"
4795 #line 1272 "../libinterp/parse-tree/oct-parse.yy"
4799 octave::comment_list *lc = (
yyvsp[-3].comment_type);
4808 #line 4809 "libinterp/parse-tree/oct-parse.cc"
4812 #line 1292 "../libinterp/parse-tree/oct-parse.yy"
4822 #line 4823 "libinterp/parse-tree/oct-parse.cc"
4826 #line 1303 "../libinterp/parse-tree/oct-parse.yy"
4836 #line 4837 "libinterp/parse-tree/oct-parse.cc"
4840 #line 1313 "../libinterp/parse-tree/oct-parse.yy"
4845 (
yyvsp[0].tok_val), (
yyvsp[-3].comment_type),
nullptr)))
4851 #line 4852 "libinterp/parse-tree/oct-parse.cc"
4855 #line 1330 "../libinterp/parse-tree/oct-parse.yy"
4860 (yyval.dummy_type) = 0;
4862 #line 4863 "libinterp/parse-tree/oct-parse.cc"
4866 #line 1343 "../libinterp/parse-tree/oct-parse.yy"
4870 (yyval.dummy_type) = 0;
4882 #line 4883 "libinterp/parse-tree/oct-parse.cc"
4886 #line 1361 "../libinterp/parse-tree/oct-parse.yy"
4890 (yyval.dummy_type) = 0;
4895 #line 4896 "libinterp/parse-tree/oct-parse.cc"
4899 #line 1372 "../libinterp/parse-tree/oct-parse.yy"
4900 { (yyval.tree_parameter_list_type) =
nullptr; }
4901 #line 4902 "libinterp/parse-tree/oct-parse.cc"
4905 #line 1374 "../libinterp/parse-tree/oct-parse.yy"
4906 { (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type); }
4907 #line 4908 "libinterp/parse-tree/oct-parse.cc"
4911 #line 1378 "../libinterp/parse-tree/oct-parse.yy"
4913 if ((
yyvsp[-1].tree_parameter_list_type))
4916 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
4918 #line 4919 "libinterp/parse-tree/oct-parse.cc"
4922 #line 1385 "../libinterp/parse-tree/oct-parse.yy"
4924 (yyval.tree_parameter_list_type) =
nullptr;
4928 #line 4929 "libinterp/parse-tree/oct-parse.cc"
4932 #line 1393 "../libinterp/parse-tree/oct-parse.yy"
4934 #line 4935 "libinterp/parse-tree/oct-parse.cc"
4938 #line 1395 "../libinterp/parse-tree/oct-parse.yy"
4940 (
yyvsp[0].tree_parameter_list_type)->mark_as_formal_parameters ();
4945 (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type);
4949 delete (
yyvsp[0].tree_parameter_list_type);
4953 #line 4954 "libinterp/parse-tree/oct-parse.cc"
4957 #line 1412 "../libinterp/parse-tree/oct-parse.yy"
4959 #line 4960 "libinterp/parse-tree/oct-parse.cc"
4963 #line 1414 "../libinterp/parse-tree/oct-parse.yy"
4969 #line 4970 "libinterp/parse-tree/oct-parse.cc"
4973 #line 1422 "../libinterp/parse-tree/oct-parse.yy"
4974 { (yyval.tree_decl_elt_type) = (
yyvsp[0].tree_decl_elt_type); }
4975 #line 4976 "libinterp/parse-tree/oct-parse.cc"
4979 #line 1424 "../libinterp/parse-tree/oct-parse.yy"
4981 #line 4982 "libinterp/parse-tree/oct-parse.cc"
4985 #line 1432 "../libinterp/parse-tree/oct-parse.yy"
4993 #line 4994 "libinterp/parse-tree/oct-parse.cc"
4997 #line 1440 "../libinterp/parse-tree/oct-parse.yy"
5001 octave::tree_parameter_list *tmp
5009 (yyval.tree_parameter_list_type) = tmp;
5016 #line 5017 "libinterp/parse-tree/oct-parse.cc"
5020 #line 1459 "../libinterp/parse-tree/oct-parse.yy"
5030 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
5033 delete (
yyvsp[-1].tree_parameter_list_type);
5037 #line 5038 "libinterp/parse-tree/oct-parse.cc"
5041 #line 1478 "../libinterp/parse-tree/oct-parse.yy"
5045 #line 5046 "libinterp/parse-tree/oct-parse.cc"
5049 #line 1482 "../libinterp/parse-tree/oct-parse.yy"
5055 #line 5056 "libinterp/parse-tree/oct-parse.cc"
5059 #line 1495 "../libinterp/parse-tree/oct-parse.yy"
5061 #line 5062 "libinterp/parse-tree/oct-parse.cc"
5065 #line 1499 "../libinterp/parse-tree/oct-parse.yy"
5067 (yyval.dummy_type) = 0;
5073 #line 5074 "libinterp/parse-tree/oct-parse.cc"
5077 #line 1509 "../libinterp/parse-tree/oct-parse.yy"
5078 { (yyval.dummy_type) = 0; }
5079 #line 5080 "libinterp/parse-tree/oct-parse.cc"
5083 #line 1513 "../libinterp/parse-tree/oct-parse.yy"
5098 delete (
yyvsp[-1].tree_statement_list_type);
5105 octave::tree_statement *end_of_script
5107 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5115 (yyval.tree_command_type) =
nullptr;
5117 #line 5118 "libinterp/parse-tree/oct-parse.cc"
5121 #line 1547 "../libinterp/parse-tree/oct-parse.yy"
5131 (yyval.tree_command_type) =
nullptr;
5133 #line 5134 "libinterp/parse-tree/oct-parse.cc"
5137 #line 1565 "../libinterp/parse-tree/oct-parse.yy"
5139 (yyval.tok_val) = (
yyvsp[0].tok_val);
5144 #line 5145 "libinterp/parse-tree/oct-parse.cc"
5148 #line 1574 "../libinterp/parse-tree/oct-parse.yy"
5158 #line 5159 "libinterp/parse-tree/oct-parse.cc"
5162 #line 1584 "../libinterp/parse-tree/oct-parse.yy"
5166 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5173 #line 5174 "libinterp/parse-tree/oct-parse.cc"
5177 #line 1595 "../libinterp/parse-tree/oct-parse.yy"
5181 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5188 #line 5189 "libinterp/parse-tree/oct-parse.cc"
5192 #line 1608 "../libinterp/parse-tree/oct-parse.yy"
5197 (yyval.tree_statement_type) =
parser.
make_end (
"endfunction",
false,
5198 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5205 #line 5206 "libinterp/parse-tree/oct-parse.cc"
5209 #line 1621 "../libinterp/parse-tree/oct-parse.yy"
5221 "if one function is explicitly ended, "
5222 "so must all the others");
5239 (yyval.tree_statement_type) =
parser.
make_end (
"endfunction",
true,
5240 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5242 #line 5243 "libinterp/parse-tree/oct-parse.cc"
5246 #line 1657 "../libinterp/parse-tree/oct-parse.yy"
5250 (yyval.tree_function_def_type) =
parser.
make_function ((
yyvsp[-6].tok_val),
nullptr, (
yyvsp[-4].tree_identifier_type), (
yyvsp[-3].tree_parameter_list_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tree_statement_type), (
yyvsp[-5].comment_type));
5252 #line 5253 "libinterp/parse-tree/oct-parse.cc"
5256 #line 1664 "../libinterp/parse-tree/oct-parse.yy"
5260 (yyval.tree_function_def_type) =
parser.
make_function ((
yyvsp[-8].tok_val), (
yyvsp[-6].tree_parameter_list_type), (
yyvsp[-4].tree_identifier_type), (
yyvsp[-3].tree_parameter_list_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tree_statement_type), (
yyvsp[-7].comment_type));
5262 #line 5263 "libinterp/parse-tree/oct-parse.cc"
5266 #line 1672 "../libinterp/parse-tree/oct-parse.yy"
5270 (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type);
5272 #line 5273 "libinterp/parse-tree/oct-parse.cc"
5276 #line 1678 "../libinterp/parse-tree/oct-parse.yy"
5282 #line 5283 "libinterp/parse-tree/oct-parse.cc"
5286 #line 1687 "../libinterp/parse-tree/oct-parse.yy"
5288 (yyval.dummy_type) = 0;
5291 #line 5292 "libinterp/parse-tree/oct-parse.cc"
5295 #line 1694 "../libinterp/parse-tree/oct-parse.yy"
5301 #line 5302 "libinterp/parse-tree/oct-parse.cc"
5305 #line 1700 "../libinterp/parse-tree/oct-parse.yy"
5311 #line 5312 "libinterp/parse-tree/oct-parse.cc"
5315 #line 1709 "../libinterp/parse-tree/oct-parse.yy"
5319 octave::comment_list *lc = (
yyvsp[-5].comment_type);
5330 #line 5331 "libinterp/parse-tree/oct-parse.cc"
5334 #line 1726 "../libinterp/parse-tree/oct-parse.yy"
5336 (yyval.tok_val) = (
yyvsp[0].tok_val);
5339 #line 5340 "libinterp/parse-tree/oct-parse.cc"
5343 #line 1733 "../libinterp/parse-tree/oct-parse.yy"
5344 { (yyval.tree_args_block_attribute_list_type) =
nullptr; }
5345 #line 5346 "libinterp/parse-tree/oct-parse.cc"
5349 #line 1735 "../libinterp/parse-tree/oct-parse.yy"
5360 #line 5361 "libinterp/parse-tree/oct-parse.cc"
5364 #line 1749 "../libinterp/parse-tree/oct-parse.yy"
5366 (
yyvsp[0].tree_arg_validation_type)->arg_name ((
yyvsp[-1].tree_expression_type));
5369 #line 5370 "libinterp/parse-tree/oct-parse.cc"
5373 #line 1754 "../libinterp/parse-tree/oct-parse.yy"
5377 (
yyvsp[0].tree_arg_validation_type)->arg_name ((
yyvsp[-1].tree_expression_type));
5380 #line 5381 "libinterp/parse-tree/oct-parse.cc"
5384 #line 1767 "../libinterp/parse-tree/oct-parse.yy"
5385 { (yyval.tree_expression_type) = (
yyvsp[0].tree_identifier_type); }
5386 #line 5387 "libinterp/parse-tree/oct-parse.cc"
5390 #line 1771 "../libinterp/parse-tree/oct-parse.yy"
5398 #line 5399 "libinterp/parse-tree/oct-parse.cc"
5402 #line 1781 "../libinterp/parse-tree/oct-parse.yy"
5403 { (yyval.tree_arg_size_spec_type) =
nullptr; }
5404 #line 5405 "libinterp/parse-tree/oct-parse.cc"
5408 #line 1783 "../libinterp/parse-tree/oct-parse.yy"
5418 #line 5419 "libinterp/parse-tree/oct-parse.cc"
5422 #line 1795 "../libinterp/parse-tree/oct-parse.yy"
5423 { (yyval.tree_identifier_type) =
nullptr; }
5424 #line 5425 "libinterp/parse-tree/oct-parse.cc"
5428 #line 1797 "../libinterp/parse-tree/oct-parse.yy"
5429 { (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type); }
5430 #line 5431 "libinterp/parse-tree/oct-parse.cc"
5434 #line 1802 "../libinterp/parse-tree/oct-parse.yy"
5435 { (yyval.tree_arg_validation_fcns_type) =
nullptr; }
5436 #line 5437 "libinterp/parse-tree/oct-parse.cc"
5440 #line 1804 "../libinterp/parse-tree/oct-parse.yy"
5450 #line 5451 "libinterp/parse-tree/oct-parse.cc"
5454 #line 1816 "../libinterp/parse-tree/oct-parse.yy"
5455 { (yyval.tree_expression_type) =
nullptr; }
5456 #line 5457 "libinterp/parse-tree/oct-parse.cc"
5460 #line 1818 "../libinterp/parse-tree/oct-parse.yy"
5464 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
5466 #line 5467 "libinterp/parse-tree/oct-parse.cc"
5470 #line 1830 "../libinterp/parse-tree/oct-parse.yy"
5474 parser.
bison_error (
"classdef must appear inside a file containing only a class definition");
5484 (yyval.tok_val) = (
yyvsp[0].tok_val);
5486 #line 5487 "libinterp/parse-tree/oct-parse.cc"
5490 #line 1848 "../libinterp/parse-tree/oct-parse.yy"
5494 octave::comment_list *lc = (
yyvsp[-6].comment_type);
5499 if (! ((yyval.tree_classdef_type) =
parser.
make_classdef ((
yyvsp[-7].tok_val), (
yyvsp[-5].tree_classdef_attribute_list_type), (
yyvsp[-4].tree_identifier_type), (
yyvsp[-2].tree_classdef_superclass_list_type), (
yyvsp[-1].tree_classdef_body_type), (
yyvsp[0].tok_val),
5507 #line 5508 "libinterp/parse-tree/oct-parse.cc"
5511 #line 1867 "../libinterp/parse-tree/oct-parse.yy"
5512 { (yyval.tree_classdef_attribute_list_type) =
nullptr; }
5513 #line 5514 "libinterp/parse-tree/oct-parse.cc"
5517 #line 1869 "../libinterp/parse-tree/oct-parse.yy"
5521 (yyval.tree_classdef_attribute_list_type) = (
yyvsp[-2].tree_classdef_attribute_list_type);
5523 #line 5524 "libinterp/parse-tree/oct-parse.cc"
5527 #line 1877 "../libinterp/parse-tree/oct-parse.yy"
5529 #line 5530 "libinterp/parse-tree/oct-parse.cc"
5533 #line 1879 "../libinterp/parse-tree/oct-parse.yy"
5539 #line 5540 "libinterp/parse-tree/oct-parse.cc"
5543 #line 1887 "../libinterp/parse-tree/oct-parse.yy"
5545 #line 5546 "libinterp/parse-tree/oct-parse.cc"
5549 #line 1889 "../libinterp/parse-tree/oct-parse.yy"
5555 #line 5556 "libinterp/parse-tree/oct-parse.cc"
5559 #line 1895 "../libinterp/parse-tree/oct-parse.yy"
5565 #line 5566 "libinterp/parse-tree/oct-parse.cc"
5569 #line 1901 "../libinterp/parse-tree/oct-parse.yy"
5575 #line 5576 "libinterp/parse-tree/oct-parse.cc"
5579 #line 1909 "../libinterp/parse-tree/oct-parse.yy"
5584 (yyval.tree_classdef_superclass_list_type) =
nullptr;
5586 #line 5587 "libinterp/parse-tree/oct-parse.cc"
5590 #line 1916 "../libinterp/parse-tree/oct-parse.yy"
5597 (yyval.tree_classdef_superclass_list_type) = (
yyvsp[-1].tree_classdef_superclass_list_type);
5599 #line 5600 "libinterp/parse-tree/oct-parse.cc"
5603 #line 1928 "../libinterp/parse-tree/oct-parse.yy"
5609 #line 5610 "libinterp/parse-tree/oct-parse.cc"
5613 #line 1934 "../libinterp/parse-tree/oct-parse.yy"
5619 #line 5620 "libinterp/parse-tree/oct-parse.cc"
5623 #line 1942 "../libinterp/parse-tree/oct-parse.yy"
5625 #line 5626 "libinterp/parse-tree/oct-parse.cc"
5629 #line 1946 "../libinterp/parse-tree/oct-parse.yy"
5632 (yyval.tree_classdef_body_type) =
nullptr;
5634 #line 5635 "libinterp/parse-tree/oct-parse.cc"
5638 #line 1951 "../libinterp/parse-tree/oct-parse.yy"
5643 (yyval.tree_classdef_body_type) = (
yyvsp[-1].tree_classdef_body_type);
5645 #line 5646 "libinterp/parse-tree/oct-parse.cc"
5649 #line 1960 "../libinterp/parse-tree/oct-parse.yy"
5651 #line 5652 "libinterp/parse-tree/oct-parse.cc"
5655 #line 1962 "../libinterp/parse-tree/oct-parse.yy"
5657 #line 5658 "libinterp/parse-tree/oct-parse.cc"
5661 #line 1964 "../libinterp/parse-tree/oct-parse.yy"
5663 #line 5664 "libinterp/parse-tree/oct-parse.cc"
5667 #line 1966 "../libinterp/parse-tree/oct-parse.yy"
5669 #line 5670 "libinterp/parse-tree/oct-parse.cc"
5673 #line 1968 "../libinterp/parse-tree/oct-parse.yy"
5679 #line 5680 "libinterp/parse-tree/oct-parse.cc"
5683 #line 1974 "../libinterp/parse-tree/oct-parse.yy"
5689 #line 5690 "libinterp/parse-tree/oct-parse.cc"
5693 #line 1980 "../libinterp/parse-tree/oct-parse.yy"
5699 #line 5700 "libinterp/parse-tree/oct-parse.cc"
5703 #line 1986 "../libinterp/parse-tree/oct-parse.yy"
5709 #line 5710 "libinterp/parse-tree/oct-parse.cc"
5713 #line 1995 "../libinterp/parse-tree/oct-parse.yy"
5717 octave::comment_list *lc = (
yyvsp[-4].comment_type);
5721 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_property_list_type), (
yyvsp[0].tok_val), lc, tc)))
5728 #line 5729 "libinterp/parse-tree/oct-parse.cc"
5732 #line 2012 "../libinterp/parse-tree/oct-parse.yy"
5735 (yyval.tok_val) = (
yyvsp[0].tok_val);
5737 #line 5738 "libinterp/parse-tree/oct-parse.cc"
5741 #line 2019 "../libinterp/parse-tree/oct-parse.yy"
5744 (yyval.tree_classdef_property_list_type) =
nullptr;
5746 #line 5747 "libinterp/parse-tree/oct-parse.cc"
5750 #line 2024 "../libinterp/parse-tree/oct-parse.yy"
5755 (yyval.tree_classdef_property_list_type) = (
yyvsp[-1].tree_classdef_property_list_type);
5757 #line 5758 "libinterp/parse-tree/oct-parse.cc"
5761 #line 2034 "../libinterp/parse-tree/oct-parse.yy"
5763 #line 5764 "libinterp/parse-tree/oct-parse.cc"
5767 #line 2036 "../libinterp/parse-tree/oct-parse.yy"
5779 octave::tree_classdef_property *last_elt = (
yyvsp[-2].tree_classdef_property_list_type)->back ();
5781 if (! last_elt->have_doc_string ())
5783 octave::comment_list *cl = (
yyvsp[0].tree_classdef_property_type)->comments ();
5787 octave::comment_elt elt = cl->front ();
5789 if (elt.is_end_of_line ())
5790 last_elt->doc_string (elt.text ());
5796 #line 5797 "libinterp/parse-tree/oct-parse.cc"
5800 #line 2067 "../libinterp/parse-tree/oct-parse.yy"
5802 #line 5803 "libinterp/parse-tree/oct-parse.cc"
5806 #line 2071 "../libinterp/parse-tree/oct-parse.yy"
5810 octave::comment_list *lc = (
yyvsp[-4].comment_type);
5814 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_methods_list_type), (
yyvsp[0].tok_val), lc, tc)))
5821 #line 5822 "libinterp/parse-tree/oct-parse.cc"
5825 #line 2088 "../libinterp/parse-tree/oct-parse.yy"
5828 (yyval.tok_val) = (
yyvsp[0].tok_val);
5830 #line 5831 "libinterp/parse-tree/oct-parse.cc"
5834 #line 2095 "../libinterp/parse-tree/oct-parse.yy"
5839 #line 5840 "libinterp/parse-tree/oct-parse.cc"
5843 #line 2100 "../libinterp/parse-tree/oct-parse.yy"
5848 #line 5849 "libinterp/parse-tree/oct-parse.cc"
5852 #line 2107 "../libinterp/parse-tree/oct-parse.yy"
5854 #line 5855 "libinterp/parse-tree/oct-parse.cc"
5858 #line 2109 "../libinterp/parse-tree/oct-parse.yy"
5865 #line 5866 "libinterp/parse-tree/oct-parse.cc"
5869 #line 2116 "../libinterp/parse-tree/oct-parse.yy"
5876 #line 5877 "libinterp/parse-tree/oct-parse.cc"
5880 #line 2125 "../libinterp/parse-tree/oct-parse.yy"
5881 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5882 #line 5883 "libinterp/parse-tree/oct-parse.cc"
5886 #line 2127 "../libinterp/parse-tree/oct-parse.yy"
5887 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5888 #line 5889 "libinterp/parse-tree/oct-parse.cc"
5892 #line 2131 "../libinterp/parse-tree/oct-parse.yy"
5895 (yyval.tree_classdef_methods_list_type) =
nullptr;
5897 #line 5898 "libinterp/parse-tree/oct-parse.cc"
5901 #line 2136 "../libinterp/parse-tree/oct-parse.yy"
5906 (yyval.tree_classdef_methods_list_type) = (
yyvsp[-1].tree_classdef_methods_list_type);
5908 #line 5909 "libinterp/parse-tree/oct-parse.cc"
5912 #line 2145 "../libinterp/parse-tree/oct-parse.yy"
5914 #line 5915 "libinterp/parse-tree/oct-parse.cc"
5918 #line 2147 "../libinterp/parse-tree/oct-parse.yy"
5924 #line 5925 "libinterp/parse-tree/oct-parse.cc"
5928 #line 2155 "../libinterp/parse-tree/oct-parse.yy"
5932 octave::comment_list *lc = (
yyvsp[-4].comment_type);
5936 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_events_list_type), (
yyvsp[0].tok_val), lc, tc)))
5943 #line 5944 "libinterp/parse-tree/oct-parse.cc"
5947 #line 2172 "../libinterp/parse-tree/oct-parse.yy"
5950 (yyval.tok_val) = (
yyvsp[0].tok_val);
5952 #line 5953 "libinterp/parse-tree/oct-parse.cc"
5956 #line 2179 "../libinterp/parse-tree/oct-parse.yy"
5959 (yyval.tree_classdef_events_list_type) =
nullptr;
5961 #line 5962 "libinterp/parse-tree/oct-parse.cc"
5965 #line 2184 "../libinterp/parse-tree/oct-parse.yy"
5970 (yyval.tree_classdef_events_list_type) = (
yyvsp[-1].tree_classdef_events_list_type);
5972 #line 5973 "libinterp/parse-tree/oct-parse.cc"
5976 #line 2193 "../libinterp/parse-tree/oct-parse.yy"
5978 #line 5979 "libinterp/parse-tree/oct-parse.cc"
5982 #line 2195 "../libinterp/parse-tree/oct-parse.yy"
5988 #line 5989 "libinterp/parse-tree/oct-parse.cc"
5992 #line 2203 "../libinterp/parse-tree/oct-parse.yy"
5994 #line 5995 "libinterp/parse-tree/oct-parse.cc"
5998 #line 2207 "../libinterp/parse-tree/oct-parse.yy"
6002 octave::comment_list *lc = (
yyvsp[-4].comment_type);
6006 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_enum_list_type), (
yyvsp[0].tok_val), lc, tc)))
6013 #line 6014 "libinterp/parse-tree/oct-parse.cc"
6017 #line 2224 "../libinterp/parse-tree/oct-parse.yy"
6020 (yyval.tok_val) = (
yyvsp[0].tok_val);
6022 #line 6023 "libinterp/parse-tree/oct-parse.cc"
6026 #line 2231 "../libinterp/parse-tree/oct-parse.yy"
6029 (yyval.tree_classdef_enum_list_type) =
nullptr;
6031 #line 6032 "libinterp/parse-tree/oct-parse.cc"
6035 #line 2236 "../libinterp/parse-tree/oct-parse.yy"
6040 (yyval.tree_classdef_enum_list_type) = (
yyvsp[-1].tree_classdef_enum_list_type);
6042 #line 6043 "libinterp/parse-tree/oct-parse.cc"
6046 #line 2245 "../libinterp/parse-tree/oct-parse.yy"
6048 #line 6049 "libinterp/parse-tree/oct-parse.cc"
6052 #line 2247 "../libinterp/parse-tree/oct-parse.yy"
6058 #line 6059 "libinterp/parse-tree/oct-parse.cc"
6062 #line 2255 "../libinterp/parse-tree/oct-parse.yy"
6068 #line 6069 "libinterp/parse-tree/oct-parse.cc"
6072 #line 2267 "../libinterp/parse-tree/oct-parse.yy"
6074 (yyval.dummy_type) = 0;
6077 #line 6078 "libinterp/parse-tree/oct-parse.cc"
6081 #line 2274 "../libinterp/parse-tree/oct-parse.yy"
6083 (yyval.dummy_type) = 0;
6087 #line 6088 "libinterp/parse-tree/oct-parse.cc"
6091 #line 2282 "../libinterp/parse-tree/oct-parse.yy"
6093 #line 6094 "libinterp/parse-tree/oct-parse.cc"
6097 #line 2286 "../libinterp/parse-tree/oct-parse.yy"
6099 (yyval.dummy_type) = 0;
6100 std::string msg = (
yyvsp[0].tok_val)->text ();
6103 #line 6104 "libinterp/parse-tree/oct-parse.cc"
6107 #line 2292 "../libinterp/parse-tree/oct-parse.yy"
6108 { (yyval.dummy_type) = 0; }
6109 #line 6110 "libinterp/parse-tree/oct-parse.cc"
6113 #line 2296 "../libinterp/parse-tree/oct-parse.yy"
6117 (yyval.punct_type) =
',';
6119 #line 6120 "libinterp/parse-tree/oct-parse.cc"
6123 #line 2302 "../libinterp/parse-tree/oct-parse.yy"
6127 (yyval.punct_type) =
';';
6129 #line 6130 "libinterp/parse-tree/oct-parse.cc"
6133 #line 2308 "../libinterp/parse-tree/oct-parse.yy"
6137 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6139 #line 6140 "libinterp/parse-tree/oct-parse.cc"
6143 #line 2314 "../libinterp/parse-tree/oct-parse.yy"
6147 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6149 #line 6150 "libinterp/parse-tree/oct-parse.cc"
6153 #line 2322 "../libinterp/parse-tree/oct-parse.yy"
6154 { (yyval.punct_type) = 0; }
6155 #line 6156 "libinterp/parse-tree/oct-parse.cc"
6159 #line 2324 "../libinterp/parse-tree/oct-parse.yy"
6160 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6161 #line 6162 "libinterp/parse-tree/oct-parse.cc"
6165 #line 2328 "../libinterp/parse-tree/oct-parse.yy"
6166 { (yyval.punct_type) = 0; }
6167 #line 6168 "libinterp/parse-tree/oct-parse.cc"
6171 #line 2330 "../libinterp/parse-tree/oct-parse.yy"
6172 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6173 #line 6174 "libinterp/parse-tree/oct-parse.cc"
6177 #line 2334 "../libinterp/parse-tree/oct-parse.yy"
6181 (yyval.punct_type) =
'\n';
6183 #line 6184 "libinterp/parse-tree/oct-parse.cc"
6187 #line 2340 "../libinterp/parse-tree/oct-parse.yy"
6191 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6193 #line 6194 "libinterp/parse-tree/oct-parse.cc"
6197 #line 2348 "../libinterp/parse-tree/oct-parse.yy"
6201 (yyval.punct_type) =
',';
6203 #line 6204 "libinterp/parse-tree/oct-parse.cc"
6207 #line 2354 "../libinterp/parse-tree/oct-parse.yy"
6211 (yyval.punct_type) =
';';
6213 #line 6214 "libinterp/parse-tree/oct-parse.cc"
6217 #line 2360 "../libinterp/parse-tree/oct-parse.yy"
6221 (yyval.punct_type) =
'\n';
6223 #line 6224 "libinterp/parse-tree/oct-parse.cc"
6227 #line 2366 "../libinterp/parse-tree/oct-parse.yy"
6231 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6233 #line 6234 "libinterp/parse-tree/oct-parse.cc"
6237 #line 2372 "../libinterp/parse-tree/oct-parse.yy"
6241 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6243 #line 6244 "libinterp/parse-tree/oct-parse.cc"
6247 #line 2378 "../libinterp/parse-tree/oct-parse.yy"
6251 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6253 #line 6254 "libinterp/parse-tree/oct-parse.cc"
6257 #line 2386 "../libinterp/parse-tree/oct-parse.yy"
6258 { (yyval.punct_type) = 0; }
6259 #line 6260 "libinterp/parse-tree/oct-parse.cc"
6263 #line 2388 "../libinterp/parse-tree/oct-parse.yy"
6264 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6265 #line 6266 "libinterp/parse-tree/oct-parse.cc"
6269 #line 6270 "libinterp/parse-tree/oct-parse.cc"
6475 #line 2391 "../libinterp/parse-tree/oct-parse.yy"
6478 #if defined (HAVE_PRAGMA_GCC_DIAGNOSTIC)
6480 # pragma GCC diagnostic pop
6501 const std::string& fcn_name =
"",
6502 const std::string& file_name =
"",
6503 int line = -1,
int column = -1)
6505 m_fcn_name (fcn_name), m_file_name (file_name),
6506 m_line (line), m_column (column)
6515 std::string
message (
void)
const {
return m_message; }
6518 const char *
what (
void)
const noexcept {
return m_message.c_str (); }
6520 std::string
fcn_name (
void)
const {
return m_fcn_name; }
6523 int line (
void)
const {
return m_line; }
6568 stmt_list->
accept (*
this);
6578 stmt_list->
accept (*
this);
6580 std::map<std::string, octave_value> subfcns = fcn.
subfunctions ();
6582 if (! subfcns.empty ())
6584 for (
auto& nm_val : subfcns)
6599 std::string sym_nm = idx_expr.
name ();
6604 = sym_nm +
": invalid use of symbol as both variable and command";
6621 template <
typename LIST_T,
typename ELT_T>
6638 m_info.push_back (elt);
6661 std::string full_name;
6663 for (std::size_t i = 0; i < size()-1; i++)
6667 if (name == elt.second)
6670 full_name += elt.second +
">";
6675 if (m_all_names.find (full_name) != m_all_names.end ())
6681 return ! (m_parser.parsing_subfunctions ()
6682 || m_parser.parsing_local_functions ()
6683 || m_parser.curr_fcn_depth () > 0);
6686 m_all_names.insert (full_name);
6694 if (! name_ok (name))
6698 m_info.back().second = name;
6706 return size () > 1 ? m_info[size()-2].first :
symbol_scope ();
6712 return m_info[size()-2].second;
6718 m_all_names.clear ();
6776 std::string retval =
"<unknown>";
6785 retval =
"endclassdef";
6789 retval =
"endenumeration";
6793 retval =
"endevents";
6801 retval =
"endfunction";
6809 retval =
"endmethods";
6813 retval =
"endparfor";
6817 retval =
"endproperties";
6825 retval =
"endswitch";
6829 retval =
"end_try_catch";
6833 retval =
"end_unwind_protect";
6837 retval =
"endwhile";
6858 while (! lst->empty ())
6872 +
"' command matched by '"
6909 bison_error (
"nested functions not implemented in this context");
6922 int l = tok_val->
line ();
6923 int c = tok_val->
column ();
6948 std::string txt = tok_val->
text ();
6950 char delim = op ==
DQ_STRING ?
'"' :
'\'';
6991 int l = tok_val->
line ();
6992 int c = tok_val->
column ();
7012 if (! validator.
ok ())
7032 int at_line = at_pos.
line ();
7033 int at_column = at_pos.
column ();
7037 parent_scope, at_line, at_column);
7039 std::ostringstream buf;
7046 if (! file.empty ())
7047 buf <<
": file: " << file;
7049 buf <<
": *terminal input*";
7051 buf <<
": *eval string*";
7052 buf <<
": line: " << at_line <<
" column: " << at_column;
7054 std::string scope_name = buf.str ();
7074 if (! base || ! limit)
7083 int l = base->
line ();
7123 std::ostringstream buf;
7232 int l = tok_val->
line ();
7233 int c = tok_val->
column ();
7262 int line = expr->
line ();
7263 int column = expr->
column ();
7268 (lhs, rhs, line, column, op_type);
7296 int l = tok_val->
line ();
7297 int c = tok_val->
column ();
7337 int l = tok_val->
line ();
7338 int c = tok_val->
column ();
7373 int l = tok_val->
line ();
7374 int c = tok_val->
column ();
7395 int l = unwind_tok->
line ();
7396 int c = unwind_tok->
column ();
7404 delete cleanup_stmts;
7429 int l = try_tok->
line ();
7430 int c = try_tok->
column ();
7434 if (! catch_sep && cleanup_stmts && ! cleanup_stmts->
empty ())
7460 delete cleanup_stmts;
7487 int l = while_tok->
line ();
7488 int c = while_tok->
column ();
7517 int l = until_tok->
line ();
7518 int c = until_tok->
column ();
7536 bool parfor = tok_id ==
PARFOR;
7546 int l = for_tok->
line ();
7547 int c = for_tok->
column ();
7556 body, lc, tc, l, c);
7569 bison_error (
"invalid syntax for parfor statement");
7596 int l = break_tok->
line ();
7597 int c = break_tok->
column ();
7613 int l = continue_tok->
line ();
7614 int c = continue_tok->
column ();
7618 bison_error (
"continue must appear within a loop");
7630 int l = return_tok->
line ();
7631 int c = return_tok->
column ();
7647 int l = spmd_tok->
line ();
7648 int c = spmd_tok->
column ();
7693 int l = if_tok->
line ();
7694 int c = if_tok->
column ();
7696 if (list && ! list->
empty ())
7729 int l = elseif_tok->
line ();
7730 int c = elseif_tok->
column ();
7739 int l = else_tok->
line ();
7740 int c = else_tok->
column ();
7767 int l = switch_tok->
line ();
7768 int c = switch_tok->
column ();
7770 if (list && ! list->
empty ())
7810 int l = case_tok->
line ();
7811 int c = case_tok->
column ();
7820 int l = default_tok->
line ();
7821 int c = default_tok->
column ();
7900 int l = eq_tok->
line ();
7901 int c = eq_tok->
column ();
7911 bison_error (
"computed multiple assignment not allowed",
7926 std::string kw = tmp->
name ();
7932 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7948 for (
const auto& kw : names)
7955 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7975 cmds->
append (end_script);
8002 std::string id_name =
id->
name ();
8011 bison_error (
"duplicate subfunction or nested function name",
8042 int l = fcn_tok->
line ();
8043 int c = fcn_tok->
column ();
8065 std::string id_name =
id->
name ();
8070 id_name.insert (0,
"get.");
8072 id_name.insert (0,
"set.");
8080 body->
append (end_fcn_stmt);
8084 param_list,
nullptr, body);
8090 end_fcn_stmt->
column ());
8107 if (pos != std::string::npos)
8113 (
"Octave:function-name-clash",
8114 "function name '%s' does not agree with function filename '%s'",
8157 sys::file_stat fs (nm);
8159 if (fs && fs.is_newer (now))
8161 "time stamp for '%s' is in the future", nm.c_str ());
8168 warning (
"function '%s' defined within script file '%s'",
8195 int l = beg_pos.
line ();
8196 int c = beg_pos.
column ();
8216 std::string fcn_nm = fcn->
name ();
8219 std::string tmp = fcn_nm;
8220 if (! file.empty ())
8302 for (
const auto& elt : *list)
8325 int l = beg_pos.
line ();
8326 int c = beg_pos.
column ();
8333 delete validation_list;
8352 validation_fcns, default_value);
8433 std::string cls_name =
id->name ();
8441 if (pos != std::string::npos)
8442 short_name = short_name.substr (pos+1);
8444 if (short_name != cls_name)
8446 int l =
id->line ();
8447 int c =
id->column ();
8456 bison_error (
"invalid classdef definition, the class name must match the filename", l, c);
8463 int l = tok_val->
line ();
8464 int c = tok_val->
column ();
8470 a,
id, sc, body, lc, tc,
8510 int l = tok_val->
line ();
8511 int c = tok_val->
column ();
8529 std::string eol_comment = first_comment_elt.
text ();
8567 warning (
"size, class, and validation function specifications are not yet supported for classdef properties; INCORRECT RESULTS ARE POSSIBLE!");
8588 int l = tok_val->
line ();
8589 int c = tok_val->
column ();
8630 int l = tok_val->
line ();
8631 int c = tok_val->
column ();
8685 int l = tok_val->
line ();
8686 int c = tok_val->
column ();
8851 std::string mname =
id->
name ();
8858 if (mname.find_first_of (
".") == std::string::npos
8859 && mname !=
"delete"
8869 int l =
id->line ();
8870 int c =
id->column ();
8875 bison_error (
"invalid external method declaration, an external "
8876 "method cannot be the class constructor, 'delete' "
8877 "or have a dot (.) character in its name");
8880 bison_error (
"external methods are only allowed in @-folders");
8953 fcn_def->
accept (validator);
8957 if (! validator.
ok ())
8984 std::string nm = fcn->
name ();
9014 bison_error (
"invalid use of empty argument (~) in index expression");
9018 int l = expr->
line ();
9029 retval = tmp->
append (args, type);
9042 const std::string& elt)
9046 int l = expr->
line ();
9057 retval = tmp->
append (elt);
9075 int l = expr->
line ();
9104 int l = tok_val->
line ();
9105 int c = tok_val->
column ();
9128 warning (
"ignoring persistent declaration near line %d of file '%s'",
9131 warning (
"ignoring persistent declaration near line %d", l);
9167 std::set<std::string> dict;
9175 std::string name =
id->
name ();
9188 +
"' in parameter list");
9191 else if (dict.find (name) != dict.end ())
9194 +
"' appears more than once in parameter list");
9203 ?
"varargin" :
"varargout");
9213 if (
id && id->
name () == va_type)
9239 if (row && row->has_magic_tilde ())
9244 bison_error (
"invalid use of tilde (~) in matrix expression");
9246 bison_error (
"invalid use of tilde (~) in cell expression");
9269 bison_error (
"invalid empty left hand side of assignment");
9271 bison_error (
"invalid constant left hand side of assignment");
9275 bool is_simple_assign =
true;
9283 if (mat && mat->
size () == 1)
9285 tmp = mat->
front ();
9288 is_simple_assign =
false;
9303 bison_error (
"invalid left hand side of assignment");
9306 if (retval && is_simple_assign)
9355 std::ostringstream buf;
9359 array_list->
accept (tpc);
9386 close_delim->
line (), close_delim->
column ()));
9413 close_delim->
line (), close_delim->
column ()));
9419 return row ?
new tree_cell (row) :
nullptr;
9437 std::string nm = ident->
text ();
9442 int l = ident->
line ();
9443 int c = ident->
column ();
9454 int l = superclassref->
line ();
9455 int c = superclassref->
column ();
9463 std::string cls = metaquery->
text ();
9465 int l = metaquery->
line ();
9466 int c = metaquery->
column ();
9473 char sep,
bool warn_missing_semi)
9487 if (warn_missing_semi)
9492 warning (
"unrecognized separator type!");
9509 template <
typename T>
9527 bool warn_missing_semi)
9603 if (! std::getline (fs, text))
9630 std::ostringstream output_buf;
9634 output_buf <<
"parse error near line " << err_line
9637 output_buf <<
"parse error:";
9639 if (str !=
"parse error")
9640 output_buf <<
"\n\n " << str;
9642 output_buf <<
"\n\n";
9644 std::string curr_line;
9656 if (! curr_line.empty ())
9662 std::size_t
len = curr_line.length ();
9664 if (curr_line[
len-1] ==
'\n')
9665 curr_line.resize (
len-1);
9669 output_buf <<
">>> " << curr_line <<
"\n";
9674 for (
int i = 0; i < err_col + 3; i++)
9723 catch (
const exit_exception&)
9727 catch (
const interrupt_exception&)
9736 error (
"unexpected exception while parsing input");
9738 error (
"unexpected exception while parsing %s", file.c_str ());
9770 status = (
token == -2 ? 0 : -1);
9789 error (e,
"parse error");
9791 error (e,
"parse error in %s", file.c_str ());
9793 catch (
const exit_exception&)
9797 catch (interrupt_exception &)
9806 error (
"unexpected exception while parsing input");
9808 error (
"unexpected exception while parsing %s", file.c_str ());
9823 error (
"push_parser::run requires valid input_reader");
9825 int exit_status = 0;
9842 std::string input_line =
m_reader->get_input (prompt, eof);
9850 exit_status =
run (input_line,
false);
9854 while (exit_status < 0);
9861 const std::string& file,
const std::string& dir_name,
9862 const std::string& dispatch_type,
9863 const std::string& package_name,
bool require_file,
9864 bool force_script,
bool autoload,
bool relative_lookup)
9868 FILE *ffile =
nullptr;
9870 if (! full_file.empty ())
9873 const int max_file_size = 512 * 1024 * 1024;
9874 sys::file_stat fs (full_file);
9876 if (fs && fs.size () > max_file_size)
9878 error (
"file '%s' is too large, > 512 MB", full_file.c_str ());
9889 error (
"no such file, '%s'", full_file.c_str ());
9898 parser parser (ffile, interp, input_sys.dir_encoding (dir_name));
9917 error (
"parse error while reading file %s", full_file.c_str ());
9931 bool is_at_folder = ! dispatch_type.empty ();
9933 std::shared_ptr<tree_classdef> cdef_obj
9936 return cdef_obj->make_meta_class (interp, is_at_folder);
9969 if (! validator.
ok ())
9979 std::shared_ptr<tree_statement_list> tmp_lst (lst);
9996 code->
accept (validator);
9998 if (! validator.
ok ())
10020 (
"Octave:assign-as-truth-value",
10021 "suggest parenthesis around assignment used as truth value");
10024 (
"Octave:assign-as-truth-value",
10025 "suggest parenthesis around assignment used as truth value near line %d, column %d in file '%s'",
10039 "variable switch label");
10042 (
"Octave:variable-switch-label",
10043 "variable switch label near line %d, column %d in file '%s'",
10057 (
"Octave:missing-semicolon",
10058 "missing semicolon near line %d, column %d in file '%s'",
10065 std::string& full_file)
10067 std::string retval;
10071 std::string file = full_file;
10073 std::size_t file_len = file.length ();
10075 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
10076 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
10077 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
10079 file = sys::env::base_pathname (file);
10080 file = file.substr (0, file.find_last_of (
'.'));
10083 if (pos != std::string::npos)
10084 file = file.substr (pos+1);
10087 if (! file.empty ())
10091 symbol_found =
true;
10095 false,
false,
false);
10118 const std::string& dir_name,
10119 const std::string& dispatch_type,
10120 const std::string& package_name,
10121 const std::string& fcn_name,
bool autoload)
10127 std::string nm = file_name;
10129 std::size_t nm_len = nm.length ();
10133 bool relative_lookup =
false;
10137 if ((nm_len > 4 && nm.substr (nm_len-4) ==
".oct")
10138 || (nm_len > 4 && nm.substr (nm_len-4) ==
".mex")
10139 || (nm_len > 2 && nm.substr (nm_len-2) ==
".m"))
10141 nm = sys::env::base_pathname (file);
10142 nm = nm.substr (0, nm.find_last_of (
'.'));
10145 if (pos != std::string::npos)
10146 nm = nm.substr (pos+1);
10153 int len = file.length ();
10159 if (
len > 4 && file.substr (
len-4,
len-1) ==
".oct")
10161 if (autoload && ! fcn_name.empty ())
10165 = dyn_loader.
load_oct (nm, file, relative_lookup);
10173 else if (
len > 4 && file.substr (
len-4,
len-1) ==
".mex")
10178 std::string doc_string;
10182 dispatch_type, package_name,
false,
10183 autoload, autoload, relative_lookup);
10194 = dyn_loader.
load_mex (nm, file, relative_lookup);
10207 dispatch_type, package_name,
true,
10208 autoload, autoload, relative_lookup);
10254 int nargin = args.length ();
10256 if (nargin == 1 || nargin > 3)
10269 else if (nargin == 3)
10271 if (argv[3] !=
"remove")
10273 "autoload: third argument can only be 'remove'");
10301 int nargin = args.length ();
10309 opt = args(0).xstring_value (
"mfilename: option argument must be a string");
10320 bool verbose,
bool require_file)
10324 interp.
source_file (file_name, context, verbose, require_file);
10343 int nargin = args.length ();
10345 if (nargin < 1 || nargin > 2)
10348 std::string file_name
10349 = args(0).xstring_value (
"source: FILE must be a string");
10351 std::string context;
10353 context = args(1).xstring_value (
"source: CONTEXT must be a string");
10355 interp.source_file (file_name, context);
10374 return interp.
feval (name, args, nargout);
10382 return interp.
feval (name, args, nargout);
10390 return interp.
feval (fcn, args, nargout);
10398 return interp.
feval (val, args, nargout);
10406 return interp.
feval (args, nargout);
10449 if (args.length () == 0)
10452 return interp.feval (args, nargout);
10455 DEFMETHOD (builtin, interp, args, nargout,
10483 if (args.length () == 0)
10486 const std::string name (args(0).xstring_value (
"builtin: function name (F) must be a string"));
10493 retval = interp.feval (fcn.
function_value (), args.splice (0, 1), nargout);
10495 error (
"builtin: lookup for symbol '%s' failed", name.c_str ());
10510 DEFMETHOD (eval, interp, args, nargout,
10550 int nargin = args.length ();
10552 if (nargin < 1 || nargin > 2)
10555 if (! args(0).is_string () || args(0).rows () > 1 || args(0).ndims () != 2)
10556 error (
"eval: TRY must be a string");
10558 std::string try_code = args(0).string_value ();
10561 return interp.eval (try_code, nargout);
10564 if (! args(1).is_string () || args(1).rows () > 1
10565 || args(1).ndims () != 2)
10566 error (
"eval: CATCH must be a string");
10568 std::string catch_code = args(1).string_value ();
10570 return interp.eval (try_code, catch_code, nargout);
10634 if (args.length () != 3)
10637 std::string context
10638 = args(0).xstring_value (
"assignin: CONTEXT must be a string");
10640 std::string varname
10641 = args(1).xstring_value (
"assignin: VARNAME must be a string");
10643 interp.assignin (context, varname, args(2));
10654 DEFMETHOD (evalin, interp, args, nargout,
10663 int nargin = args.length ();
10665 if (nargin < 2 || nargin > 3)
10668 std::string context
10669 = args(0).xstring_value (
"evalin: CONTEXT must be a string");
10671 std::string try_code
10672 = args(1).xstring_value (
"evalin: TRY must be a string");
10676 std::string catch_code
10677 = args(2).xstring_value (
"evalin: CATCH must be a string");
10679 return interp.evalin (context, try_code, catch_code, nargout);
10682 return interp.evalin (context, try_code, nargout);
10685 DEFMETHOD (evalc, interp, args, nargout,
10714 int nargin = args.length ();
10716 if (nargin == 0 || nargin > 2)
10723 std::cerr.flush ();
10725 std::stringbuf buffer;
10727 std::streambuf *old_out_buf =
octave_stdout.rdbuf (&buffer);
10728 std::streambuf *old_err_buf = std::cerr.rdbuf (&buffer);
10739 std::cerr.rdbuf (old_err_buf);
10744 int eval_nargout =
std::max (0, nargout - 1);
10751 std::cerr.flush ();
10753 retval.
prepend (buffer.str ());
10842 DEFUN (__parser_debug_flag__, args, nargout,
10856 "__parser_debug_flag__");
10863 DEFMETHOD (__parse_file__, interp, args, ,
10871 int nargin = args.
length ();
10873 if (nargin < 1 || nargin > 2)
10877 = args(0).xstring_value (
"__parse_file__: expecting filename as argument");
10883 std::string dir_name;
10885 std::size_t file_len = file.length ();
10887 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
10888 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
10889 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
10891 file = sys::env::base_pathname (file);
10892 file = file.substr (0, file.find_last_of (
'.'));
10895 if (pos != std::string::npos)
10897 dir_name = file.substr (0, pos);
10898 file = file.substr (pos+1);
10906 =
parse_fcn_file (interp, full_file, file, dir_name,
"",
"",
true,
10907 false,
false,
false);
charNDArray max(char d, const charNDArray &m)
std::string message(void) const
comment_buffer m_comment_buf
bool input_from_tmp_history_file(void)
virtual bool input_from_eval_string(void) const
bool at_end_of_buffer(void) const
comment_list * get_comment(void)
virtual bool input_from_terminal(void) const
std::size_t size(void) const
void append(const elt_type &s)
std::size_t length(void) const
std::list< tree_decl_elt * >::iterator iterator
iterator erase(iterator pos)
std::deque< value_type > m_info
OCTINTERP_API void clear(void)
OCTINTERP_API bool name_ok(const std::string &name)
OCTINTERP_API bool name_current_scope(const std::string &name)
OCTINTERP_API std::string parent_name(void) const
OCTINTERP_API std::size_t size(void) const
OCTINTERP_API symbol_scope parent_scope(void) const
OCTINTERP_API void pop(void)
OCTINTERP_API void push(const value_type &elt)
std::pair< symbol_scope, std::string > value_type
OCTINTERP_API tree_argument_list * append_argument_list(tree_argument_list *list, tree_expression *expr)
OCTINTERP_API 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)
OCTINTERP_API tree_decl_command * make_decl_command(int tok, token *tok_val, tree_decl_init_list *lst)
OCTINTERP_API tree_statement * make_statement(T *arg)
OCTINTERP_API bool validate_primary_fcn(void)
std::shared_ptr< tree_statement_list > m_stmt_list
OCTINTERP_API tree_classdef_attribute_list * append_classdef_attribute(tree_classdef_attribute_list *list, tree_classdef_attribute *elt)
OCTINTERP_API void disallow_command_syntax(void)
OCTINTERP_API 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)
OCTINTERP_API tree_cell * make_cell(tree_argument_list *row)
OCTINTERP_API tree_fcn_handle * make_fcn_handle(token *tok_val)
OCTINTERP_API tree_switch_command * finish_switch_command(token *switch_tok, tree_expression *expr, tree_switch_case_list *list, token *end_tok, comment_list *lc)
OCTINTERP_API tree_switch_case_list * make_switch_case_list(tree_switch_case *switch_case)
OCTINTERP_API void recover_from_parsing_function(void)
OCTINTERP_API tree_argument_list * validate_matrix_for_assignment(tree_expression *e)
octave_value m_primary_fcn
OCTINTERP_API tree_classdef_attribute_list * make_classdef_attribute_list(tree_classdef_attribute *attr)
OCTINTERP_API tree_classdef_body * make_classdef_body(tree_classdef_properties_block *pb)
OCTINTERP_API tree_expression * make_assign_op(int op, tree_argument_list *lhs, token *eq_tok, tree_expression *rhs)
OCTINTERP_API 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
OCTINTERP_API 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)
OCTINTERP_API bool validate_array_list(tree_expression *e)
OCTINTERP_API tree_function_def * finish_classdef_external_method(octave_user_function *fcn, tree_parameter_list *ret_list, comment_list *cl)
OCTINTERP_API base_parser(base_lexer &lxr)
OCTINTERP_API tree_identifier * make_identifier(token *ident)
OCTINTERP_API tree_classdef_events_list * make_classdef_events_list(tree_classdef_event *e)
OCTINTERP_API tree_index_expression * make_indirect_ref(tree_expression *expr, const std::string &)
OCTINTERP_API tree_matrix * append_matrix_row(tree_matrix *matrix, tree_argument_list *row)
OCTINTERP_API bool finish_input(tree_statement_list *lst, bool at_eof=false)
OCTINTERP_API tree_classdef * make_classdef(token *tok_val, tree_classdef_attribute_list *a, tree_identifier *id, tree_classdef_superclass_list *sc, tree_classdef_body *body, token *end_tok, comment_list *lc, comment_list *tc)
OCTINTERP_API tree_parameter_list * make_parameter_list(tree_parameter_list::in_or_out io)
OCTINTERP_API tree_parameter_list * append_parameter_list(tree_parameter_list *list, tree_decl_elt *t)
OCTINTERP_API tree_classdef_property * make_classdef_property(comment_list *lc, tree_identifier *id, tree_arg_validation *av)
OCTINTERP_API tree_classdef_superclass_list * make_classdef_superclass_list(tree_classdef_superclass *sc)
OCTINTERP_API tree_if_command_list * append_if_clause(tree_if_command_list *list, tree_if_clause *clause)
OCTINTERP_API tree_command * make_return_command(token *return_tok)
virtual ~base_parser(void)
OCTINTERP_API tree_identifier * make_fcn_name(tree_identifier *id)
OCTINTERP_API tree_cell * append_cell_row(tree_cell *cell, tree_argument_list *row)
OCTINTERP_API tree_matrix * make_matrix(tree_argument_list *row)
OCTINTERP_API void reset(void)
OCTINTERP_API 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)
OCTINTERP_API tree_expression * make_binary_op(int op, tree_expression *op1, token *tok_val, tree_expression *op2)
OCTINTERP_API tree_decl_elt * make_decl_elt(tree_identifier *id, token *eq_op=nullptr, tree_expression *expr=nullptr)
OCTINTERP_API tree_command * make_do_until_command(token *until_tok, tree_statement_list *body, tree_expression *expr, comment_list *lc)
OCTINTERP_API tree_command * make_continue_command(token *continue_tok)
OCTINTERP_API tree_if_clause * make_else_clause(token *else_tok, comment_list *lc, tree_statement_list *list)
OCTINTERP_API tree_command * make_while_command(token *while_tok, tree_expression *expr, tree_statement_list *body, token *end_tok, comment_list *lc)
OCTINTERP_API 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
OCTINTERP_API tree_switch_case_list * append_switch_case(tree_switch_case_list *list, tree_switch_case *elt)
OCTINTERP_API tree_black_hole * make_black_hole(void)
OCTINTERP_API void maybe_warn_variable_switch_label(tree_expression *expr)
OCTINTERP_API tree_classdef_property_list * append_classdef_property(tree_classdef_property_list *list, tree_classdef_property *elt)
OCTINTERP_API tree_classdef_attribute * make_not_classdef_attribute(tree_identifier *id)
OCTINTERP_API tree_statement * make_end(const std::string &type, bool eof, const filepos &beg_pos, const filepos &end_pos)
bool m_parsing_local_functions
OCTINTERP_API 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
OCTINTERP_API tree_args_block_attribute_list * make_args_attribute_list(tree_identifier *attribute_name)
OCTINTERP_API 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)
symbol_scope m_primary_fcn_scope
OCTINTERP_API tree_statement_list * make_statement_list(tree_statement *stmt)
OCTINTERP_API octave_user_function * start_function(tree_identifier *id, tree_parameter_list *param_list, tree_statement_list *body, tree_statement *end_function)
OCTINTERP_API tree_classdef_enum_list * append_classdef_enum(tree_classdef_enum_list *list, tree_classdef_enum *elt)
OCTINTERP_API 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)
OCTINTERP_API tree_constant * make_constant(token *tok_val)
OCTINTERP_API void end_token_error(token *tok, token::end_tok_type expected)
OCTINTERP_API bool finish_classdef_file(tree_classdef *cls, tree_statement_list *local_fcns)
OCTINTERP_API void maybe_convert_to_braindead_shortcircuit(tree_expression *&expr)
std::shared_ptr< tree_statement_list > statement_list(void) const
OCTINTERP_API tree_metaclass_query * make_metaclass_query(token *metaquery)
OCTINTERP_API 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)
OCTINTERP_API void maybe_warn_missing_semi(tree_statement_list *)
OCTINTERP_API tree_classdef_body * append_classdef_properties_block(tree_classdef_body *body, tree_classdef_properties_block *block)
std::list< std::string > m_subfunction_names
OCTINTERP_API tree_switch_case * make_switch_case(token *case_tok, tree_expression *expr, tree_statement_list *list, comment_list *lc)
OCTINTERP_API tree_switch_case * make_default_switch_case(token *default_tok, comment_list *lc, tree_statement_list *list)
OCTINTERP_API tree_expression * finish_matrix(tree_matrix *m, token *open_delim, token *close_delim)
OCTINTERP_API tree_classdef_superclass * make_classdef_superclass(token *fqident)
void parsing_local_functions(bool flag)
OCTINTERP_API tree_anon_fcn_handle * make_anon_fcn_handle(tree_parameter_list *param_list, tree_expression *expr, const filepos &at_pos)
OCTINTERP_API tree_command * make_break_command(token *break_tok)
OCTINTERP_API tree_statement_list * append_statement_list(tree_statement_list *list, char sep, tree_statement *stmt, bool warn_missing_semi)
OCTINTERP_API bool push_fcn_symtab(void)
OCTINTERP_API tree_classdef_methods_list * make_classdef_methods_list(tree_function_def *fcn_def)
OCTINTERP_API tree_expression * make_prefix_op(int op, tree_expression *op1, token *tok_val)
OCTINTERP_API tree_statement_list * append_function_body(tree_statement_list *body, tree_statement_list *list)
OCTINTERP_API tree_classdef_enum * make_classdef_enum(tree_identifier *id, tree_expression *expr, comment_list *lc)
bool m_parsing_subfunctions
OCTINTERP_API bool validate_param_list(tree_parameter_list *lst, tree_parameter_list::in_or_out type)
OCTINTERP_API tree_spmd_command * make_spmd_command(token *spmd_tok, tree_statement_list *body, token *end_tok, comment_list *lc, comment_list *tc)
OCTINTERP_API tree_decl_init_list * make_decl_init_list(tree_decl_elt *elt)
OCTINTERP_API 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)
OCTINTERP_API octave_user_function * start_classdef_external_method(tree_identifier *id, tree_parameter_list *pl)
void endfunction_found(bool flag)
OCTINTERP_API tree_decl_init_list * append_decl_init_list(tree_decl_init_list *list, tree_decl_elt *elt)
OCTINTERP_API void bison_error(const std::string &s)
OCTINTERP_API tree_classdef_body * append_classdef_events_block(tree_classdef_body *body, tree_classdef_events_block *block)
OCTINTERP_API tree_index_expression * make_index_expression(tree_expression *expr, tree_argument_list *args, char type)
OCTINTERP_API tree_args_block_validation_list * append_args_validation_list(tree_args_block_validation_list *list, tree_arg_validation *arg_validation)
OCTINTERP_API tree_classdef_superclass_list * append_classdef_superclass(tree_classdef_superclass_list *list, tree_classdef_superclass *elt)
OCTINTERP_API tree_if_command_list * start_if_command(tree_expression *expr, tree_statement_list *list)
OCTINTERP_API tree_arg_size_spec * make_arg_size_spec(tree_argument_list *size_args)
OCTINTERP_API tree_expression * make_postfix_op(int op, tree_expression *op1, token *tok_val)
OCTINTERP_API tree_expression * finish_array_list(tree_array_list *a, token *open_delim, token *close_delim)
OCTINTERP_API tree_classdef_events_list * append_classdef_event(tree_classdef_events_list *list, tree_classdef_event *elt)
OCTINTERP_API tree_if_clause * make_elseif_clause(token *elseif_tok, tree_expression *expr, tree_statement_list *list, comment_list *lc)
OCTINTERP_API tree_statement_list * set_stmt_print_flag(tree_statement_list *, char, bool)
std::shared_ptr< tree_classdef > m_classdef_object
OCTINTERP_API tree_expression * finish_cell(tree_cell *c, token *open_delim, token *close_delim)
OCTINTERP_API 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)
OCTINTERP_API tree_classdef_methods_list * append_classdef_method(tree_classdef_methods_list *list, tree_function_def *fcn_def)
OCTINTERP_API tree_classdef_body * append_classdef_methods_block(tree_classdef_body *body, tree_classdef_methods_block *block)
OCTINTERP_API tree_expression * make_boolean_op(int op, tree_expression *op1, token *tok_val, tree_expression *op2)
OCTINTERP_API tree_expression * make_colon_expression(tree_expression *base, tree_expression *limit, tree_expression *incr=nullptr)
OCTINTERP_API tree_superclass_ref * make_superclass_ref(token *superclassref)
OCTINTERP_API tree_classdef_enum_list * make_classdef_enum_list(tree_classdef_enum *e)
OCTINTERP_API void make_script(tree_statement_list *cmds, tree_statement *end_script)
OCTINTERP_API tree_argument_list * make_argument_list(tree_expression *expr)
void classdef_object(const std::shared_ptr< tree_classdef > &obj)
OCTINTERP_API tree_args_block_validation_list * make_args_validation_list(tree_arg_validation *arg_validation)
OCTINTERP_API tree_classdef_property_list * make_classdef_property_list(tree_classdef_property *prop)
OCTINTERP_API tree_classdef_attribute * make_classdef_attribute(tree_identifier *id, tree_expression *expr=nullptr)
OCTINTERP_API tree_classdef_event * make_classdef_event(comment_list *lc, tree_identifier *id)
OCTINTERP_API tree_arg_validation_fcns * make_arg_validation_fcns(tree_argument_list *fcn_args)
std::string m_parse_error_msg
OCTINTERP_API bool end_token_ok(token *tok, token::end_tok_type expected)
OCTINTERP_API void maybe_warn_assign_as_truth_value(tree_expression *expr)
OCTINTERP_API 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)
OCTINTERP_API octave_value discard_warning_messages(const octave_value_list &args, int nargout)
OCTINTERP_API 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)
error_system & get_error_system(void)
tree_evaluator & get_evaluator(void)
dynamic_loader & get_dynamic_loader(void)
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(void)
input_system & get_input_system(void)
bool input_from_eval_string(void) const
symbol_scope curr_scope(void) const
void push(const symbol_scope &scope)
symbol_scope parent_scope(void) const
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
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)
void document(const std::string &ds)
void stash_dir_name(const std::string &dir)
void stash_dispatch_class(const std::string &nm)
std::string name(void) const
void stash_package_name(const std::string &pack)
virtual void 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)
std::string fcn_file_name(void) const
octave::tree_statement_list * body(void)
octave::sys::time time_parsed(void) const
void cache_function_text(const std::string &text, const octave::sys::time ×tamp)
void stash_fcn_file_time(const octave::sys::time &t)
octave::symbol_scope scope(void)
void stash_trailing_comment(octave::comment_list *tc)
void stash_function_name(const std::string &s)
void mark_as_system_fcn_file(void)
octave_user_function * define_ret_list(octave::tree_parameter_list *t)
void mark_as_classdef_method(void)
octave_user_function * user_function_value(bool=false)
int beginning_column(void) const
void mark_as_classdef_constructor(void)
void accept(octave::tree_walker &tw)
void mark_as_legacy_constructor(void)
std::map< std::string, octave_value > subfunctions(void) const
void stash_leading_comment(octave::comment_list *lc)
int beginning_line(void) const
void stash_fcn_location(int line, int col)
void stash_fcn_end_location(int line, int col)
void mark_as_legacy_method(void)
void mark_as_subfunction(void)
void mark_as_nested_function(void)
octave_value_list & prepend(const octave_value &val)
OCTINTERP_API octave_function * function_value(bool silent=false) const
bool is_defined(void) const
OCTINTERP_API octave_user_function * user_function_value(bool silent=false) const
OCTINTERP_API octave_user_code * user_code_value(bool silent=false) const
OCTINTERP_API octave_idx_type length(void) const
parse_exception(const parse_exception &)=default
parse_exception(const std::string &message, const std::string &fcn_name="", const std::string &file_name="", int line=-1, int column=-1)
std::string fcn_name(void) const
std::string message(void) const
const char * what(void) const noexcept
std::string file_name(void) const
~parse_exception(void)=default
void visit_octave_user_script(octave_user_script &script)
parse_tree_validator(void)
void visit_index_expression(tree_index_expression &idx_expr)
void visit_octave_user_function(octave_user_function &fcn)
symbol_scope get_scope(void) const
std::list< parse_exception > m_error_list
~parse_tree_validator(void)=default
parse_tree_validator & operator=(const parse_tree_validator &)=delete
std::list< parse_exception > error_list(void) const
parse_tree_validator(const parse_tree_validator &)=delete
OCTINTERP_API int run(void)
OCTINTERP_API int run(void)
interpreter & m_interpreter
std::shared_ptr< input_reader > m_reader
void mark_primary_fcn_scope(void)
std::string fcn_file_name(void) const
void cache_fcn_name(const std::string &name)
bool is_variable(const std::string &nm) const
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)
std::string fcn_name(void) const
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())
void install_local_function(const std::string &name, const octave_value &fcn, const std::string &file_name)
std::string text(void) const
std::string text_rep(void) const
std::string superclass_method_name(void) const
filepos beg_pos(void) const
octave_value number(void) const
end_tok_type ettype(void) const
int token_value(void) const
std::string superclass_class_name(void) const
void accept(tree_walker &tw)
tree_arg_size_spec * size_spec(void)
void arg_name(tree_expression *name)
tree_identifier * class_name(void)
tree_arg_validation_fcns * validation_fcns(void)
bool has_magic_tilde(void) const
bool is_valid_lvalue_list(void) const
std::list< std::string > variable_names(void) const
tree_expression * remove_front(void)
void mark_as_simple_assign_lhs(void)
bool is_simple_assign_lhs(void)
void accept(tree_walker &tw)
bool all_elements_are_constant(void) const
tree_expression * rhs(void)
tree_expression * lhs(void)
void preserve_operands(void)
octave_value::binary_op op_type(void) const
bool have_doc_string(void) const
void doc_string(const std::string &txt)
void accept(tree_walker &tw)
octave_value evaluate(tree_evaluator &, int nargout=1)
void accept(tree_walker &tw)
void stash_original_text(const std::string &s)
void mark_persistent(void)
tree_identifier * ident(void)
std::list< std::string > variable_names(void) 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(void) const
virtual bool is_binary_expression(void) const
virtual bool is_index_expression(void) const
virtual bool is_assignment_expression(void) const
virtual octave_value evaluate(tree_evaluator &tw, int nargout=1)=0
virtual std::string name(void) const
tree_expression * set_postfix_index(char type)
virtual bool is_constant(void) const
int paren_count(void) const
void mark_as_for_cmd_expr(void)
tree_expression * set_print_flag(bool print)
bool is_postfix_indexed(void) const
virtual bool is_matrix(void) const
virtual bool is_identifier(void) const
octave_value function(void)
void accept(tree_walker &tw)
virtual bool is_black_hole(void) const
std::string name(void) const
std::string name(void) const
bool is_word_list_cmd(void) const
tree_index_expression * append(tree_argument_list *lst=nullptr, char t='(')
void mark_varargs_only(void)
void mark_as_formal_parameters(void)
void accept(tree_walker &tw)
bool is_null_statement(void) const
void set_print_flag(bool print_flag)
bool is_expression(void) const
void set_expression(tree_expression *e)
tree_expression * expression(void)
virtual int column(void) const
virtual int line(void) const
void set_location(int l, int c)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
OCTINTERP_API void print_usage(void)
#define DEFMETHOD(name, interp_name, args_name, nargout_name, doc)
Macro to define a builtin method.
#define DEFUN(name, args_name, nargout_name, doc)
Macro to define a builtin function.
void error_with_id(const char *id, const char *fmt,...)
void warning(const char *fmt,...)
void warning_with_id(const char *id, const char *fmt,...)
void parse_error(const char *fmt,...)
void error(const char *fmt,...)
void message(const char *name, const char *fmt,...)
#define panic_impossible()
std::string dir_sep_str(void)
std::string tilde_expand(const std::string &name)
interpreter & __get_interpreter__(void)
symbol_table & __get_symbol_table__(void)
tree_evaluator & __get_evaluator__(void)
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)
OCTAVE_EXPORT octave_value_list Feval(octave::interpreter &interp, const octave_value_list &args, int nargout)
static const yytype_uint8 yyr1[]
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
static const yytype_int8 yytranslate[]
@ 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
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)
void cleanup_statement_list(tree_statement_list **lst)
octave_value_list feval(const char *name, const octave_value_list &args, int nargout)
Evaluate an Octave function (built-in or interpreted) and return the list of result values.
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_USELESS_CAST_END
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)
static const yytype_int16 yydefact[]
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)
static const yytype_int16 yydefgoto[]
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
static const yytype_int16 yypact[]
static std::string get_file_line(const std::string &name, int line)
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
static const yytype_int16 yypgoto[]
#define YY_INITIAL_VALUE(Value)
unsigned char yytype_uint8
#define YY_STACK_PRINT(Bottom, Top)
#define YY_IGNORE_USELESS_CAST_BEGIN
std::string get_help_from_file(const std::string &nm, bool &symbol_found, std::string &full_file)
static const yytype_int8 yyr2[]
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, OCTAVE_STYPE *yyvaluep, octave::base_parser &parser)
static std::string end_token_as_string(token::end_tok_type ettype)
static const yytype_int16 yytable[]
#define yytable_value_is_error(Yyn)
#define YY_ATTRIBUTE_UNUSED
static const yytype_uint8 yystos[]
unsigned short yytype_uint16
static LIST_T * list_append(LIST_T *list, ELT_T elt)
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)
void source_file(const std::string &file_name, const std::string &context, bool verbose, bool require_file)
#define OCTAVE_YYUSE(X,...)
static const yytype_int16 yycheck[]
static int input(yyscan_t yyscanner)
unsigned char yytype_uint8
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
tree_binary_expression * maybe_compound_binary_expression(tree_expression *a, tree_expression *b, int l, int c, octave_value::binary_op t)
static bool absolute_pathname(const std::string &s)
static std::string dir_sep_chars
static string_vector make_absolute(const string_vector &sv)
std::string undo_string_escapes(const std::string &s)
std::string fcn_file_in_path(const std::string &name)
octave_value set_internal_variable(bool &var, const octave_value_list &args, int nargout, const char *nm)