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 "/home/jwe/src/octave-stable/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
186# define YY_NULLPTR ((void*)0)
436#ifndef __PTRDIFF_MAX__
438# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
449#ifdef __INT_LEAST8_MAX__
451#elif defined YY_STDINT_H
457#ifdef __INT_LEAST16_MAX__
459#elif defined YY_STDINT_H
471# undef UINT_LEAST8_MAX
472# undef UINT_LEAST16_MAX
473# define UINT_LEAST8_MAX 255
474# define UINT_LEAST16_MAX 65535
477#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
479#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
480 && UINT_LEAST8_MAX <= INT_MAX)
482#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
488#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
490#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
491 && UINT_LEAST16_MAX <= INT_MAX)
493#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
500# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
501# define YYPTRDIFF_T __PTRDIFF_TYPE__
502# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
503# elif defined PTRDIFF_MAX
507# define YYPTRDIFF_T ptrdiff_t
508# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
510# define YYPTRDIFF_T long
511# define YYPTRDIFF_MAXIMUM LONG_MAX
517# define YYSIZE_T __SIZE_TYPE__
519# define YYSIZE_T size_t
520# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
522# define YYSIZE_T size_t
524# define YYSIZE_T unsigned
528#define YYSIZE_MAXIMUM \
529 YY_CAST (YYPTRDIFF_T, \
530 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
531 ? YYPTRDIFF_MAXIMUM \
532 : YY_CAST (YYSIZE_T, -1)))
534#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
544# if defined YYENABLE_NLS && YYENABLE_NLS
547# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
551# define YY_(Msgid) Msgid
556#ifndef YY_ATTRIBUTE_PURE
557# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
558# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
560# define YY_ATTRIBUTE_PURE
564#ifndef YY_ATTRIBUTE_UNUSED
565# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
566# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
568# define YY_ATTRIBUTE_UNUSED
573#if ! defined lint || defined __GNUC__
574# define YY_USE(E) ((void) (E))
580#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
581# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
582# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
583 _Pragma ("GCC diagnostic push") \
584 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
586# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
587 _Pragma ("GCC diagnostic push") \
588 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
589 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
591# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
592 _Pragma ("GCC diagnostic pop")
594# define YY_INITIAL_VALUE(Value) Value
596#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
597# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
598# define YY_IGNORE_MAYBE_UNINITIALIZED_END
600#ifndef YY_INITIAL_VALUE
601# define YY_INITIAL_VALUE(Value)
604#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
605# define YY_IGNORE_USELESS_CAST_BEGIN \
606 _Pragma ("GCC diagnostic push") \
607 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
608# define YY_IGNORE_USELESS_CAST_END \
609 _Pragma ("GCC diagnostic pop")
611#ifndef YY_IGNORE_USELESS_CAST_BEGIN
612# define YY_IGNORE_USELESS_CAST_BEGIN
613# define YY_IGNORE_USELESS_CAST_END
617#define YY_ASSERT(E) ((void) (0 && (E)))
619#if !defined yyoverflow
625# define YYSTACK_FREE(Ptr) do { ; } while (0)
626# ifndef YYSTACK_ALLOC_MAXIMUM
631# define YYSTACK_ALLOC_MAXIMUM 4032
634# define YYSTACK_ALLOC YYMALLOC
635# define YYSTACK_FREE YYFREE
636# ifndef YYSTACK_ALLOC_MAXIMUM
637# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
639# if (defined __cplusplus && ! defined EXIT_SUCCESS \
640 && ! ((defined YYMALLOC || defined malloc) \
641 && (defined YYFREE || defined free)))
644# define EXIT_SUCCESS 0
648# define YYMALLOC malloc
649# if ! defined malloc && ! defined EXIT_SUCCESS
655# if ! defined free && ! defined EXIT_SUCCESS
662#if (! defined yyoverflow \
663 && (! defined __cplusplus \
664 || (defined OCTAVE_STYPE_IS_TRIVIAL && OCTAVE_STYPE_IS_TRIVIAL)))
674# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
678# define YYSTACK_BYTES(N) \
679 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
680 + YYSTACK_GAP_MAXIMUM)
682# define YYCOPY_NEEDED 1
689# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
692 YYPTRDIFF_T yynewbytes; \
693 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
694 Stack = &yyptr->Stack_alloc; \
695 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
696 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
702#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
706# if defined __GNUC__ && 1 < __GNUC__
707# define YYCOPY(Dst, Src, Count) \
708 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
710# define YYCOPY(Dst, Src, Count) \
714 for (yyi = 0; yyi < (Count); yyi++) \
715 (Dst)[yyi] = (Src)[yyi]; \
742#define YYTRANSLATE(YYX) \
743 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
744 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
751 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
752 19, 2, 2, 2, 2, 2, 2, 2, 2, 2,
753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
755 9, 10, 7, 6, 17, 5, 15, 8, 2, 2,
756 2, 2, 2, 2, 2, 2, 2, 2, 4, 18,
757 2, 3, 2, 2, 16, 2, 2, 2, 2, 2,
758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
760 2, 11, 2, 12, 2, 2, 2, 2, 2, 2,
761 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
763 2, 2, 2, 13, 2, 14, 2, 2, 2, 2,
764 2, 2, 2, 2, 2, 2, 2, 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, 1, 2, 20, 21,
777 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
778 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
779 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
780 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
781 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
782 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
783 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
791 0, 415, 415, 426, 437, 444, 450, 454, 456, 461,
792 462, 466, 470, 472, 477, 478, 482, 490, 495, 502,
793 504, 506, 518, 530, 532, 540, 545, 549, 553, 555,
794 559, 561, 565, 569, 571, 579, 583, 585, 602, 603,
795 609, 611, 617, 623, 631, 639, 651, 663, 665, 667,
796 669, 674, 676, 678, 680, 688, 692, 700, 702, 704,
797 706, 712, 718, 726, 735, 737, 739, 741, 752, 763,
798 774, 785, 787, 789, 791, 797, 799, 801, 803, 805,
799 807, 809, 811, 813, 815, 817, 819, 821, 823, 825,
800 829, 831, 833, 835, 846, 857, 868, 879, 881, 887,
801 889, 891, 893, 895, 899, 911, 925, 927, 929, 931,
802 933, 935, 937, 939, 941, 943, 945, 947, 951, 965,
803 967, 969, 971, 973, 975, 977, 979, 981, 983, 985,
804 987, 989, 993, 1008, 1015, 1023, 1025, 1027, 1029, 1031,
805 1033, 1035, 1037, 1045, 1050, 1057, 1059, 1063, 1065, 1073,
806 1075, 1083, 1093, 1095, 1099, 1107, 1111, 1121, 1133, 1146,
807 1147, 1149, 1151, 1155, 1157, 1161, 1169, 1181, 1193, 1199,
808 1210, 1221, 1232, 1249, 1254, 1259, 1267, 1286, 1297, 1308,
809 1326, 1338, 1356, 1368, 1369, 1373, 1380, 1389, 1390, 1407,
810 1409, 1417, 1419, 1427, 1435, 1454, 1473, 1477, 1491, 1495,
811 1504, 1508, 1542, 1560, 1569, 1579, 1590, 1603, 1616, 1651,
812 1658, 1667, 1673, 1683, 1689, 1695, 1703, 1721, 1729, 1730,
813 1744, 1749, 1762, 1766, 1777, 1778, 1791, 1792, 1798, 1799,
814 1812, 1813, 1825, 1843, 1863, 1864, 1872, 1874, 1882, 1884,
815 1890, 1899, 1905, 1917, 1923, 1931, 1936, 1940, 1949, 1951,
816 1953, 1955, 1957, 1963, 1969, 1975, 1984, 2001, 2009, 2013,
817 2023, 2025, 2056, 2060, 2077, 2084, 2089, 2096, 2099, 2098,
818 2114, 2116, 2121, 2125, 2134, 2136, 2144, 2161, 2169, 2173,
819 2182, 2184, 2192, 2196, 2213, 2221, 2225, 2234, 2236, 2244,
820 2257, 2264, 2272, 2275, 2281, 2285, 2291, 2297, 2303, 2312,
821 2313, 2318, 2319, 2323, 2329, 2337, 2343, 2349, 2355, 2361,
827#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
836static const char *
const yytname[] =
838 "\"end of file\"",
"error",
"\"invalid token\"",
"'='",
"':'",
"'-'",
839 "'+'",
"'*'",
"'/'",
"'('",
"')'",
"'['",
"']'",
"'{'",
"'}'",
"'.'",
840 "'@'",
"','",
"';'",
"'\\n'",
"ADD_EQ",
"SUB_EQ",
"MUL_EQ",
"DIV_EQ",
841 "LEFTDIV_EQ",
"POW_EQ",
"EMUL_EQ",
"EDIV_EQ",
"ELEFTDIV_EQ",
"EPOW_EQ",
842 "AND_EQ",
"OR_EQ",
"EXPR_AND_AND",
"EXPR_OR_OR",
"EXPR_AND",
"EXPR_OR",
843 "EXPR_NOT",
"EXPR_LT",
"EXPR_LE",
"EXPR_EQ",
"EXPR_NE",
"EXPR_GE",
844 "EXPR_GT",
"LEFTDIV",
"EMUL",
"EDIV",
"ELEFTDIV",
"HERMITIAN",
845 "TRANSPOSE",
"PLUS_PLUS",
"MINUS_MINUS",
"POW",
"EPOW",
"NUMBER",
846 "STRUCT_ELT",
"NAME",
"END",
"DQ_STRING",
"SQ_STRING",
"FOR",
"PARFOR",
847 "WHILE",
"DO",
"UNTIL",
"SPMD",
"IF",
"ELSEIF",
"ELSE",
"SWITCH",
"CASE",
848 "OTHERWISE",
"BREAK",
"CONTINUE",
"FUNC_RET",
"UNWIND",
"CLEANUP",
"TRY",
849 "CATCH",
"GLOBAL",
"PERSISTENT",
"FCN_HANDLE",
"CLASSDEF",
"PROPERTIES",
850 "METHODS",
"EVENTS",
"ENUMERATION",
"METAQUERY",
"SUPERCLASSREF",
851 "FQ_IDENT",
"GET",
"SET",
"FCN",
"ARGUMENTS",
"LEXICAL_ERROR",
852 "END_OF_INPUT",
"INPUT_FILE",
"UNARY",
"$accept",
"input",
"simple_list",
853 "simple_list1",
"opt_list",
"list",
"list1",
"opt_fcn_list",
"fcn_list",
854 "fcn_list1",
"statement",
"word_list_cmd",
"word_list",
"identifier",
855 "superclass_identifier",
"meta_identifier",
"string",
"constant",
856 "matrix",
"matrix_rows",
"cell",
"cell_rows",
"cell_or_matrix_row",
857 "fcn_handle",
"anon_fcn_handle",
"primary_expr",
"magic_colon",
858 "magic_tilde",
"arg_list",
"indirect_ref_op",
"oper_expr",
"power_expr",
859 "colon_expr",
"simple_expr",
"assign_lhs",
"assign_expr",
"expression",
860 "command",
"declaration",
"decl_init_list",
"decl_elt",
"select_command",
861 "if_command",
"if_cmd_list",
"if_cmd_list1",
"elseif_clause",
862 "else_clause",
"switch_command",
"case_list",
"case_list1",
863 "switch_case",
"default_case",
"loop_command",
"jump_command",
864 "spmd_command",
"except_command",
"push_fcn_symtab",
"param_list_beg",
865 "param_list_end",
"opt_param_list",
"param_list",
"param_list1",
866 "param_list2",
"param_list_elt",
"return_list",
"return_list1",
867 "parsing_local_fcns",
"push_script_symtab",
"begin_file",
"file",
868 "function_beg",
"fcn_name",
"function_end",
"function",
"function_body",
869 "at_first_executable_stmt",
"function_body1",
"arguments_block",
870 "arguments_beg",
"args_attr_list",
"args_validation_list",
"arg_name",
871 "arg_validation",
"size_spec",
"class_name",
"validation_fcns",
872 "default_value",
"classdef_beg",
"classdef",
"attr_list",
"attr_list1",
873 "attr",
"superclass_list",
"superclass_list1",
"superclass",
874 "class_body",
"class_body1",
"properties_block",
"properties_beg",
875 "property_list",
"property_list1",
"class_property",
"methods_block",
876 "methods_beg",
"method_decl1",
"method_decl",
"$@1",
"method",
877 "methods_list",
"methods_list1",
"events_block",
"events_beg",
878 "events_list",
"events_list1",
"class_event",
"enum_block",
879 "enumeration_beg",
"enum_list",
"enum_list1",
"class_enum",
"stmt_begin",
880 "anon_fcn_begin",
"stash_comment",
"parse_error",
"sep_no_nl",
881 "opt_sep_no_nl",
"opt_nl",
"nl",
"sep",
"opt_sep",
YY_NULLPTR
887 return yytname[yysymbol];
891#define YYPACT_NINF (-464)
893#define yypact_value_is_default(Yyn) \
894 ((Yyn) == YYPACT_NINF)
896#define YYTABLE_NINF (-313)
898#define yytable_value_is_error(Yyn) \
905 792, -464, 662, 662, 1386, 1220, 1220, 52, -464, -464,
906 662, 662, 662, -464, -464, -464, -464, -464, -464, -464,
907 -464, -464, -464, -464, -464, -464, -464, -464, -464, 28,
908 28, -464, -464, -464, -464, 38, -5, 113, -464, -464,
909 163, -464, -464, -464, -464, -464, -464, -464, -464, -464,
910 612, -464, 1567, 459, -464, -464, -464, -464, -464, -464,
911 -464, -464, -464, -464, -464, 30, 66, 151, -464, -464,
912 -464, -464, 210, -464, -464, 192, 192, 188, -464, 1329,
913 662, 91, -464, -464, -464, 167, -464, 134, -464, -464,
914 27, -464, 192, 192, 192, 1303, 1401, 1386, 185, 185,
915 1386, 1386, 185, 185, 197, 28, -464, 28, -464, -464,
916 -464, 966, -464, 163, -464, 662, 662, 662, 662, 662,
917 542, 720, -464, 662, 662, 662, 662, -464, -464, -464,
918 -464, 1412, 1412, 4, 662, 662, 662, 662, 662, 662,
919 662, 662, 662, 662, 1386, 1386, 1386, 1386, 1386, 1386,
920 1386, 1386, 1386, 1386, 1386, 1386, 1386, -464, -464, -464,
921 1049, 187, -3, -464, -464, -464, 201, -464, 1220, 1329,
922 -464, 1220, -464, -464, -464, -464, 213, 215, -464, 286,
923 1386, 220, 243, 1386, 260, -464, -464, -464, -464, 218,
924 1132, 1132, -464, 209, 182, 185, 1132, 1132, 1386, -464,
925 -464, -464, 1470, 1534, 1534, 192, 192, -464, 55, -464,
926 136, 192, 192, 192, 192, 1412, 1412, 1412, 1412, 1412,
927 -464, 44, 44, 1386, -464, 174, 141, 266, 323, -464,
928 -464, -464, -464, -464, -464, -464, -464, -464, -464, -464,
929 -464, -464, -464, -464, -464, -464, -464, -464, -464, 172,
930 -464, 185, -464, -464, -464, -464, 15, 253, 254, 279,
931 285, 52, 1329, -464, -464, -464, -464, -464, -464, -464,
932 24, -464, -464, 887, 1386, 900, 1386, 185, -464, -464,
933 -464, 226, 227, 185, -464, -464, -464, -464, -464, 181,
934 219, 11, -464, 662, -464, 1329, -464, 44, 44, 44,
935 44, 44, 1235, 1314, -464, -464, 8, 283, -464, 883,
936 -464, 281, 185, -464, -464, 117, 28, 28, -13, 185,
937 -464, -464, 1386, -464, 1386, -464, 1132, 1386, -464, 1132,
938 185, 185, -464, -464, 240, 181, -464, -464, -464, -464,
939 -464, 1488, -464, 61, -464, 154, 1386, -464, -464, -464,
940 45, 28, 222, -464, 28, -464, -464, -464, 52, 223,
941 291, 185, 293, 185, 255, -464, -464, 1386, 1132, 185,
942 185, -464, -464, -464, 185, 185, -464, -464, 309, 28,
943 317, 98, -464, 185, 229, -464, 185, -464, -464, 185,
944 -464, -21, 1132, 185, -464, -464, 185, 1132, 1386, 1132,
945 -464, -464, -464, 1386, 1132, 1132, 1132, -464, -464, 1386,
946 185, 45, 284, -464, 222, 223, -464, -464, -464, -464,
947 223, 185, 1132, 268, 315, 271, 185, -464, -464, 272,
948 274, -464, -464, -464, 244, 73, 32, -464, -21, 1132,
949 -464, 322, 277, -464, 185, -464, 1132, 185, -464, -464,
950 -464, -464, -464, -464, -464, -464, 278, 185, -464, -464,
951 -464, -464, -464, -464, -464, -464, 244, -464, -464, -464,
952 28, 28, -464, 1132, -464, 1132, -464, 73, 185, 185,
953 185, 185, -464, 327, -464, 185, 329, 289, -464, -464,
954 -464, -464, -464, 281, 281, 281, 281, -464, 37, 290,
955 1329, -464, 28, -464, 287, -17, 287, 287, 329, -464,
956 132, -464, 334, 292, 185, -464, 28, -464, -464, -464,
957 296, 185, 9, 297, 185, -464, 28, 299, 185, -464,
958 28, -464, -464, 1329, 337, -464, 29, -464, 329, -464,
959 13, 103, 346, -464, -464, 287, -464, -464, 287, 347,
960 178, 1386, -464, -464, -464, -464, -464, -464, -464, -464,
961 1386, -464, -464, 28, 357, 52, -464, -464
969 0, 294, 0, 0, 0, 38, 38, 0, 295, 296,
970 0, 0, 0, 30, 25, 28, 29, 292, 292, 292,
971 292, 292, 292, 292, 173, 174, 175, 292, 292, 0,
972 0, 44, 27, 26, 293, 0, 0, 299, 7, 21,
973 47, 53, 52, 31, 48, 50, 51, 49, 134, 64,
974 106, 107, 132, 0, 133, 19, 20, 135, 136, 149,
975 150, 137, 138, 139, 140, 0, 0, 301, 142, 292,
976 141, 4, 300, 5, 47, 79, 78, 0, 55, 39,
977 56, 0, 33, 58, 59, 40, 57, 0, 36, 181,
978 0, 291, 77, 75, 76, 0, 0, 0, 311, 311,
979 0, 0, 311, 311, 147, 143, 145, 144, 1, 2,
980 3, 300, 6, 22, 23, 0, 0, 0, 0, 0,
981 0, 0, 63, 0, 0, 0, 0, 71, 72, 65,
982 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 203, 200, 303,
985 9, 302, 0, 297, 298, 54, 42, 32, 38, 41,
986 35, 38, 186, 56, 192, 191, 0, 188, 189, 0,
987 0, 118, 0, 0, 0, 290, 305, 306, 307, 312,
988 9, 9, 290, 0, 152, 311, 9, 9, 0, 146,
989 8, 24, 104, 83, 82, 84, 85, 67, 0, 69,
990 0, 88, 86, 87, 89, 0, 0, 0, 0, 0,
991 90, 80, 81, 0, 73, 116, 117, 114, 115, 108,
992 109, 110, 113, 111, 112, 119, 120, 121, 122, 123,
993 124, 125, 126, 127, 128, 129, 130, 131, 232, 0,
994 10, 311, 12, 292, 198, 304, 0, 0, 0, 204,
995 0, 183, 43, 34, 60, 61, 62, 37, 182, 185,
996 0, 46, 45, 0, 0, 0, 0, 311, 308, 309,
997 310, 0, 0, 311, 151, 292, 292, 155, 153, 159,
998 0, 0, 148, 0, 68, 0, 70, 103, 102, 101,
999 99, 100, 0, 0, 91, 92, 0, 0, 201, 312,
1000 11, 234, 311, 193, 196, 0, 0, 0, 0, 311,
1001 184, 190, 0, 290, 0, 290, 9, 0, 176, 9,
1002 311, 311, 292, 292, 0, 161, 163, 160, 292, 179,
1003 292, 105, 93, 0, 95, 0, 0, 97, 74, 13,
1004 0, 0, 14, 195, 0, 205, 206, 204, 183, 213,
1005 0, 311, 119, 311, 0, 168, 154, 0, 9, 311,
1006 311, 158, 164, 162, 311, 311, 94, 96, 0, 0,
1007 238, 0, 236, 311, 0, 15, 311, 17, 197, 311,
1008 217, 0, 9, 311, 214, 292, 311, 9, 0, 9,
1009 167, 290, 157, 0, 9, 9, 9, 98, 240, 0,
1010 311, 0, 241, 202, 16, 213, 207, 208, 209, 211,
1011 213, 311, 9, 0, 0, 0, 311, 290, 166, 0,
1012 0, 239, 235, 237, 0, 246, 311, 18, 0, 9,
1013 215, 218, 0, 169, 311, 171, 9, 311, 177, 178,
1014 245, 243, 257, 264, 277, 284, 0, 311, 248, 292,
1015 249, 292, 250, 292, 251, 292, 0, 242, 210, 212,
1016 0, 0, 170, 9, 156, 9, 233, 247, 311, 311,
1017 311, 311, 244, 0, 222, 311, 224, 0, 165, 252,
1018 253, 254, 255, 234, 234, 234, 234, 219, 312, 0,
1019 0, 220, 226, 172, 258, 292, 278, 285, 224, 216,
1020 0, 227, 228, 0, 311, 260, 0, 271, 270, 274,
1021 0, 311, 0, 0, 311, 280, 0, 0, 311, 287,
1022 0, 221, 225, 0, 230, 256, 292, 259, 224, 263,
1023 292, 265, 0, 267, 276, 279, 282, 283, 286, 0,
1024 0, 0, 223, 261, 262, 275, 266, 268, 281, 288,
1025 0, 229, 231, 0, 0, 265, 269, 289
1031 -464, -464, -464, -464, -175, -464, -464, -464, -464, -464,
1032 3, -464, -464, 0, -464, -464, -22, -464, -464, -464,
1033 -464, -464, 1, -464, -464, -120, -160, -85, -77, -181,
1034 21, -52, -464, 138, -70, -464, 280, -464, -464, 339,
1035 -71, -464, -464, -464, -464, -464, -464, -464, -464, -464,
1036 35, 36, -464, -464, -464, -464, -464, -464, -464, 16,
1037 -6, -464, -464, 106, -147, -464, -464, -464, -464, -464,
1038 -464, 60, -56, -346, -32, -36, -464, -35, -464, -464,
1039 -464, -112, -463, -464, -464, -464, -464, -464, -464, -307,
1040 -464, -24, -464, -464, -78, -464, -464, -88, -464, -464,
1041 -464, -143, -83, -464, -168, -464, -464, -144, -464, -464,
1042 -79, -464, -464, -464, -142, -75, -464, -464, -464, -141,
1043 -182, -464, 105, -464, 371, 372, -464, -464, -247, 311
1049 0, 35, 36, 37, 249, 250, 251, 384, 385, 386,
1050 252, 39, 113, 74, 41, 42, 43, 44, 45, 81,
1051 46, 87, 82, 47, 48, 49, 83, 84, 85, 133,
1052 50, 221, 51, 52, 53, 54, 55, 56, 57, 105,
1053 106, 58, 59, 193, 194, 287, 288, 60, 334, 335,
1054 336, 337, 61, 62, 63, 64, 65, 90, 269, 319,
1055 320, 176, 177, 178, 260, 315, 312, 66, 67, 68,
1056 69, 261, 418, 70, 391, 392, 393, 394, 395, 471,
1057 485, 486, 501, 502, 512, 534, 552, 253, 254, 351,
1058 381, 382, 435, 436, 451, 456, 457, 458, 459, 513,
1059 514, 515, 460, 461, 543, 518, 563, 519, 520, 521,
1060 462, 463, 523, 524, 525, 464, 465, 527, 528, 529,
1061 277, 179, 516, 71, 72, 73, 160, 161, 189, 190
1069 40, 91, 166, 38, 309, 174, 387, 88, 256, 264,
1070 283, 220, 220, 223, 109, 281, 282, 346, 114, 175,
1071 256, 290, 291, 75, 76, 182, 184, 313, 172, 104,
1072 104, 92, 93, 94, 199, 416, 199, -187, 108, -272,
1073 306, 306, 14, 208, 210, 531, 278, 279, 280, 186,
1074 187, 188, 14, 302, 278, 279, 280, 303, 224, 122,
1075 173, 89, 347, 173, 14, 294, 466, 339, 437, -273,
1076 14, 376, 295, 417, -180, 554, 257, 258, 295, 14,
1077 222, 379, 14, 14, 265, -312, 257, 258, 340, 110,
1078 104, 201, 14, 304, 305, 220, 220, 220, 220, 220,
1079 14, 92, 264, 167, -180, 104, -194, 104, 410, 168,
1080 273, 40, 89, 275, 200, 411, 306, 306, 306, 306,
1081 306, 157, 95, 96, 97, 98, 99, 100, 101, 353,
1082 8, 9, 102, 103, 354, 264, 202, 203, 204, 205,
1083 206, 361, 532, 363, 211, 212, 213, 214, 170, 295,
1084 296, 364, 171, 295, 366, 452, 453, 454, 455, 517,
1085 40, 158, 259, 297, 298, 299, 300, 301, 377, 263,
1086 159, 295, 267, 134, 162, 136, 137, 265, 138, 139,
1087 140, 141, 142, 143, 169, 174, 504, 505, 506, 507,
1088 40, 40, 561, 402, 517, 295, 40, 40, 165, 175,
1089 198, 120, 186, 187, 188, 121, 255, 122, 136, 137,
1090 265, 138, 139, 140, 141, 142, 143, 419, 262, 426,
1091 15, 16, 423, 268, 425, 343, 345, 163, 164, 428,
1092 429, 430, 270, 181, 181, 278, 279, 280, 498, 127,
1093 128, 129, 130, 131, 132, 447, 274, 442, 285, 286,
1094 332, 333, 134, 135, 136, 137, 314, 138, 139, 140,
1095 141, 142, 143, 276, 469, 284, 308, 536, 316, 317,
1096 104, 474, 225, 226, 227, 228, 229, 230, 231, 232,
1097 233, 234, -194, 328, 77, 86, 86, 271, 318, 327,
1098 350, 2, 3, 348, 338, 4, 371, 5, 487, 6,
1099 488, 396, 7, 138, 139, 140, 141, 142, 143, 40,
1100 398, 400, 349, -180, 341, 390, 355, 356, 357, 407,
1101 409, 434, 10, 413, 443, 444, 40, 445, 448, 40,
1102 449, 470, 450, 472, 476, 11, 12, 497, 500, 13,
1103 551, 14, -292, 15, 16, 503, 509, 533, 535, 557,
1104 380, 383, 539, 544, 388, 547, 560, 136, 311, 86,
1105 138, 139, 140, 141, 142, 143, 31, 567, 40, 107,
1106 372, 373, 32, 33, 389, 542, 321, 185, 358, 408,
1107 192, 195, 468, 438, 439, 440, 508, 433, 482, 489,
1108 330, 331, 40, 553, 490, 566, 555, 40, 491, 40,
1109 86, 86, 492, 558, 40, 40, 40, 559, 111, 112,
1110 191, 380, 0, 196, 197, 0, 0, 0, 0, 0,
1111 0, 0, 40, 510, 235, 236, 237, 238, 239, 240,
1112 241, 242, 243, 244, 245, 246, 247, 369, 370, 40,
1113 0, 0, 0, 374, 0, 375, 40, 0, 86, 266,
1114 0, 86, 0, 0, 0, 0, 550, 0, 0, 272,
1115 77, 0, 144, 77, 0, 0, 0, 0, 0, 0,
1116 483, 484, 0, 40, 0, 40, 0, 0, 292, 145,
1117 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1118 156, 0, 0, 0, 0, 0, 0, 0, 484, 0,
1119 421, 0, 511, 307, 0, 0, 289, 0, 0, 0,
1120 0, 0, 0, 0, 0, 0, 538, 0, 0, 0,
1121 0, 0, 541, 0, 0, 0, 546, 0, 0, 0,
1122 549, 0, 0, 0, 0, 556, 0, 0, 0, 0,
1123 0, 0, 266, 0, 0, 0, 78, 2, 3, 0,
1124 0, 4, 207, 5, 323, 6, 325, 0, 7, 556,
1125 0, 0, 310, 565, 478, 0, 479, 0, 480, 0,
1126 481, 0, 0, 0, 0, 266, 0, 0, 80, 0,
1127 0, 0, 86, 86, 0, 0, 0, 0, 326, 0,
1128 0, 11, 12, 0, 329, 13, 0, 14, 0, 15,
1129 16, 0, 360, 0, 362, 0, 0, 365, 0, 0,
1130 522, 526, 530, 0, 0, 0, 115, 116, 117, 118,
1131 119, 120, 31, 352, 0, 121, 378, 122, 32, 33,
1132 359, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133 0, 367, 368, 0, 0, 522, 0, 401, 0, 0,
1134 526, 0, 0, 530, 0, 123, 124, 125, 126, 127,
1135 128, 129, 130, 131, 132, 0, 0, 2, 3, 0,
1136 0, 4, 397, 5, 399, 6, 0, 0, 424, 0,
1137 403, 404, 0, 427, 0, 405, 406, 0, 0, 431,
1138 0, 0, 0, 0, 412, 0, 0, 414, 10, 0,
1139 415, 0, 0, 0, 420, 0, 0, 422, 0, 0,
1140 0, 11, 12, 0, 0, 13, 0, 14, 0, 15,
1141 16, 432, 0, 0, 78, 2, 3, 0, 0, 4,
1142 0, 5, 441, 6, 209, 0, 7, 446, 0, 0,
1143 0, 0, 31, 0, 0, 0, 0, 467, 32, 33,
1144 0, 0, 0, 0, 0, 473, 80, 0, 475, 0,
1145 0, 0, 0, 0, 0, 0, 0, 0, 477, 11,
1146 12, 0, 0, 13, 0, 14, 0, 15, 16, 0,
1147 86, 0, 0, 0, 0, 0, 0, 0, 0, 493,
1148 494, 495, 496, 1, 0, 0, 499, 2, 3, 0,
1149 31, 4, 0, 5, 0, 6, 32, 33, 7, 8,
1150 9, -299, 0, 86, 0, 0, 0, 0, 0, 0,
1151 0, 0, 0, 0, 0, 537, 0, 0, 10, 0,
1152 0, 562, 540, 0, 0, 545, 0, 0, 0, 548,
1153 564, 11, 12, 0, 0, 13, 0, 14, 0, 15,
1154 16, 17, 18, 19, 20, 0, 21, 22, 0, 0,
1155 23, 0, 0, 24, 25, 26, 27, 0, 28, 0,
1156 29, 30, 31, 0, 0, 0, 0, 0, 32, 33,
1157 0, 0, 0, -180, 0, 34, -299, -199, 2, 3,
1158 322, 0, 4, 0, 5, 0, 6, 0, 0, 7,
1159 278, 279, 280, 324, 0, 0, 0, 145, 146, 147,
1160 148, 149, 150, 151, 152, 153, 154, 155, 156, 10,
1161 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1162 155, 156, 11, 12, 0, 0, 13, 0, 14, 0,
1163 15, 16, 17, 18, 19, 20, 0, 21, 22, 0,
1164 0, 23, 0, 0, 24, 25, 26, 27, 0, 28,
1165 0, 29, 30, 31, 0, 0, 0, 0, 0, 32,
1166 33, 2, 3, 0, -180, 4, 0, 5, -199, 6,
1167 0, 0, 7, 163, 164, 0, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, 0, 0, 0, 11, 12, 0, 0, 13,
1171 0, 14, 0, 15, 16, 17, 18, 19, 20, 0,
1172 21, 22, 0, 0, 23, 0, 0, 24, 25, 26,
1173 27, 0, 28, 0, 29, 30, 31, 0, 0, 0,
1174 0, 0, 32, 33, 2, 3, 0, -180, 4, 0,
1175 5, -199, 6, 0, 0, 7, 0, 0, 0, 0,
1176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1177 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
1179 0, 0, 13, 0, 14, 0, 15, 16, 17, 18,
1180 19, 20, 0, 21, 22, 0, 0, 23, 0, 0,
1181 24, 25, 26, 27, 0, 28, 0, 29, 30, 31,
1182 248, 0, 0, 0, 0, 32, 33, 2, 3, 0,
1183 -180, 4, 0, 5, -199, 6, 0, 0, 7, 0,
1184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, 0, 0, 10, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 11, 12, 0, 0, 13, 0, 14, 0, 15,
1188 16, 17, 18, 19, 20, 0, 21, 22, 0, 0,
1189 23, 0, 0, 24, 25, 26, 27, 0, 28, 0,
1190 29, 30, 31, 0, 0, 0, 0, 0, 32, 33,
1191 0, 0, 0, -180, 78, 2, 3, -199, 0, 4,
1192 0, 5, 0, 6, 0, 0, 7, 79, 0, 78,
1193 2, 3, 0, 0, 4, 342, 5, 0, 6, 0,
1194 0, 7, 0, 0, 0, 0, 80, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1196 12, 80, 0, 13, 0, 14, 0, 15, 16, 0,
1197 0, 0, 0, 0, 11, 12, 0, 0, 13, 0,
1198 14, 0, 15, 16, 0, 0, 0, 0, 0, 0,
1199 31, 0, 0, 0, 0, 0, 32, 33, 2, 3,
1200 0, 0, 180, 0, 5, 31, 6, 0, 78, 2,
1201 3, 32, 33, 4, 0, 5, 0, 6, 344, 0,
1202 7, 0, 0, 78, 2, 3, 0, 0, 4, 10,
1203 5, 0, 6, 0, 0, 7, 0, 0, 0, 0,
1204 80, 0, 11, 12, 0, 0, 13, 0, 14, 0,
1205 15, 16, 0, 11, 12, 80, 0, 13, 0, 14,
1206 0, 15, 16, 0, 0, 0, 0, 0, 11, 12,
1207 0, 0, 13, 31, 14, 0, 15, 16, 0, 32,
1208 33, 2, 3, 0, 31, 4, 0, 5, 0, 6,
1209 32, 33, 7, 0, 0, 0, 2, 3, 0, 31,
1210 183, 0, 5, 0, 6, 32, 33, 215, 216, 0,
1211 0, 4, 10, 5, 0, 6, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 11, 12, 10, 0, 13,
1213 0, 14, 0, 15, 16, 0, 0, 0, 217, 0,
1214 11, 12, 0, 0, 13, 0, 14, 0, 15, 16,
1215 0, 218, 219, 0, 0, 13, 31, 14, 0, 15,
1216 16, 0, 32, 33, 293, 116, 117, 118, 119, 120,
1217 0, 31, 0, 121, 0, 122, 0, 32, 33, 0,
1218 0, 0, 31, 116, 117, 118, 119, 120, 32, 33,
1219 0, 121, 0, 122, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 123, 124, 125, 126, 127, 128, 129,
1221 130, 131, 132, 0, 0, 0, 0, 0, 0, 0,
1222 0, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1223 132, 118, 119, 120, 0, 0, 0, 121, 0, 122,
1224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1226 -118, 0, 0, 0, 0, 0, 0, 123, 124, 125,
1227 126, 127, 128, 129, 130, 131, 132, -118, -118, -118,
1228 -118, -118, -118, -118, -118, -118, -118, -118, -118, 134,
1229 135, 136, 137, 0, 138, 139, 140, 141, 142, 143
1234 0, 7, 79, 0, 251, 90, 352, 6, 11, 169,
1235 192, 131, 132, 9, 19, 190, 191, 9, 40, 90,
1236 11, 196, 197, 2, 3, 95, 96, 12, 1, 29,
1237 30, 10, 11, 12, 105, 56, 107, 10, 0, 56,
1238 221, 222, 55, 120, 121, 508, 17, 18, 19, 17,
1239 18, 19, 55, 9, 17, 18, 19, 13, 54, 15,
1240 36, 9, 54, 36, 55, 10, 34, 56, 414, 56,
1241 55, 10, 17, 94, 91, 538, 89, 90, 17, 55,
1242 132, 36, 55, 55, 169, 56, 89, 90, 77, 94,
1243 90, 113, 55, 49, 50, 215, 216, 217, 218, 219,
1244 55, 80, 262, 12, 91, 105, 3, 107, 10, 18,
1245 180, 111, 9, 183, 111, 17, 297, 298, 299, 300,
1246 301, 91, 17, 18, 19, 20, 21, 22, 23, 12,
1247 17, 18, 27, 28, 17, 295, 115, 116, 117, 118,
1248 119, 323, 10, 325, 123, 124, 125, 126, 14, 17,
1249 14, 326, 18, 17, 329, 82, 83, 84, 85, 505,
1250 160, 95, 162, 215, 216, 217, 218, 219, 14, 168,
1251 19, 17, 171, 32, 69, 34, 35, 262, 37, 38,
1252 39, 40, 41, 42, 17, 270, 493, 494, 495, 496,
1253 190, 191, 14, 368, 540, 17, 196, 197, 10, 270,
1254 3, 9, 17, 18, 19, 13, 19, 15, 34, 35,
1255 295, 37, 38, 39, 40, 41, 42, 392, 17, 401,
1256 57, 58, 397, 10, 399, 302, 303, 17, 18, 404,
1257 405, 406, 17, 95, 96, 17, 18, 19, 485, 47,
1258 48, 49, 50, 51, 52, 427, 3, 422, 66, 67,
1259 69, 70, 32, 33, 34, 35, 256, 37, 38, 39,
1260 40, 41, 42, 3, 439, 56, 94, 514, 15, 15,
1261 270, 446, 134, 135, 136, 137, 138, 139, 140, 141,
1262 142, 143, 3, 56, 4, 5, 6, 1, 3, 63,
1263 9, 5, 6, 10, 75, 9, 56, 11, 473, 13,
1264 475, 10, 16, 37, 38, 39, 40, 41, 42, 309,
1265 17, 56, 309, 91, 293, 92, 316, 317, 318, 10,
1266 3, 37, 36, 94, 56, 10, 326, 56, 56, 329,
1267 56, 9, 88, 56, 56, 49, 50, 10, 9, 53,
1268 3, 55, 55, 57, 58, 56, 56, 13, 56, 3,
1269 350, 351, 56, 56, 354, 56, 9, 34, 253, 79,
1270 37, 38, 39, 40, 41, 42, 80, 10, 368, 30,
1271 335, 335, 86, 87, 358, 522, 270, 97, 318, 379,
1272 100, 101, 438, 415, 420, 420, 498, 411, 466, 477,
1273 285, 286, 392, 536, 477, 563, 540, 397, 477, 399,
1274 120, 121, 477, 545, 404, 405, 406, 548, 37, 37,
1275 99, 411, -1, 102, 103, -1, -1, -1, -1, -1,
1276 -1, -1, 422, 500, 144, 145, 146, 147, 148, 149,
1277 150, 151, 152, 153, 154, 155, 156, 332, 333, 439,
1278 -1, -1, -1, 338, -1, 340, 446, -1, 168, 169,
1279 -1, 171, -1, -1, -1, -1, 533, -1, -1, 179,
1280 180, -1, 3, 183, -1, -1, -1, -1, -1, -1,
1281 470, 471, -1, 473, -1, 475, -1, -1, 198, 20,
1282 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1283 31, -1, -1, -1, -1, -1, -1, -1, 498, -1,
1284 395, -1, 502, 223, -1, -1, 195, -1, -1, -1,
1285 -1, -1, -1, -1, -1, -1, 516, -1, -1, -1,
1286 -1, -1, 522, -1, -1, -1, 526, -1, -1, -1,
1287 530, -1, -1, -1, -1, 541, -1, -1, -1, -1,
1288 -1, -1, 262, -1, -1, -1, 4, 5, 6, -1,
1289 -1, 9, 10, 11, 274, 13, 276, -1, 16, 565,
1290 -1, -1, 251, 563, 459, -1, 461, -1, 463, -1,
1291 465, -1, -1, -1, -1, 295, -1, -1, 36, -1,
1292 -1, -1, 302, 303, -1, -1, -1, -1, 277, -1,
1293 -1, 49, 50, -1, 283, 53, -1, 55, -1, 57,
1294 58, -1, 322, -1, 324, -1, -1, 327, -1, -1,
1295 505, 506, 507, -1, -1, -1, 4, 5, 6, 7,
1296 8, 9, 80, 312, -1, 13, 346, 15, 86, 87,
1297 319, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1298 -1, 330, 331, -1, -1, 540, -1, 367, -1, -1,
1299 545, -1, -1, 548, -1, 43, 44, 45, 46, 47,
1300 48, 49, 50, 51, 52, -1, -1, 5, 6, -1,
1301 -1, 9, 361, 11, 363, 13, -1, -1, 398, -1,
1302 369, 370, -1, 403, -1, 374, 375, -1, -1, 409,
1303 -1, -1, -1, -1, 383, -1, -1, 386, 36, -1,
1304 389, -1, -1, -1, 393, -1, -1, 396, -1, -1,
1305 -1, 49, 50, -1, -1, 53, -1, 55, -1, 57,
1306 58, 410, -1, -1, 4, 5, 6, -1, -1, 9,
1307 -1, 11, 421, 13, 14, -1, 16, 426, -1, -1,
1308 -1, -1, 80, -1, -1, -1, -1, 436, 86, 87,
1309 -1, -1, -1, -1, -1, 444, 36, -1, 447, -1,
1310 -1, -1, -1, -1, -1, -1, -1, -1, 457, 49,
1311 50, -1, -1, 53, -1, 55, -1, 57, 58, -1,
1312 500, -1, -1, -1, -1, -1, -1, -1, -1, 478,
1313 479, 480, 481, 1, -1, -1, 485, 5, 6, -1,
1314 80, 9, -1, 11, -1, 13, 86, 87, 16, 17,
1315 18, 19, -1, 533, -1, -1, -1, -1, -1, -1,
1316 -1, -1, -1, -1, -1, 514, -1, -1, 36, -1,
1317 -1, 551, 521, -1, -1, 524, -1, -1, -1, 528,
1318 560, 49, 50, -1, -1, 53, -1, 55, -1, 57,
1319 58, 59, 60, 61, 62, -1, 64, 65, -1, -1,
1320 68, -1, -1, 71, 72, 73, 74, -1, 76, -1,
1321 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
1322 -1, -1, -1, 91, -1, 93, 94, 95, 5, 6,
1323 3, -1, 9, -1, 11, -1, 13, -1, -1, 16,
1324 17, 18, 19, 3, -1, -1, -1, 20, 21, 22,
1325 23, 24, 25, 26, 27, 28, 29, 30, 31, 36,
1326 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1327 30, 31, 49, 50, -1, -1, 53, -1, 55, -1,
1328 57, 58, 59, 60, 61, 62, -1, 64, 65, -1,
1329 -1, 68, -1, -1, 71, 72, 73, 74, -1, 76,
1330 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
1331 87, 5, 6, -1, 91, 9, -1, 11, 95, 13,
1332 -1, -1, 16, 17, 18, -1, -1, -1, -1, -1,
1333 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1334 -1, -1, 36, -1, -1, -1, -1, -1, -1, -1,
1335 -1, -1, -1, -1, -1, 49, 50, -1, -1, 53,
1336 -1, 55, -1, 57, 58, 59, 60, 61, 62, -1,
1337 64, 65, -1, -1, 68, -1, -1, 71, 72, 73,
1338 74, -1, 76, -1, 78, 79, 80, -1, -1, -1,
1339 -1, -1, 86, 87, 5, 6, -1, 91, 9, -1,
1340 11, 95, 13, -1, -1, 16, -1, -1, -1, -1,
1341 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1342 -1, -1, -1, -1, -1, 36, -1, -1, -1, -1,
1343 -1, -1, -1, -1, -1, -1, -1, -1, 49, 50,
1344 -1, -1, 53, -1, 55, -1, 57, 58, 59, 60,
1345 61, 62, -1, 64, 65, -1, -1, 68, -1, -1,
1346 71, 72, 73, 74, -1, 76, -1, 78, 79, 80,
1347 81, -1, -1, -1, -1, 86, 87, 5, 6, -1,
1348 91, 9, -1, 11, 95, 13, -1, -1, 16, -1,
1349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1350 -1, -1, -1, -1, -1, -1, -1, -1, 36, -1,
1351 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1352 -1, 49, 50, -1, -1, 53, -1, 55, -1, 57,
1353 58, 59, 60, 61, 62, -1, 64, 65, -1, -1,
1354 68, -1, -1, 71, 72, 73, 74, -1, 76, -1,
1355 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
1356 -1, -1, -1, 91, 4, 5, 6, 95, -1, 9,
1357 -1, 11, -1, 13, -1, -1, 16, 17, -1, 4,
1358 5, 6, -1, -1, 9, 10, 11, -1, 13, -1,
1359 -1, 16, -1, -1, -1, -1, 36, -1, -1, -1,
1360 -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
1361 50, 36, -1, 53, -1, 55, -1, 57, 58, -1,
1362 -1, -1, -1, -1, 49, 50, -1, -1, 53, -1,
1363 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
1364 80, -1, -1, -1, -1, -1, 86, 87, 5, 6,
1365 -1, -1, 9, -1, 11, 80, 13, -1, 4, 5,
1366 6, 86, 87, 9, -1, 11, -1, 13, 14, -1,
1367 16, -1, -1, 4, 5, 6, -1, -1, 9, 36,
1368 11, -1, 13, -1, -1, 16, -1, -1, -1, -1,
1369 36, -1, 49, 50, -1, -1, 53, -1, 55, -1,
1370 57, 58, -1, 49, 50, 36, -1, 53, -1, 55,
1371 -1, 57, 58, -1, -1, -1, -1, -1, 49, 50,
1372 -1, -1, 53, 80, 55, -1, 57, 58, -1, 86,
1373 87, 5, 6, -1, 80, 9, -1, 11, -1, 13,
1374 86, 87, 16, -1, -1, -1, 5, 6, -1, 80,
1375 9, -1, 11, -1, 13, 86, 87, 5, 6, -1,
1376 -1, 9, 36, 11, -1, 13, -1, -1, -1, -1,
1377 -1, -1, -1, -1, -1, 49, 50, 36, -1, 53,
1378 -1, 55, -1, 57, 58, -1, -1, -1, 36, -1,
1379 49, 50, -1, -1, 53, -1, 55, -1, 57, 58,
1380 -1, 49, 50, -1, -1, 53, 80, 55, -1, 57,
1381 58, -1, 86, 87, 4, 5, 6, 7, 8, 9,
1382 -1, 80, -1, 13, -1, 15, -1, 86, 87, -1,
1383 -1, -1, 80, 5, 6, 7, 8, 9, 86, 87,
1384 -1, 13, -1, 15, -1, -1, -1, -1, -1, -1,
1385 -1, -1, -1, 43, 44, 45, 46, 47, 48, 49,
1386 50, 51, 52, -1, -1, -1, -1, -1, -1, -1,
1387 -1, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1388 52, 7, 8, 9, -1, -1, -1, 13, -1, 15,
1389 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1391 3, -1, -1, -1, -1, -1, -1, 43, 44, 45,
1392 46, 47, 48, 49, 50, 51, 52, 20, 21, 22,
1393 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1394 33, 34, 35, -1, 37, 38, 39, 40, 41, 42
1401 0, 1, 5, 6, 9, 11, 13, 16, 17, 18,
1402 36, 49, 50, 53, 55, 57, 58, 59, 60, 61,
1403 62, 64, 65, 68, 71, 72, 73, 74, 76, 78,
1404 79, 80, 86, 87, 93, 98, 99, 100, 107, 108,
1405 110, 111, 112, 113, 114, 115, 117, 120, 121, 122,
1406 127, 129, 130, 131, 132, 133, 134, 135, 138, 139,
1407 144, 149, 150, 151, 152, 153, 164, 165, 166, 167,
1408 170, 220, 221, 222, 110, 127, 127, 133, 4, 17,
1409 36, 116, 119, 123, 124, 125, 133, 118, 119, 9,
1410 154, 157, 127, 127, 127, 219, 219, 219, 219, 219,
1411 219, 219, 219, 219, 110, 136, 137, 136, 0, 19,
1412 94, 221, 222, 109, 113, 4, 5, 6, 7, 8,
1413 9, 13, 15, 43, 44, 45, 46, 47, 48, 49,
1414 50, 51, 52, 126, 32, 33, 34, 35, 37, 38,
1415 39, 40, 41, 42, 3, 20, 21, 22, 23, 24,
1416 25, 26, 27, 28, 29, 30, 31, 91, 95, 19,
1417 223, 224, 219, 17, 18, 10, 125, 12, 18, 17,
1418 14, 18, 1, 36, 124, 137, 158, 159, 160, 218,
1419 9, 130, 131, 9, 131, 133, 17, 18, 19, 225,
1420 226, 226, 133, 140, 141, 133, 226, 226, 3, 137,
1421 107, 113, 127, 127, 127, 127, 127, 10, 125, 14,
1422 125, 127, 127, 127, 127, 5, 6, 36, 49, 50,
1423 122, 128, 128, 9, 54, 130, 130, 130, 130, 130,
1424 130, 130, 130, 130, 130, 133, 133, 133, 133, 133,
1425 133, 133, 133, 133, 133, 133, 133, 133, 81, 101,
1426 102, 103, 107, 184, 185, 19, 11, 89, 90, 110,
1427 161, 168, 17, 119, 123, 124, 133, 119, 10, 155,
1428 17, 1, 133, 131, 3, 131, 3, 217, 17, 18,
1429 19, 101, 101, 217, 56, 66, 67, 142, 143, 226,
1430 101, 101, 133, 4, 10, 17, 14, 128, 128, 128,
1431 128, 128, 9, 13, 49, 50, 126, 133, 94, 225,
1432 226, 219, 163, 12, 110, 162, 15, 15, 3, 156,
1433 157, 160, 3, 133, 3, 133, 226, 63, 56, 226,
1434 219, 219, 69, 70, 145, 146, 147, 148, 75, 56,
1435 77, 127, 10, 125, 14, 125, 9, 54, 10, 107,
1436 9, 186, 226, 12, 17, 110, 110, 110, 168, 226,
1437 133, 217, 133, 217, 101, 133, 101, 226, 226, 219,
1438 219, 56, 147, 148, 219, 219, 10, 14, 133, 36,
1439 110, 187, 188, 110, 104, 105, 106, 170, 110, 156,
1440 92, 171, 172, 173, 174, 175, 10, 226, 17, 226,
1441 56, 133, 101, 226, 226, 226, 226, 10, 110, 3,
1442 10, 17, 226, 94, 226, 226, 56, 94, 169, 101,
1443 226, 219, 226, 101, 133, 101, 217, 133, 101, 101,
1444 101, 133, 226, 188, 37, 189, 190, 170, 171, 172,
1445 174, 226, 101, 56, 10, 56, 226, 217, 56, 56,
1446 88, 191, 82, 83, 84, 85, 192, 193, 194, 195,
1447 199, 200, 207, 208, 212, 213, 34, 226, 169, 101,
1448 9, 176, 56, 226, 101, 226, 56, 226, 219, 219,
1449 219, 219, 191, 110, 110, 177, 178, 101, 101, 194,
1450 199, 207, 212, 226, 226, 226, 226, 10, 225, 226,
1451 9, 179, 180, 56, 186, 186, 186, 186, 178, 56,
1452 125, 110, 181, 196, 197, 198, 219, 170, 202, 204,
1453 205, 206, 219, 209, 210, 211, 219, 214, 215, 216,
1454 219, 179, 10, 13, 182, 56, 225, 226, 110, 56,
1455 226, 110, 161, 201, 56, 226, 110, 56, 226, 110,
1456 125, 3, 183, 198, 179, 204, 157, 3, 211, 216,
1457 9, 14, 133, 203, 133, 110, 201, 10
1463 0, 97, 98, 98, 98, 99, 99, 100, 100, 101,
1464 101, 102, 103, 103, 104, 104, 105, 106, 106, 107,
1465 107, 107, 108, 109, 109, 110, 111, 112, 113, 113,
1466 114, 114, 115, 116, 116, 117, 118, 118, 119, 119,
1467 119, 119, 119, 119, 120, 121, 121, 122, 122, 122,
1468 122, 122, 122, 122, 122, 123, 124, 125, 125, 125,
1469 125, 125, 125, 126, 127, 127, 127, 127, 127, 127,
1470 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1471 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1472 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1473 128, 128, 128, 128, 129, 129, 130, 130, 130, 130,
1474 130, 130, 130, 130, 130, 130, 130, 130, 131, 132,
1475 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1476 132, 132, 133, 133, 133, 134, 134, 134, 134, 134,
1477 134, 134, 134, 135, 135, 136, 136, 137, 137, 138,
1478 138, 139, 140, 140, 141, 141, 142, 143, 144, 145,
1479 145, 145, 145, 146, 146, 147, 148, 149, 149, 149,
1480 149, 149, 149, 150, 150, 150, 151, 152, 152, 152,
1481 153, 154, 155, 156, 156, 157, 157, 158, 158, 159,
1482 159, 160, 160, 161, 161, 161, 162, 162, 163, 164,
1483 165, 166, 166, 167, 168, 168, 168, 169, 169, 170,
1484 170, 171, 171, 172, 173, 173, 174, 175, 176, 176,
1485 177, 177, 178, 179, 180, 180, 181, 181, 182, 182,
1486 183, 183, 184, 185, 186, 186, 187, 187, 188, 188,
1487 188, 189, 189, 190, 190, 191, 192, 192, 193, 193,
1488 193, 193, 193, 193, 193, 193, 194, 195, 196, 196,
1489 197, 197, 198, 199, 200, 201, 201, 202, 203, 202,
1490 204, 204, 205, 205, 206, 206, 207, 208, 209, 209,
1491 210, 210, 211, 212, 213, 214, 214, 215, 215, 216,
1492 217, 218, 219, 220, 220, 221, 221, 221, 221, 222,
1493 222, 223, 223, 224, 224, 225, 225, 225, 225, 225,
1500 0, 2, 2, 2, 1, 1, 2, 1, 3, 0,
1501 1, 2, 1, 3, 0, 1, 2, 1, 3, 1,
1502 1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
1503 1, 1, 3, 1, 3, 3, 1, 3, 0, 1,
1504 1, 2, 2, 3, 1, 4, 4, 1, 1, 1,
1505 1, 1, 1, 1, 3, 1, 1, 1, 1, 1,
1506 3, 3, 3, 1, 1, 2, 2, 3, 4, 3,
1507 4, 2, 2, 3, 5, 2, 2, 2, 2, 2,
1508 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1509 1, 2, 2, 3, 4, 3, 4, 3, 5, 2,
1510 2, 2, 2, 2, 3, 5, 1, 1, 3, 3,
1511 3, 3, 3, 3, 3, 3, 3, 3, 1, 3,
1512 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1513 3, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1514 1, 1, 1, 2, 2, 1, 2, 1, 3, 1,
1515 1, 4, 1, 2, 4, 2, 7, 4, 6, 0,
1516 1, 1, 2, 1, 2, 7, 4, 7, 6, 9,
1517 10, 9, 12, 1, 1, 1, 5, 9, 9, 5,
1518 0, 1, 1, 0, 1, 3, 2, 0, 1, 1,
1519 3, 1, 1, 2, 1, 3, 1, 3, 0, 0,
1520 2, 4, 7, 2, 1, 3, 3, 1, 1, 7,
1521 9, 2, 4, 0, 1, 3, 7, 1, 0, 3,
1522 2, 4, 1, 4, 0, 3, 0, 1, 0, 3,
1523 0, 2, 1, 8, 0, 4, 1, 3, 1, 3,
1524 2, 0, 2, 2, 3, 1, 0, 2, 1, 1,
1525 1, 1, 3, 3, 3, 3, 6, 1, 0, 2,
1526 1, 3, 3, 6, 1, 1, 2, 2, 0, 5,
1527 1, 1, 0, 2, 1, 3, 6, 1, 0, 2,
1528 1, 3, 2, 6, 1, 0, 2, 1, 3, 5,
1529 0, 0, 0, 1, 1, 1, 1, 2, 2, 0,
1530 1, 0, 1, 1, 2, 1, 1, 1, 2, 2,
1537#define yyerrok (yyerrstatus = 0)
1538#define yyclearin (yychar = OCTAVE_EMPTY)
1540#define YYACCEPT goto yyacceptlab
1541#define YYABORT goto yyabortlab
1542#define YYERROR goto yyerrorlab
1543#define YYNOMEM goto yyexhaustedlab
1546#define YYRECOVERING() (!!yyerrstatus)
1548#define YYBACKUP(Token, Value) \
1550 if (yychar == OCTAVE_EMPTY) \
1554 YYPOPSTACK (yylen); \
1560 yyerror (parser, YY_("syntax error: cannot back up")); \
1567#define YYERRCODE OCTAVE_UNDEF
1575# define YYFPRINTF fprintf
1578# define YYDPRINTF(Args) \
1587# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1591 YYFPRINTF (stderr, "%s ", Title); \
1592 yy_symbol_print (stderr, \
1593 Kind, Value, parser); \
1594 YYFPRINTF (stderr, "\n"); \
1604yy_symbol_value_print (FILE *yyo,
1607 FILE *yyoutput = yyo;
1623yy_symbol_print (FILE *yyo,
1626 YYFPRINTF (yyo,
"%s %s (",
1627 yykind <
YYNTOKENS ?
"token" :
"nterm", yysymbol_name (yykind));
1629 yy_symbol_value_print (yyo, yykind, yyvaluep, parser);
1630 YYFPRINTF (yyo,
")");
1641 YYFPRINTF (stderr,
"Stack now");
1642 for (; yybottom <= yytop; yybottom++)
1644 int yybot = *yybottom;
1645 YYFPRINTF (stderr,
" %d", yybot);
1647 YYFPRINTF (stderr,
"\n");
1650# define YY_STACK_PRINT(Bottom, Top) \
1653 yy_stack_print ((Bottom), (Top)); \
1665 int yylno = yyrline[yyrule];
1666 int yynrhs =
yyr2[yyrule];
1668 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1671 for (yyi = 0; yyi < yynrhs; yyi++)
1673 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1674 yy_symbol_print (stderr,
1676 &
yyvsp[(yyi + 1) - (yynrhs)], parser);
1677 YYFPRINTF (stderr,
"\n");
1681# define YY_REDUCE_PRINT(Rule) \
1684 yy_reduce_print (yyssp, yyvsp, Rule, parser); \
1691# define YYDPRINTF(Args) ((void) 0)
1692# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1693# define YY_STACK_PRINT(Bottom, Top)
1694# define YY_REDUCE_PRINT(Rule)
1700# define YYINITDEPTH 200
1711# define YYMAXDEPTH 10000
1766#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1768#line 1769 "libinterp/parse-tree/oct-parse.cc"
1772#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1774#line 1775 "libinterp/parse-tree/oct-parse.cc"
1778#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1780#line 1781 "libinterp/parse-tree/oct-parse.cc"
1784#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1786#line 1787 "libinterp/parse-tree/oct-parse.cc"
1790#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1792#line 1793 "libinterp/parse-tree/oct-parse.cc"
1796#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1798#line 1799 "libinterp/parse-tree/oct-parse.cc"
1802#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1804#line 1805 "libinterp/parse-tree/oct-parse.cc"
1808#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1810#line 1811 "libinterp/parse-tree/oct-parse.cc"
1814#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1816#line 1817 "libinterp/parse-tree/oct-parse.cc"
1820#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1822#line 1823 "libinterp/parse-tree/oct-parse.cc"
1826#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1828#line 1829 "libinterp/parse-tree/oct-parse.cc"
1832#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1834#line 1835 "libinterp/parse-tree/oct-parse.cc"
1838#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1840#line 1841 "libinterp/parse-tree/oct-parse.cc"
1844#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1846#line 1847 "libinterp/parse-tree/oct-parse.cc"
1850#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1852#line 1853 "libinterp/parse-tree/oct-parse.cc"
1856#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1858#line 1859 "libinterp/parse-tree/oct-parse.cc"
1862#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1864#line 1865 "libinterp/parse-tree/oct-parse.cc"
1868#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1870#line 1871 "libinterp/parse-tree/oct-parse.cc"
1874#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1876#line 1877 "libinterp/parse-tree/oct-parse.cc"
1880#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1882#line 1883 "libinterp/parse-tree/oct-parse.cc"
1886#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1888#line 1889 "libinterp/parse-tree/oct-parse.cc"
1892#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1894#line 1895 "libinterp/parse-tree/oct-parse.cc"
1898#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1900#line 1901 "libinterp/parse-tree/oct-parse.cc"
1904#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1906#line 1907 "libinterp/parse-tree/oct-parse.cc"
1910#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1912#line 1913 "libinterp/parse-tree/oct-parse.cc"
1916#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1918#line 1919 "libinterp/parse-tree/oct-parse.cc"
1922#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1924#line 1925 "libinterp/parse-tree/oct-parse.cc"
1928#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1930#line 1931 "libinterp/parse-tree/oct-parse.cc"
1934#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1936#line 1937 "libinterp/parse-tree/oct-parse.cc"
1940#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1942#line 1943 "libinterp/parse-tree/oct-parse.cc"
1946#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1948#line 1949 "libinterp/parse-tree/oct-parse.cc"
1952#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1954#line 1955 "libinterp/parse-tree/oct-parse.cc"
1958#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1960#line 1961 "libinterp/parse-tree/oct-parse.cc"
1964#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1966#line 1967 "libinterp/parse-tree/oct-parse.cc"
1970#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1972#line 1973 "libinterp/parse-tree/oct-parse.cc"
1976#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1978#line 1979 "libinterp/parse-tree/oct-parse.cc"
1982#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1984#line 1985 "libinterp/parse-tree/oct-parse.cc"
1988#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1990#line 1991 "libinterp/parse-tree/oct-parse.cc"
1994#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
1996#line 1997 "libinterp/parse-tree/oct-parse.cc"
2000#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2002#line 2003 "libinterp/parse-tree/oct-parse.cc"
2006#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2008#line 2009 "libinterp/parse-tree/oct-parse.cc"
2012#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2014#line 2015 "libinterp/parse-tree/oct-parse.cc"
2018#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2020#line 2021 "libinterp/parse-tree/oct-parse.cc"
2024#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2026#line 2027 "libinterp/parse-tree/oct-parse.cc"
2030#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2032#line 2033 "libinterp/parse-tree/oct-parse.cc"
2036#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2038#line 2039 "libinterp/parse-tree/oct-parse.cc"
2042#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2044#line 2045 "libinterp/parse-tree/oct-parse.cc"
2048#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2050#line 2051 "libinterp/parse-tree/oct-parse.cc"
2054#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2056#line 2057 "libinterp/parse-tree/oct-parse.cc"
2060#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2062#line 2063 "libinterp/parse-tree/oct-parse.cc"
2066#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2068#line 2069 "libinterp/parse-tree/oct-parse.cc"
2072#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2074#line 2075 "libinterp/parse-tree/oct-parse.cc"
2078#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2080#line 2081 "libinterp/parse-tree/oct-parse.cc"
2084#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2086#line 2087 "libinterp/parse-tree/oct-parse.cc"
2090#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2092#line 2093 "libinterp/parse-tree/oct-parse.cc"
2096#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2098#line 2099 "libinterp/parse-tree/oct-parse.cc"
2102#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2104#line 2105 "libinterp/parse-tree/oct-parse.cc"
2108#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2110#line 2111 "libinterp/parse-tree/oct-parse.cc"
2114#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2116#line 2117 "libinterp/parse-tree/oct-parse.cc"
2120#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2122#line 2123 "libinterp/parse-tree/oct-parse.cc"
2126#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2128#line 2129 "libinterp/parse-tree/oct-parse.cc"
2132#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2134#line 2135 "libinterp/parse-tree/oct-parse.cc"
2138#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2140#line 2141 "libinterp/parse-tree/oct-parse.cc"
2144#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2146#line 2147 "libinterp/parse-tree/oct-parse.cc"
2150#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2152#line 2153 "libinterp/parse-tree/oct-parse.cc"
2156#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2158#line 2159 "libinterp/parse-tree/oct-parse.cc"
2162#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2164#line 2165 "libinterp/parse-tree/oct-parse.cc"
2168#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2170#line 2171 "libinterp/parse-tree/oct-parse.cc"
2174#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2176#line 2177 "libinterp/parse-tree/oct-parse.cc"
2180#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2182#line 2183 "libinterp/parse-tree/oct-parse.cc"
2186#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2188#line 2189 "libinterp/parse-tree/oct-parse.cc"
2192#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2194#line 2195 "libinterp/parse-tree/oct-parse.cc"
2198#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2200#line 2201 "libinterp/parse-tree/oct-parse.cc"
2204#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2206#line 2207 "libinterp/parse-tree/oct-parse.cc"
2210#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2212#line 2213 "libinterp/parse-tree/oct-parse.cc"
2216#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2218#line 2219 "libinterp/parse-tree/oct-parse.cc"
2222#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2224#line 2225 "libinterp/parse-tree/oct-parse.cc"
2228#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2230#line 2231 "libinterp/parse-tree/oct-parse.cc"
2234#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2236#line 2237 "libinterp/parse-tree/oct-parse.cc"
2240#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2242#line 2243 "libinterp/parse-tree/oct-parse.cc"
2246#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2248#line 2249 "libinterp/parse-tree/oct-parse.cc"
2252#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2254#line 2255 "libinterp/parse-tree/oct-parse.cc"
2258#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2260#line 2261 "libinterp/parse-tree/oct-parse.cc"
2264#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2266#line 2267 "libinterp/parse-tree/oct-parse.cc"
2270#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2272#line 2273 "libinterp/parse-tree/oct-parse.cc"
2276#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2278#line 2279 "libinterp/parse-tree/oct-parse.cc"
2282#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2284#line 2285 "libinterp/parse-tree/oct-parse.cc"
2288#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2290#line 2291 "libinterp/parse-tree/oct-parse.cc"
2294#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2296#line 2297 "libinterp/parse-tree/oct-parse.cc"
2300#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2302#line 2303 "libinterp/parse-tree/oct-parse.cc"
2306#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2308#line 2309 "libinterp/parse-tree/oct-parse.cc"
2312#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2314#line 2315 "libinterp/parse-tree/oct-parse.cc"
2318#line 343 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2320#line 2321 "libinterp/parse-tree/oct-parse.cc"
2324#line 345 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2325 {
delete ((*yyvaluep).tree_type); }
2326#line 2327 "libinterp/parse-tree/oct-parse.cc"
2330#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2331 {
delete ((*yyvaluep).tree_statement_list_type); }
2332#line 2333 "libinterp/parse-tree/oct-parse.cc"
2336#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2337 {
delete ((*yyvaluep).tree_statement_list_type); }
2338#line 2339 "libinterp/parse-tree/oct-parse.cc"
2342#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2343 {
delete ((*yyvaluep).tree_statement_list_type); }
2344#line 2345 "libinterp/parse-tree/oct-parse.cc"
2348#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2349 {
delete ((*yyvaluep).tree_statement_list_type); }
2350#line 2351 "libinterp/parse-tree/oct-parse.cc"
2354#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2355 {
delete ((*yyvaluep).tree_statement_list_type); }
2356#line 2357 "libinterp/parse-tree/oct-parse.cc"
2360#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2361 {
delete ((*yyvaluep).tree_statement_list_type); }
2362#line 2363 "libinterp/parse-tree/oct-parse.cc"
2366#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2367 {
delete ((*yyvaluep).tree_statement_list_type); }
2368#line 2369 "libinterp/parse-tree/oct-parse.cc"
2372#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2373 {
delete ((*yyvaluep).tree_statement_list_type); }
2374#line 2375 "libinterp/parse-tree/oct-parse.cc"
2378#line 369 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2379 {
delete ((*yyvaluep).tree_statement_type); }
2380#line 2381 "libinterp/parse-tree/oct-parse.cc"
2384#line 356 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2385 {
delete ((*yyvaluep).tree_index_expression_type); }
2386#line 2387 "libinterp/parse-tree/oct-parse.cc"
2390#line 357 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2391 {
delete ((*yyvaluep).tree_argument_list_type); }
2392#line 2393 "libinterp/parse-tree/oct-parse.cc"
2396#line 355 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2397 {
delete ((*yyvaluep).tree_identifier_type); }
2398#line 2399 "libinterp/parse-tree/oct-parse.cc"
2402#line 351 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2403 {
delete ((*yyvaluep).tree_superclass_ref_type); }
2404#line 2405 "libinterp/parse-tree/oct-parse.cc"
2408#line 352 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2409 {
delete ((*yyvaluep).tree_metaclass_query_type); }
2410#line 2411 "libinterp/parse-tree/oct-parse.cc"
2414#line 349 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2415 {
delete ((*yyvaluep).tree_constant_type); }
2416#line 2417 "libinterp/parse-tree/oct-parse.cc"
2420#line 349 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2421 {
delete ((*yyvaluep).tree_constant_type); }
2422#line 2423 "libinterp/parse-tree/oct-parse.cc"
2426#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2427 {
delete ((*yyvaluep).tree_expression_type); }
2428#line 2429 "libinterp/parse-tree/oct-parse.cc"
2432#line 346 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2433 {
delete ((*yyvaluep).tree_matrix_type); }
2434#line 2435 "libinterp/parse-tree/oct-parse.cc"
2438#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2439 {
delete ((*yyvaluep).tree_expression_type); }
2440#line 2441 "libinterp/parse-tree/oct-parse.cc"
2444#line 347 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2445 {
delete ((*yyvaluep).tree_cell_type); }
2446#line 2447 "libinterp/parse-tree/oct-parse.cc"
2450#line 357 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2451 {
delete ((*yyvaluep).tree_argument_list_type); }
2452#line 2453 "libinterp/parse-tree/oct-parse.cc"
2456#line 350 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2457 {
delete ((*yyvaluep).tree_fcn_handle_type); }
2458#line 2459 "libinterp/parse-tree/oct-parse.cc"
2462#line 354 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2463 {
delete ((*yyvaluep).tree_anon_fcn_handle_type); }
2464#line 2465 "libinterp/parse-tree/oct-parse.cc"
2468#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2469 {
delete ((*yyvaluep).tree_expression_type); }
2470#line 2471 "libinterp/parse-tree/oct-parse.cc"
2474#line 349 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2475 {
delete ((*yyvaluep).tree_constant_type); }
2476#line 2477 "libinterp/parse-tree/oct-parse.cc"
2480#line 355 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2481 {
delete ((*yyvaluep).tree_identifier_type); }
2482#line 2483 "libinterp/parse-tree/oct-parse.cc"
2486#line 357 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2487 {
delete ((*yyvaluep).tree_argument_list_type); }
2488#line 2489 "libinterp/parse-tree/oct-parse.cc"
2492#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2493 {
delete ((*yyvaluep).tree_expression_type); }
2494#line 2495 "libinterp/parse-tree/oct-parse.cc"
2498#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2499 {
delete ((*yyvaluep).tree_expression_type); }
2500#line 2501 "libinterp/parse-tree/oct-parse.cc"
2504#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2505 {
delete ((*yyvaluep).tree_expression_type); }
2506#line 2507 "libinterp/parse-tree/oct-parse.cc"
2510#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2511 {
delete ((*yyvaluep).tree_expression_type); }
2512#line 2513 "libinterp/parse-tree/oct-parse.cc"
2516#line 357 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2517 {
delete ((*yyvaluep).tree_argument_list_type); }
2518#line 2519 "libinterp/parse-tree/oct-parse.cc"
2522#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2523 {
delete ((*yyvaluep).tree_expression_type); }
2524#line 2525 "libinterp/parse-tree/oct-parse.cc"
2528#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2529 {
delete ((*yyvaluep).tree_expression_type); }
2530#line 2531 "libinterp/parse-tree/oct-parse.cc"
2534#line 359 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2535 {
delete ((*yyvaluep).tree_command_type); }
2536#line 2537 "libinterp/parse-tree/oct-parse.cc"
2540#line 368 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2541 {
delete ((*yyvaluep).tree_decl_command_type); }
2542#line 2543 "libinterp/parse-tree/oct-parse.cc"
2546#line 367 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2547 {
delete ((*yyvaluep).tree_decl_init_list_type); }
2548#line 2549 "libinterp/parse-tree/oct-parse.cc"
2552#line 366 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2553 {
delete ((*yyvaluep).tree_decl_elt_type); }
2554#line 2555 "libinterp/parse-tree/oct-parse.cc"
2558#line 359 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2559 {
delete ((*yyvaluep).tree_command_type); }
2560#line 2561 "libinterp/parse-tree/oct-parse.cc"
2564#line 360 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2565 {
delete ((*yyvaluep).tree_if_command_type); }
2566#line 2567 "libinterp/parse-tree/oct-parse.cc"
2570#line 362 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2571 {
delete ((*yyvaluep).tree_if_command_list_type); }
2572#line 2573 "libinterp/parse-tree/oct-parse.cc"
2576#line 362 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2577 {
delete ((*yyvaluep).tree_if_command_list_type); }
2578#line 2579 "libinterp/parse-tree/oct-parse.cc"
2582#line 361 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2583 {
delete ((*yyvaluep).tree_if_clause_type); }
2584#line 2585 "libinterp/parse-tree/oct-parse.cc"
2588#line 361 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2589 {
delete ((*yyvaluep).tree_if_clause_type); }
2590#line 2591 "libinterp/parse-tree/oct-parse.cc"
2594#line 363 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2595 {
delete ((*yyvaluep).tree_switch_command_type); }
2596#line 2597 "libinterp/parse-tree/oct-parse.cc"
2600#line 365 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2601 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2602#line 2603 "libinterp/parse-tree/oct-parse.cc"
2606#line 365 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2607 {
delete ((*yyvaluep).tree_switch_case_list_type); }
2608#line 2609 "libinterp/parse-tree/oct-parse.cc"
2612#line 364 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2613 {
delete ((*yyvaluep).tree_switch_case_type); }
2614#line 2615 "libinterp/parse-tree/oct-parse.cc"
2618#line 364 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2619 {
delete ((*yyvaluep).tree_switch_case_type); }
2620#line 2621 "libinterp/parse-tree/oct-parse.cc"
2624#line 359 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2625 {
delete ((*yyvaluep).tree_command_type); }
2626#line 2627 "libinterp/parse-tree/oct-parse.cc"
2630#line 359 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2631 {
delete ((*yyvaluep).tree_command_type); }
2632#line 2633 "libinterp/parse-tree/oct-parse.cc"
2636#line 359 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2637 {
delete ((*yyvaluep).tree_command_type); }
2638#line 2639 "libinterp/parse-tree/oct-parse.cc"
2642#line 359 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2643 {
delete ((*yyvaluep).tree_command_type); }
2644#line 2645 "libinterp/parse-tree/oct-parse.cc"
2648#line 358 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2649 {
delete ((*yyvaluep).tree_parameter_list_type); }
2650#line 2651 "libinterp/parse-tree/oct-parse.cc"
2654#line 358 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2655 {
delete ((*yyvaluep).tree_parameter_list_type); }
2656#line 2657 "libinterp/parse-tree/oct-parse.cc"
2660#line 358 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2661 {
delete ((*yyvaluep).tree_parameter_list_type); }
2662#line 2663 "libinterp/parse-tree/oct-parse.cc"
2666#line 358 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2667 {
delete ((*yyvaluep).tree_parameter_list_type); }
2668#line 2669 "libinterp/parse-tree/oct-parse.cc"
2672#line 366 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2673 {
delete ((*yyvaluep).tree_decl_elt_type); }
2674#line 2675 "libinterp/parse-tree/oct-parse.cc"
2678#line 358 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2679 {
delete ((*yyvaluep).tree_parameter_list_type); }
2680#line 2681 "libinterp/parse-tree/oct-parse.cc"
2684#line 358 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2685 {
delete ((*yyvaluep).tree_parameter_list_type); }
2686#line 2687 "libinterp/parse-tree/oct-parse.cc"
2690#line 359 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2691 {
delete ((*yyvaluep).tree_command_type); }
2692#line 2693 "libinterp/parse-tree/oct-parse.cc"
2696#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2698#line 2699 "libinterp/parse-tree/oct-parse.cc"
2702#line 355 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2703 {
delete ((*yyvaluep).tree_identifier_type); }
2704#line 2705 "libinterp/parse-tree/oct-parse.cc"
2708#line 369 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2709 {
delete ((*yyvaluep).tree_statement_type); }
2710#line 2711 "libinterp/parse-tree/oct-parse.cc"
2714#line 353 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2715 {
delete ((*yyvaluep).tree_function_def_type); }
2716#line 2717 "libinterp/parse-tree/oct-parse.cc"
2720#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2721 {
delete ((*yyvaluep).tree_statement_list_type); }
2722#line 2723 "libinterp/parse-tree/oct-parse.cc"
2726#line 370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2727 {
delete ((*yyvaluep).tree_statement_list_type); }
2728#line 2729 "libinterp/parse-tree/oct-parse.cc"
2732#line 371 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2733 {
delete ((*yyvaluep).tree_arguments_block_type); }
2734#line 2735 "libinterp/parse-tree/oct-parse.cc"
2738#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2740#line 2741 "libinterp/parse-tree/oct-parse.cc"
2744#line 372 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2745 {
delete ((*yyvaluep).tree_args_block_attribute_list_type); }
2746#line 2747 "libinterp/parse-tree/oct-parse.cc"
2750#line 373 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2751 {
delete ((*yyvaluep).tree_args_block_validation_list_type); }
2752#line 2753 "libinterp/parse-tree/oct-parse.cc"
2756#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2757 {
delete ((*yyvaluep).tree_expression_type); }
2758#line 2759 "libinterp/parse-tree/oct-parse.cc"
2762#line 374 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2763 {
delete ((*yyvaluep).tree_arg_validation_type); }
2764#line 2765 "libinterp/parse-tree/oct-parse.cc"
2768#line 375 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2769 {
delete ((*yyvaluep).tree_arg_size_spec_type); }
2770#line 2771 "libinterp/parse-tree/oct-parse.cc"
2774#line 355 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2775 {
delete ((*yyvaluep).tree_identifier_type); }
2776#line 2777 "libinterp/parse-tree/oct-parse.cc"
2780#line 376 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2781 {
delete ((*yyvaluep).tree_arg_validation_fcns_type); }
2782#line 2783 "libinterp/parse-tree/oct-parse.cc"
2786#line 348 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2787 {
delete ((*yyvaluep).tree_expression_type); }
2788#line 2789 "libinterp/parse-tree/oct-parse.cc"
2792#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2794#line 2795 "libinterp/parse-tree/oct-parse.cc"
2798#line 379 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2799 {
delete ((*yyvaluep).tree_classdef_type); }
2800#line 2801 "libinterp/parse-tree/oct-parse.cc"
2804#line 381 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2805 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2806#line 2807 "libinterp/parse-tree/oct-parse.cc"
2810#line 381 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2811 {
delete ((*yyvaluep).tree_classdef_attribute_list_type); }
2812#line 2813 "libinterp/parse-tree/oct-parse.cc"
2816#line 380 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2817 {
delete ((*yyvaluep).tree_classdef_attribute_type); }
2818#line 2819 "libinterp/parse-tree/oct-parse.cc"
2822#line 383 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2823 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
2824#line 2825 "libinterp/parse-tree/oct-parse.cc"
2828#line 383 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2829 {
delete ((*yyvaluep).tree_classdef_superclass_list_type); }
2830#line 2831 "libinterp/parse-tree/oct-parse.cc"
2834#line 382 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2835 {
delete ((*yyvaluep).tree_classdef_superclass_type); }
2836#line 2837 "libinterp/parse-tree/oct-parse.cc"
2840#line 384 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2841 {
delete ((*yyvaluep).tree_classdef_body_type); }
2842#line 2843 "libinterp/parse-tree/oct-parse.cc"
2846#line 384 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2847 {
delete ((*yyvaluep).tree_classdef_body_type); }
2848#line 2849 "libinterp/parse-tree/oct-parse.cc"
2852#line 387 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2853 {
delete ((*yyvaluep).tree_classdef_properties_block_type); }
2854#line 2855 "libinterp/parse-tree/oct-parse.cc"
2858#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2860#line 2861 "libinterp/parse-tree/oct-parse.cc"
2864#line 386 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2865 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
2866#line 2867 "libinterp/parse-tree/oct-parse.cc"
2870#line 386 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2871 {
delete ((*yyvaluep).tree_classdef_property_list_type); }
2872#line 2873 "libinterp/parse-tree/oct-parse.cc"
2876#line 385 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2877 {
delete ((*yyvaluep).tree_classdef_property_type); }
2878#line 2879 "libinterp/parse-tree/oct-parse.cc"
2882#line 389 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2883 {
delete ((*yyvaluep).tree_classdef_methods_block_type); }
2884#line 2885 "libinterp/parse-tree/oct-parse.cc"
2888#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2890#line 2891 "libinterp/parse-tree/oct-parse.cc"
2894#line 377 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2895 {
delete ((*yyvaluep).octave_user_function_type); }
2896#line 2897 "libinterp/parse-tree/oct-parse.cc"
2900#line 353 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2901 {
delete ((*yyvaluep).tree_function_def_type); }
2902#line 2903 "libinterp/parse-tree/oct-parse.cc"
2906#line 353 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2907 {
delete ((*yyvaluep).tree_function_def_type); }
2908#line 2909 "libinterp/parse-tree/oct-parse.cc"
2912#line 388 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2913 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
2914#line 2915 "libinterp/parse-tree/oct-parse.cc"
2918#line 388 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2919 {
delete ((*yyvaluep).tree_classdef_methods_list_type); }
2920#line 2921 "libinterp/parse-tree/oct-parse.cc"
2924#line 392 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2925 {
delete ((*yyvaluep).tree_classdef_events_block_type); }
2926#line 2927 "libinterp/parse-tree/oct-parse.cc"
2930#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2932#line 2933 "libinterp/parse-tree/oct-parse.cc"
2936#line 391 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2937 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
2938#line 2939 "libinterp/parse-tree/oct-parse.cc"
2942#line 391 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2943 {
delete ((*yyvaluep).tree_classdef_events_list_type); }
2944#line 2945 "libinterp/parse-tree/oct-parse.cc"
2948#line 390 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2949 {
delete ((*yyvaluep).tree_classdef_event_type); }
2950#line 2951 "libinterp/parse-tree/oct-parse.cc"
2954#line 395 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2955 {
delete ((*yyvaluep).tree_classdef_enum_block_type); }
2956#line 2957 "libinterp/parse-tree/oct-parse.cc"
2960#line 340 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2962#line 2963 "libinterp/parse-tree/oct-parse.cc"
2966#line 394 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2967 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
2968#line 2969 "libinterp/parse-tree/oct-parse.cc"
2972#line 394 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2973 {
delete ((*yyvaluep).tree_classdef_enum_list_type); }
2974#line 2975 "libinterp/parse-tree/oct-parse.cc"
2978#line 393 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2979 {
delete ((*yyvaluep).tree_classdef_enum_type); }
2980#line 2981 "libinterp/parse-tree/oct-parse.cc"
2984#line 342 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2986#line 2987 "libinterp/parse-tree/oct-parse.cc"
2990#line 341 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2992#line 2993 "libinterp/parse-tree/oct-parse.cc"
2996#line 341 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
2998#line 2999 "libinterp/parse-tree/oct-parse.cc"
3002#line 341 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3004#line 3005 "libinterp/parse-tree/oct-parse.cc"
3008#line 341 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3010#line 3011 "libinterp/parse-tree/oct-parse.cc"
3014#line 341 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3016#line 3017 "libinterp/parse-tree/oct-parse.cc"
3020#line 341 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3022#line 3023 "libinterp/parse-tree/oct-parse.cc"
3062#define octave_nerrs yyps->octave_nerrs
3063#define yystate yyps->yystate
3064#define yyerrstatus yyps->yyerrstatus
3065#define yyssa yyps->yyssa
3066#define yyss yyps->yyss
3067#define yyssp yyps->yyssp
3068#define yyvsa yyps->yyvsa
3069#define yyvs yyps->yyvs
3070#define yyvsp yyps->yyvsp
3071#define yystacksize yyps->yystacksize
3151#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3157 switch (yyps->yynew)
3161 goto yyread_pushed_token;
3171 YYDPRINTF ((stderr,
"Starting parse\n"));
3199#if !defined yyoverflow && !defined YYSTACK_RELOCATE
3206# if defined yyoverflow
3218 yyoverflow (
YY_(
"memory exhausted"),
3242# undef YYSTACK_RELOCATE
3252 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
3287 YYDPRINTF ((stderr,
"Return for a new token:\n"));
3293 YYDPRINTF ((stderr,
"Reading a token\n"));
3294 yychar = yypushed_char;
3303 YYDPRINTF ((stderr,
"Now at end of input.\n"));
3377 yyval =
yyvsp[1-yylen];
3384#line 416 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3388 (yyval.tree_type) =
nullptr;
3395#line 3396 "libinterp/parse-tree/oct-parse.cc"
3399#line 427 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3403 (yyval.tree_type) =
nullptr;
3410#line 3411 "libinterp/parse-tree/oct-parse.cc"
3414#line 438 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3416 (yyval.tree_type) =
nullptr;
3419#line 3420 "libinterp/parse-tree/oct-parse.cc"
3423#line 445 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3427 (yyval.tree_statement_list_type) =
nullptr;
3429#line 3430 "libinterp/parse-tree/oct-parse.cc"
3433#line 451 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3435#line 3436 "libinterp/parse-tree/oct-parse.cc"
3439#line 455 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3441#line 3442 "libinterp/parse-tree/oct-parse.cc"
3445#line 457 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3447#line 3448 "libinterp/parse-tree/oct-parse.cc"
3451#line 461 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3452 { (yyval.tree_statement_list_type) =
nullptr; }
3453#line 3454 "libinterp/parse-tree/oct-parse.cc"
3457#line 463 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3458 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3459#line 3460 "libinterp/parse-tree/oct-parse.cc"
3463#line 467 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3465#line 3466 "libinterp/parse-tree/oct-parse.cc"
3469#line 471 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3471#line 3472 "libinterp/parse-tree/oct-parse.cc"
3475#line 473 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3477#line 3478 "libinterp/parse-tree/oct-parse.cc"
3481#line 477 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3482 { (yyval.tree_statement_list_type) =
nullptr; }
3483#line 3484 "libinterp/parse-tree/oct-parse.cc"
3487#line 479 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3488 { (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type); }
3489#line 3490 "libinterp/parse-tree/oct-parse.cc"
3493#line 483 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3497 (yyval.tree_statement_list_type) = (
yyvsp[-1].tree_statement_list_type);
3499#line 3500 "libinterp/parse-tree/oct-parse.cc"
3503#line 491 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3508#line 3509 "libinterp/parse-tree/oct-parse.cc"
3512#line 496 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3517#line 3518 "libinterp/parse-tree/oct-parse.cc"
3521#line 503 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3522 { (yyval.tree_statement_type) = parser.
make_statement ((
yyvsp[0].tree_expression_type)); }
3523#line 3524 "libinterp/parse-tree/oct-parse.cc"
3527#line 505 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3529#line 3530 "libinterp/parse-tree/oct-parse.cc"
3533#line 507 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3534 { (yyval.tree_statement_type) = parser.
make_statement ((
yyvsp[0].tree_index_expression_type)); }
3535#line 3536 "libinterp/parse-tree/oct-parse.cc"
3539#line 519 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3542 if (! (yyval.tree_index_expression_type))
3547 (yyval.tree_index_expression_type)->mark_word_list_cmd ();
3549#line 3550 "libinterp/parse-tree/oct-parse.cc"
3553#line 531 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3555#line 3556 "libinterp/parse-tree/oct-parse.cc"
3559#line 533 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3561#line 3562 "libinterp/parse-tree/oct-parse.cc"
3565#line 541 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3567#line 3568 "libinterp/parse-tree/oct-parse.cc"
3571#line 546 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3573#line 3574 "libinterp/parse-tree/oct-parse.cc"
3577#line 550 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3579#line 3580 "libinterp/parse-tree/oct-parse.cc"
3583#line 554 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3585#line 3586 "libinterp/parse-tree/oct-parse.cc"
3589#line 556 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3591#line 3592 "libinterp/parse-tree/oct-parse.cc"
3595#line 560 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3597#line 3598 "libinterp/parse-tree/oct-parse.cc"
3601#line 562 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3602 { (yyval.tree_constant_type) = (
yyvsp[0].tree_constant_type); }
3603#line 3604 "libinterp/parse-tree/oct-parse.cc"
3607#line 566 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3609#line 3610 "libinterp/parse-tree/oct-parse.cc"
3613#line 570 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3614 { (yyval.tree_matrix_type) = parser.
make_matrix ((
yyvsp[0].tree_argument_list_type)); }
3615#line 3616 "libinterp/parse-tree/oct-parse.cc"
3619#line 572 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3625#line 3626 "libinterp/parse-tree/oct-parse.cc"
3629#line 580 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3631#line 3632 "libinterp/parse-tree/oct-parse.cc"
3635#line 584 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3636 { (yyval.tree_cell_type) = parser.
make_cell ((
yyvsp[0].tree_argument_list_type)); }
3637#line 3638 "libinterp/parse-tree/oct-parse.cc"
3641#line 586 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3647#line 3648 "libinterp/parse-tree/oct-parse.cc"
3651#line 602 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3652 { (yyval.tree_argument_list_type) =
nullptr; }
3653#line 3654 "libinterp/parse-tree/oct-parse.cc"
3657#line 604 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3661 (yyval.tree_argument_list_type) =
nullptr;
3663#line 3664 "libinterp/parse-tree/oct-parse.cc"
3667#line 610 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3668 { (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type); }
3669#line 3670 "libinterp/parse-tree/oct-parse.cc"
3673#line 612 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3677 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3679#line 3680 "libinterp/parse-tree/oct-parse.cc"
3683#line 618 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3687 (yyval.tree_argument_list_type) = (
yyvsp[0].tree_argument_list_type);
3689#line 3690 "libinterp/parse-tree/oct-parse.cc"
3693#line 624 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3697 (yyval.tree_argument_list_type) = (
yyvsp[-1].tree_argument_list_type);
3699#line 3700 "libinterp/parse-tree/oct-parse.cc"
3703#line 632 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3705#line 3706 "libinterp/parse-tree/oct-parse.cc"
3709#line 640 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3712 if (! (yyval.tree_anon_fcn_handle_type))
3718 lexer.m_parsing_anon_fcn_body =
false;
3719 lexer.m_nesting_level.remove ();
3721#line 3722 "libinterp/parse-tree/oct-parse.cc"
3725#line 652 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3729 lexer.m_parsing_anon_fcn_body =
false;
3731 (yyval.tree_anon_fcn_handle_type) =
nullptr;
3732 parser.
bison_error (
"anonymous function bodies must be single expressions");
3735#line 3736 "libinterp/parse-tree/oct-parse.cc"
3739#line 664 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3740 { (yyval.tree_expression_type) = (
yyvsp[0].tree_identifier_type); }
3741#line 3742 "libinterp/parse-tree/oct-parse.cc"
3745#line 666 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3746 { (yyval.tree_expression_type) = (
yyvsp[0].tree_constant_type); }
3747#line 3748 "libinterp/parse-tree/oct-parse.cc"
3751#line 668 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3752 { (yyval.tree_expression_type) = (
yyvsp[0].tree_fcn_handle_type); }
3753#line 3754 "libinterp/parse-tree/oct-parse.cc"
3757#line 670 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3759 lexer.m_looking_at_matrix_or_assign_lhs =
false;
3760 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
3762#line 3763 "libinterp/parse-tree/oct-parse.cc"
3766#line 675 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3767 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
3768#line 3769 "libinterp/parse-tree/oct-parse.cc"
3772#line 677 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3773 { (yyval.tree_expression_type) = (
yyvsp[0].tree_metaclass_query_type); }
3774#line 3775 "libinterp/parse-tree/oct-parse.cc"
3778#line 679 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3779 { (yyval.tree_expression_type) = (
yyvsp[0].tree_superclass_ref_type); }
3780#line 3781 "libinterp/parse-tree/oct-parse.cc"
3784#line 681 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3788 (yyval.tree_expression_type) = (
yyvsp[-1].tree_expression_type)->mark_in_parens ();
3790#line 3791 "libinterp/parse-tree/oct-parse.cc"
3794#line 689 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3796#line 3797 "libinterp/parse-tree/oct-parse.cc"
3800#line 693 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3806#line 3807 "libinterp/parse-tree/oct-parse.cc"
3810#line 701 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3812#line 3813 "libinterp/parse-tree/oct-parse.cc"
3816#line 703 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3818#line 3819 "libinterp/parse-tree/oct-parse.cc"
3822#line 705 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3824#line 3825 "libinterp/parse-tree/oct-parse.cc"
3828#line 707 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3834#line 3835 "libinterp/parse-tree/oct-parse.cc"
3838#line 713 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3844#line 3845 "libinterp/parse-tree/oct-parse.cc"
3848#line 719 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3854#line 3855 "libinterp/parse-tree/oct-parse.cc"
3858#line 727 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3862 (yyval.dummy_type) = 0;
3863 lexer.m_looking_at_indirect_ref =
true;
3865#line 3866 "libinterp/parse-tree/oct-parse.cc"
3869#line 736 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3870 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
3871#line 3872 "libinterp/parse-tree/oct-parse.cc"
3875#line 738 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3877#line 3878 "libinterp/parse-tree/oct-parse.cc"
3881#line 740 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3883#line 3884 "libinterp/parse-tree/oct-parse.cc"
3887#line 742 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3892 if (! (yyval.tree_expression_type))
3898#line 3899 "libinterp/parse-tree/oct-parse.cc"
3902#line 753 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3907 if (! (yyval.tree_expression_type))
3913#line 3914 "libinterp/parse-tree/oct-parse.cc"
3917#line 764 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3922 if (! (yyval.tree_expression_type))
3928#line 3929 "libinterp/parse-tree/oct-parse.cc"
3932#line 775 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3937 if (! (yyval.tree_expression_type))
3943#line 3944 "libinterp/parse-tree/oct-parse.cc"
3947#line 786 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3949#line 3950 "libinterp/parse-tree/oct-parse.cc"
3953#line 788 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3955#line 3956 "libinterp/parse-tree/oct-parse.cc"
3959#line 790 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3961#line 3962 "libinterp/parse-tree/oct-parse.cc"
3965#line 792 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3971#line 3972 "libinterp/parse-tree/oct-parse.cc"
3975#line 798 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3977#line 3978 "libinterp/parse-tree/oct-parse.cc"
3981#line 800 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3983#line 3984 "libinterp/parse-tree/oct-parse.cc"
3987#line 802 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3989#line 3990 "libinterp/parse-tree/oct-parse.cc"
3993#line 804 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
3994 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'+', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
3995#line 3996 "libinterp/parse-tree/oct-parse.cc"
3999#line 806 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4000 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'-', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
4001#line 4002 "libinterp/parse-tree/oct-parse.cc"
4005#line 808 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4007#line 4008 "libinterp/parse-tree/oct-parse.cc"
4011#line 810 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4013#line 4014 "libinterp/parse-tree/oct-parse.cc"
4017#line 812 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4018 { (yyval.tree_expression_type) = parser.
make_binary_op (
'+', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4019#line 4020 "libinterp/parse-tree/oct-parse.cc"
4023#line 814 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4024 { (yyval.tree_expression_type) = parser.
make_binary_op (
'-', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4025#line 4026 "libinterp/parse-tree/oct-parse.cc"
4029#line 816 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4030 { (yyval.tree_expression_type) = parser.
make_binary_op (
'*', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4031#line 4032 "libinterp/parse-tree/oct-parse.cc"
4035#line 818 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4036 { (yyval.tree_expression_type) = parser.
make_binary_op (
'/', (
yyvsp[-2].tree_expression_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4037#line 4038 "libinterp/parse-tree/oct-parse.cc"
4041#line 820 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4043#line 4044 "libinterp/parse-tree/oct-parse.cc"
4047#line 822 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4049#line 4050 "libinterp/parse-tree/oct-parse.cc"
4053#line 824 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4055#line 4056 "libinterp/parse-tree/oct-parse.cc"
4059#line 826 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4061#line 4062 "libinterp/parse-tree/oct-parse.cc"
4065#line 830 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4066 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4067#line 4068 "libinterp/parse-tree/oct-parse.cc"
4071#line 832 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4073#line 4074 "libinterp/parse-tree/oct-parse.cc"
4077#line 834 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4079#line 4080 "libinterp/parse-tree/oct-parse.cc"
4083#line 836 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4088 if (! (yyval.tree_expression_type))
4094#line 4095 "libinterp/parse-tree/oct-parse.cc"
4098#line 847 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4103 if (! (yyval.tree_expression_type))
4109#line 4110 "libinterp/parse-tree/oct-parse.cc"
4113#line 858 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4118 if (! (yyval.tree_expression_type))
4124#line 4125 "libinterp/parse-tree/oct-parse.cc"
4128#line 869 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4133 if (! (yyval.tree_expression_type))
4139#line 4140 "libinterp/parse-tree/oct-parse.cc"
4143#line 880 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4145#line 4146 "libinterp/parse-tree/oct-parse.cc"
4149#line 882 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4155#line 4156 "libinterp/parse-tree/oct-parse.cc"
4159#line 888 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4161#line 4162 "libinterp/parse-tree/oct-parse.cc"
4165#line 890 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4167#line 4168 "libinterp/parse-tree/oct-parse.cc"
4171#line 892 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4173#line 4174 "libinterp/parse-tree/oct-parse.cc"
4177#line 894 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4178 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'+', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
4179#line 4180 "libinterp/parse-tree/oct-parse.cc"
4183#line 896 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4184 { (yyval.tree_expression_type) = parser.
make_prefix_op (
'-', (
yyvsp[0].tree_expression_type), (
yyvsp[-1].tok_val)); }
4185#line 4186 "libinterp/parse-tree/oct-parse.cc"
4189#line 900 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4195 if (! (yyval.tree_expression_type))
4201#line 4202 "libinterp/parse-tree/oct-parse.cc"
4205#line 912 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4211 if (! (yyval.tree_expression_type))
4217#line 4218 "libinterp/parse-tree/oct-parse.cc"
4221#line 926 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4222 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4223#line 4224 "libinterp/parse-tree/oct-parse.cc"
4227#line 928 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4228 { (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type); }
4229#line 4230 "libinterp/parse-tree/oct-parse.cc"
4233#line 930 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4235#line 4236 "libinterp/parse-tree/oct-parse.cc"
4239#line 932 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4241#line 4242 "libinterp/parse-tree/oct-parse.cc"
4245#line 934 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4247#line 4248 "libinterp/parse-tree/oct-parse.cc"
4251#line 936 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4253#line 4254 "libinterp/parse-tree/oct-parse.cc"
4257#line 938 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4259#line 4260 "libinterp/parse-tree/oct-parse.cc"
4263#line 940 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4265#line 4266 "libinterp/parse-tree/oct-parse.cc"
4269#line 942 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4271#line 4272 "libinterp/parse-tree/oct-parse.cc"
4275#line 944 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4277#line 4278 "libinterp/parse-tree/oct-parse.cc"
4281#line 946 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4283#line 4284 "libinterp/parse-tree/oct-parse.cc"
4287#line 948 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4289#line 4290 "libinterp/parse-tree/oct-parse.cc"
4293#line 952 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4297 if ((yyval.tree_argument_list_type))
4298 {
lexer.m_looking_at_matrix_or_assign_lhs =
false; }
4305#line 4306 "libinterp/parse-tree/oct-parse.cc"
4309#line 966 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4310 { (yyval.tree_expression_type) = parser.
make_assign_op (
'=', (
yyvsp[-2].tree_argument_list_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4311#line 4312 "libinterp/parse-tree/oct-parse.cc"
4315#line 968 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4317#line 4318 "libinterp/parse-tree/oct-parse.cc"
4321#line 970 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4323#line 4324 "libinterp/parse-tree/oct-parse.cc"
4327#line 972 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4329#line 4330 "libinterp/parse-tree/oct-parse.cc"
4333#line 974 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4335#line 4336 "libinterp/parse-tree/oct-parse.cc"
4339#line 976 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4341#line 4342 "libinterp/parse-tree/oct-parse.cc"
4345#line 978 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4347#line 4348 "libinterp/parse-tree/oct-parse.cc"
4351#line 980 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4353#line 4354 "libinterp/parse-tree/oct-parse.cc"
4357#line 982 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4359#line 4360 "libinterp/parse-tree/oct-parse.cc"
4363#line 984 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4365#line 4366 "libinterp/parse-tree/oct-parse.cc"
4369#line 986 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4371#line 4372 "libinterp/parse-tree/oct-parse.cc"
4375#line 988 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4377#line 4378 "libinterp/parse-tree/oct-parse.cc"
4381#line 990 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4383#line 4384 "libinterp/parse-tree/oct-parse.cc"
4387#line 994 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4389 if ((
yyvsp[0].tree_expression_type) && ((
yyvsp[0].tree_expression_type)->is_matrix () || (
yyvsp[0].tree_expression_type)->iscell ()))
4392 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4395 delete (
yyvsp[0].tree_expression_type);
4400 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4402#line 4403 "libinterp/parse-tree/oct-parse.cc"
4406#line 1009 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4408 if (! (
yyvsp[0].tree_expression_type))
4411 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
4413#line 4414 "libinterp/parse-tree/oct-parse.cc"
4417#line 1016 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4418 { (yyval.tree_expression_type) = (
yyvsp[0].tree_anon_fcn_handle_type); }
4419#line 4420 "libinterp/parse-tree/oct-parse.cc"
4423#line 1024 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4424 { (yyval.tree_command_type) = (
yyvsp[0].tree_decl_command_type); }
4425#line 4426 "libinterp/parse-tree/oct-parse.cc"
4429#line 1026 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4430 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4431#line 4432 "libinterp/parse-tree/oct-parse.cc"
4435#line 1028 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4436 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4437#line 4438 "libinterp/parse-tree/oct-parse.cc"
4441#line 1030 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4442 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4443#line 4444 "libinterp/parse-tree/oct-parse.cc"
4447#line 1032 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4448 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4449#line 4450 "libinterp/parse-tree/oct-parse.cc"
4453#line 1034 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4454 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4455#line 4456 "libinterp/parse-tree/oct-parse.cc"
4459#line 1036 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4460 { (yyval.tree_command_type) = (
yyvsp[0].tree_function_def_type); }
4461#line 4462 "libinterp/parse-tree/oct-parse.cc"
4465#line 1038 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4466 { (yyval.tree_command_type) = (
yyvsp[0].tree_command_type); }
4467#line 4468 "libinterp/parse-tree/oct-parse.cc"
4471#line 1046 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4474 lexer.m_looking_at_decl_list =
false;
4476#line 4477 "libinterp/parse-tree/oct-parse.cc"
4480#line 1051 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4483 lexer.m_looking_at_decl_list =
false;
4485#line 4486 "libinterp/parse-tree/oct-parse.cc"
4489#line 1058 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4491#line 4492 "libinterp/parse-tree/oct-parse.cc"
4495#line 1060 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4497#line 4498 "libinterp/parse-tree/oct-parse.cc"
4501#line 1064 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4502 { (yyval.tree_decl_elt_type) = parser.
make_decl_elt ((
yyvsp[0].tree_identifier_type)); }
4503#line 4504 "libinterp/parse-tree/oct-parse.cc"
4507#line 1066 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4508 { (yyval.tree_decl_elt_type) = parser.
make_decl_elt ((
yyvsp[-2].tree_identifier_type), (
yyvsp[-1].tok_val), (
yyvsp[0].tree_expression_type)); }
4509#line 4510 "libinterp/parse-tree/oct-parse.cc"
4513#line 1074 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4514 { (yyval.tree_command_type) = (
yyvsp[0].tree_if_command_type); }
4515#line 4516 "libinterp/parse-tree/oct-parse.cc"
4519#line 1076 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4520 { (yyval.tree_command_type) = (
yyvsp[0].tree_switch_command_type); }
4521#line 4522 "libinterp/parse-tree/oct-parse.cc"
4525#line 1084 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4533#line 4534 "libinterp/parse-tree/oct-parse.cc"
4537#line 1094 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4538 { (yyval.tree_if_command_list_type) = (
yyvsp[0].tree_if_command_list_type); }
4539#line 4540 "libinterp/parse-tree/oct-parse.cc"
4543#line 1096 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4544 { (yyval.tree_if_command_list_type) = parser.
append_if_clause ((
yyvsp[-1].tree_if_command_list_type), (
yyvsp[0].tree_if_clause_type)); }
4545#line 4546 "libinterp/parse-tree/oct-parse.cc"
4549#line 1100 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4553 (
yyvsp[-3].tree_expression_type)->mark_braindead_shortcircuit ();
4555 (yyval.tree_if_command_list_type) = parser.
start_if_command ((
yyvsp[-3].tree_expression_type), (
yyvsp[0].tree_statement_list_type));
4557#line 4558 "libinterp/parse-tree/oct-parse.cc"
4561#line 1108 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4562 { (yyval.tree_if_command_list_type) = parser.
append_if_clause ((
yyvsp[-1].tree_if_command_list_type), (
yyvsp[0].tree_if_clause_type)); }
4563#line 4564 "libinterp/parse-tree/oct-parse.cc"
4567#line 1112 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4571 (
yyvsp[-3].tree_expression_type)->mark_braindead_shortcircuit ();
4575#line 4576 "libinterp/parse-tree/oct-parse.cc"
4579#line 1122 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4585#line 4586 "libinterp/parse-tree/oct-parse.cc"
4589#line 1134 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4599#line 4600 "libinterp/parse-tree/oct-parse.cc"
4603#line 1146 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4604 { (yyval.tree_switch_case_list_type) =
nullptr; }
4605#line 4606 "libinterp/parse-tree/oct-parse.cc"
4609#line 1148 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4611#line 4612 "libinterp/parse-tree/oct-parse.cc"
4615#line 1150 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4616 { (yyval.tree_switch_case_list_type) = (
yyvsp[0].tree_switch_case_list_type); }
4617#line 4618 "libinterp/parse-tree/oct-parse.cc"
4621#line 1152 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4622 { (yyval.tree_switch_case_list_type) = parser.
append_switch_case ((
yyvsp[-1].tree_switch_case_list_type), (
yyvsp[0].tree_switch_case_type)); }
4623#line 4624 "libinterp/parse-tree/oct-parse.cc"
4627#line 1156 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4629#line 4630 "libinterp/parse-tree/oct-parse.cc"
4633#line 1158 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4634 { (yyval.tree_switch_case_list_type) = parser.
append_switch_case ((
yyvsp[-1].tree_switch_case_list_type), (
yyvsp[0].tree_switch_case_type)); }
4635#line 4636 "libinterp/parse-tree/oct-parse.cc"
4639#line 1162 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4643 (yyval.tree_switch_case_type) = parser.
make_switch_case ((
yyvsp[-6].tok_val), (
yyvsp[-3].tree_expression_type), (
yyvsp[0].tree_statement_list_type), (
yyvsp[-5].comment_type));
4645#line 4646 "libinterp/parse-tree/oct-parse.cc"
4649#line 1170 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4655#line 4656 "libinterp/parse-tree/oct-parse.cc"
4659#line 1182 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4663 (
yyvsp[-4].tree_expression_type)->mark_braindead_shortcircuit ();
4671#line 4672 "libinterp/parse-tree/oct-parse.cc"
4675#line 1194 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4681#line 4682 "libinterp/parse-tree/oct-parse.cc"
4685#line 1200 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4690 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4696#line 4697 "libinterp/parse-tree/oct-parse.cc"
4700#line 1211 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4705 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-8].comment_type))))
4711#line 4712 "libinterp/parse-tree/oct-parse.cc"
4715#line 1222 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4720 nullptr, (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type))))
4726#line 4727 "libinterp/parse-tree/oct-parse.cc"
4730#line 1233 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4735 (
yyvsp[-4].tree_expression_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-10].comment_type))))
4741#line 4742 "libinterp/parse-tree/oct-parse.cc"
4745#line 1250 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4750#line 4751 "libinterp/parse-tree/oct-parse.cc"
4754#line 1255 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4759#line 4760 "libinterp/parse-tree/oct-parse.cc"
4763#line 1260 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4765#line 4766 "libinterp/parse-tree/oct-parse.cc"
4769#line 1268 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4782#line 4783 "libinterp/parse-tree/oct-parse.cc"
4786#line 1288 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4796#line 4797 "libinterp/parse-tree/oct-parse.cc"
4800#line 1299 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4804 if (! ((yyval.tree_command_type) = parser.
make_try_command ((
yyvsp[-8].tok_val), (
yyvsp[-5].tree_statement_list_type), (
yyvsp[-2].punct_type), (
yyvsp[-1].tree_statement_list_type), (
yyvsp[0].tok_val), (
yyvsp[-7].comment_type), (
yyvsp[-3].comment_type))))
4810#line 4811 "libinterp/parse-tree/oct-parse.cc"
4814#line 1309 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4818 if (! ((yyval.tree_command_type) = parser.
make_try_command ((
yyvsp[-4].tok_val), (
yyvsp[-1].tree_statement_list_type), 0,
nullptr,
4819 (
yyvsp[0].tok_val), (
yyvsp[-3].comment_type),
nullptr)))
4825#line 4826 "libinterp/parse-tree/oct-parse.cc"
4829#line 1326 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4834 (yyval.dummy_type) = 0;
4836#line 4837 "libinterp/parse-tree/oct-parse.cc"
4840#line 1339 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4844 (yyval.dummy_type) = 0;
4845 lexer.m_looking_at_parameter_list =
true;
4846 lexer.m_arguments_is_keyword =
false;
4848 if (
lexer.m_looking_at_function_handle)
4852 lexer.m_looking_at_function_handle--;
4853 lexer.m_looking_at_anon_fcn_args =
true;
4856#line 4857 "libinterp/parse-tree/oct-parse.cc"
4860#line 1357 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4864 (yyval.dummy_type) = 0;
4865 lexer.m_looking_at_parameter_list =
false;
4866 lexer.m_arguments_is_keyword =
true;
4867 lexer.m_looking_for_object_index =
false;
4869#line 4870 "libinterp/parse-tree/oct-parse.cc"
4873#line 1368 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4874 { (yyval.tree_parameter_list_type) =
nullptr; }
4875#line 4876 "libinterp/parse-tree/oct-parse.cc"
4879#line 1370 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4880 { (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type); }
4881#line 4882 "libinterp/parse-tree/oct-parse.cc"
4885#line 1374 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4887 if ((
yyvsp[-1].tree_parameter_list_type))
4888 lexer.mark_as_variables ((
yyvsp[-1].tree_parameter_list_type)->variable_names ());
4890 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
4892#line 4893 "libinterp/parse-tree/oct-parse.cc"
4896#line 1381 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4898 (yyval.tree_parameter_list_type) =
nullptr;
4902#line 4903 "libinterp/parse-tree/oct-parse.cc"
4906#line 1389 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4908#line 4909 "libinterp/parse-tree/oct-parse.cc"
4912#line 1391 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4914 (
yyvsp[0].tree_parameter_list_type)->mark_as_formal_parameters ();
4918 lexer.mark_as_variables ((
yyvsp[0].tree_parameter_list_type)->variable_names ());
4919 (yyval.tree_parameter_list_type) = (
yyvsp[0].tree_parameter_list_type);
4923 delete (
yyvsp[0].tree_parameter_list_type);
4927#line 4928 "libinterp/parse-tree/oct-parse.cc"
4931#line 1408 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4933#line 4934 "libinterp/parse-tree/oct-parse.cc"
4937#line 1410 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4943#line 4944 "libinterp/parse-tree/oct-parse.cc"
4947#line 1418 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4948 { (yyval.tree_decl_elt_type) = (
yyvsp[0].tree_decl_elt_type); }
4949#line 4950 "libinterp/parse-tree/oct-parse.cc"
4953#line 1420 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4954 { (yyval.tree_decl_elt_type) = parser.
make_decl_elt ((
yyvsp[0].tree_identifier_type)); }
4955#line 4956 "libinterp/parse-tree/oct-parse.cc"
4959#line 1428 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4963 lexer.m_looking_at_return_list =
false;
4967#line 4968 "libinterp/parse-tree/oct-parse.cc"
4971#line 1436 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4973 lexer.m_looking_at_return_list =
false;
4983 (yyval.tree_parameter_list_type) = tmp;
4990#line 4991 "libinterp/parse-tree/oct-parse.cc"
4994#line 1455 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
4998 lexer.m_looking_at_return_list =
false;
5004 (yyval.tree_parameter_list_type) = (
yyvsp[-1].tree_parameter_list_type);
5007 delete (
yyvsp[-1].tree_parameter_list_type);
5011#line 5012 "libinterp/parse-tree/oct-parse.cc"
5015#line 1474 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5019#line 5020 "libinterp/parse-tree/oct-parse.cc"
5023#line 1478 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5029#line 5030 "libinterp/parse-tree/oct-parse.cc"
5033#line 1491 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5035#line 5036 "libinterp/parse-tree/oct-parse.cc"
5039#line 1495 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5041 (yyval.dummy_type) = 0;
5047#line 5048 "libinterp/parse-tree/oct-parse.cc"
5051#line 1505 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5052 { (yyval.dummy_type) = 0; }
5053#line 5054 "libinterp/parse-tree/oct-parse.cc"
5057#line 1509 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5061 if (
lexer.m_reading_fcn_file)
5070 lexer.m_symtab_context.pop ();
5072 delete (
yyvsp[-1].tree_statement_list_type);
5080 = parser.
make_end (
"endscript",
true,
5081 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5089 (yyval.tree_command_type) =
nullptr;
5091#line 5092 "libinterp/parse-tree/oct-parse.cc"
5095#line 1543 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5100 lexer.m_symtab_context.pop ();
5105 (yyval.tree_command_type) =
nullptr;
5107#line 5108 "libinterp/parse-tree/oct-parse.cc"
5111#line 1561 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5113 (yyval.tok_val) = (
yyvsp[0].tok_val);
5114 if (
lexer.m_reading_classdef_file
5115 ||
lexer.m_parsing_classdef)
5116 lexer.m_maybe_classdef_get_set_method =
true;
5118#line 5119 "libinterp/parse-tree/oct-parse.cc"
5122#line 1570 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5124 if (! ((yyval.tree_identifier_type) = parser.
make_fcn_name ((
yyvsp[0].tree_identifier_type))))
5130 lexer.m_arguments_is_keyword =
true;
5132#line 5133 "libinterp/parse-tree/oct-parse.cc"
5136#line 1580 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5140 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5142 lexer.m_parsed_function_name.top () =
true;
5143 lexer.m_maybe_classdef_get_set_method =
false;
5144 lexer.m_parsing_classdef_get_method =
true;
5145 lexer.m_arguments_is_keyword =
true;
5147#line 5148 "libinterp/parse-tree/oct-parse.cc"
5151#line 1591 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5155 (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type);
5157 lexer.m_parsed_function_name.top () =
true;
5158 lexer.m_maybe_classdef_get_set_method =
false;
5159 lexer.m_parsing_classdef_set_method =
true;
5160 lexer.m_arguments_is_keyword =
true;
5162#line 5163 "libinterp/parse-tree/oct-parse.cc"
5166#line 1604 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5171 (yyval.tree_statement_type) = parser.
make_end (
"endfunction",
false,
5172 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5179#line 5180 "libinterp/parse-tree/oct-parse.cc"
5183#line 1617 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5194 parser.
bison_error (
"inconsistent function endings -- "
5195 "if one function is explicitly ended, "
5196 "so must all the others");
5200 if (! (
lexer.m_reading_fcn_file ||
lexer.m_reading_script_file
5201 ||
lexer.input_from_eval_string ()))
5203 parser.
bison_error (
"function body open at end of input");
5207 if (
lexer.m_reading_classdef_file)
5209 parser.
bison_error (
"classdef body open at end of input");
5213 (yyval.tree_statement_type) = parser.
make_end (
"endfunction",
true,
5214 (
yyvsp[0].tok_val)->beg_pos (), (
yyvsp[0].tok_val)->end_pos ());
5216#line 5217 "libinterp/parse-tree/oct-parse.cc"
5220#line 1653 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5224 (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));
5226#line 5227 "libinterp/parse-tree/oct-parse.cc"
5230#line 1660 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5234 (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));
5236#line 5237 "libinterp/parse-tree/oct-parse.cc"
5240#line 1668 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5244 (yyval.tree_statement_list_type) = (
yyvsp[0].tree_statement_list_type);
5246#line 5247 "libinterp/parse-tree/oct-parse.cc"
5250#line 1674 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5256#line 5257 "libinterp/parse-tree/oct-parse.cc"
5260#line 1683 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5262 (yyval.dummy_type) = 0;
5263 lexer.m_arguments_is_keyword =
false;
5265#line 5266 "libinterp/parse-tree/oct-parse.cc"
5269#line 1690 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5275#line 5276 "libinterp/parse-tree/oct-parse.cc"
5279#line 1696 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5285#line 5286 "libinterp/parse-tree/oct-parse.cc"
5289#line 1705 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5296 if (! ((yyval.tree_arguments_block_type) = parser.
make_arguments_block ((
yyvsp[-6].tok_val), (
yyvsp[-3].tree_args_block_attribute_list_type), (
yyvsp[-2].tree_args_block_validation_list_type), (
yyvsp[0].tok_val), lc, tc)))
5302 lexer.m_arguments_is_keyword =
true;
5304#line 5305 "libinterp/parse-tree/oct-parse.cc"
5308#line 1722 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5310 (yyval.tok_val) = (
yyvsp[0].tok_val);
5311 lexer.m_arguments_is_keyword =
false;
5313#line 5314 "libinterp/parse-tree/oct-parse.cc"
5317#line 1729 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5318 { (yyval.tree_args_block_attribute_list_type) =
nullptr; }
5319#line 5320 "libinterp/parse-tree/oct-parse.cc"
5323#line 1731 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5334#line 5335 "libinterp/parse-tree/oct-parse.cc"
5338#line 1745 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5340 (
yyvsp[0].tree_arg_validation_type)->arg_name ((
yyvsp[-1].tree_expression_type));
5343#line 5344 "libinterp/parse-tree/oct-parse.cc"
5347#line 1750 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5351 (
yyvsp[0].tree_arg_validation_type)->arg_name ((
yyvsp[-1].tree_expression_type));
5354#line 5355 "libinterp/parse-tree/oct-parse.cc"
5358#line 1763 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5359 { (yyval.tree_expression_type) = (
yyvsp[0].tree_identifier_type); }
5360#line 5361 "libinterp/parse-tree/oct-parse.cc"
5364#line 1767 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5366 if (! ((yyval.tree_arg_validation_type) = parser.
make_arg_validation ((
yyvsp[-3].tree_arg_size_spec_type), (
yyvsp[-2].tree_identifier_type), (
yyvsp[-1].tree_arg_validation_fcns_type), (
yyvsp[0].tree_expression_type))))
5372#line 5373 "libinterp/parse-tree/oct-parse.cc"
5376#line 1777 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5377 { (yyval.tree_arg_size_spec_type) =
nullptr; }
5378#line 5379 "libinterp/parse-tree/oct-parse.cc"
5382#line 1779 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5392#line 5393 "libinterp/parse-tree/oct-parse.cc"
5396#line 1791 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5397 { (yyval.tree_identifier_type) =
nullptr; }
5398#line 5399 "libinterp/parse-tree/oct-parse.cc"
5402#line 1793 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5403 { (yyval.tree_identifier_type) = (
yyvsp[0].tree_identifier_type); }
5404#line 5405 "libinterp/parse-tree/oct-parse.cc"
5408#line 1798 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5409 { (yyval.tree_arg_validation_fcns_type) =
nullptr; }
5410#line 5411 "libinterp/parse-tree/oct-parse.cc"
5414#line 1800 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5424#line 5425 "libinterp/parse-tree/oct-parse.cc"
5428#line 1812 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5429 { (yyval.tree_expression_type) =
nullptr; }
5430#line 5431 "libinterp/parse-tree/oct-parse.cc"
5434#line 1814 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5438 (yyval.tree_expression_type) = (
yyvsp[0].tree_expression_type);
5440#line 5441 "libinterp/parse-tree/oct-parse.cc"
5444#line 1826 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5446 if (!
lexer.m_reading_classdef_file)
5448 parser.
bison_error (
"classdef must appear inside a file containing only a class definition");
5454 lexer.m_parsing_classdef =
true;
5455 lexer.m_parsing_classdef_decl =
true;
5456 lexer.m_classdef_element_names_are_keywords =
true;
5458 (yyval.tok_val) = (
yyvsp[0].tok_val);
5460#line 5461 "libinterp/parse-tree/oct-parse.cc"
5464#line 1844 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5471 lexer.m_parsing_classdef =
false;
5473 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),
5481#line 5482 "libinterp/parse-tree/oct-parse.cc"
5485#line 1863 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5486 { (yyval.tree_classdef_attribute_list_type) =
nullptr; }
5487#line 5488 "libinterp/parse-tree/oct-parse.cc"
5491#line 1865 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5495 (yyval.tree_classdef_attribute_list_type) = (
yyvsp[-2].tree_classdef_attribute_list_type);
5497#line 5498 "libinterp/parse-tree/oct-parse.cc"
5501#line 1873 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5503#line 5504 "libinterp/parse-tree/oct-parse.cc"
5507#line 1875 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5513#line 5514 "libinterp/parse-tree/oct-parse.cc"
5517#line 1883 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5519#line 5520 "libinterp/parse-tree/oct-parse.cc"
5523#line 1885 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5529#line 5530 "libinterp/parse-tree/oct-parse.cc"
5533#line 1891 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5539#line 5540 "libinterp/parse-tree/oct-parse.cc"
5543#line 1899 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5545 lexer.m_parsing_classdef_decl =
false;
5546 lexer.m_parsing_classdef_superclass =
false;
5548 (yyval.tree_classdef_superclass_list_type) =
nullptr;
5550#line 5551 "libinterp/parse-tree/oct-parse.cc"
5554#line 1906 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5558 lexer.m_parsing_classdef_decl =
false;
5559 lexer.m_parsing_classdef_superclass =
false;
5561 (yyval.tree_classdef_superclass_list_type) = (
yyvsp[-1].tree_classdef_superclass_list_type);
5563#line 5564 "libinterp/parse-tree/oct-parse.cc"
5567#line 1918 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5573#line 5574 "libinterp/parse-tree/oct-parse.cc"
5577#line 1924 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5583#line 5584 "libinterp/parse-tree/oct-parse.cc"
5587#line 1932 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5589#line 5590 "libinterp/parse-tree/oct-parse.cc"
5593#line 1936 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5595 lexer.m_classdef_element_names_are_keywords =
false;
5596 (yyval.tree_classdef_body_type) =
nullptr;
5598#line 5599 "libinterp/parse-tree/oct-parse.cc"
5602#line 1941 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5606 lexer.m_classdef_element_names_are_keywords =
false;
5607 (yyval.tree_classdef_body_type) = (
yyvsp[-1].tree_classdef_body_type);
5609#line 5610 "libinterp/parse-tree/oct-parse.cc"
5613#line 1950 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5614 { (yyval.tree_classdef_body_type) = parser.
make_classdef_body ((
yyvsp[0].tree_classdef_properties_block_type)); }
5615#line 5616 "libinterp/parse-tree/oct-parse.cc"
5619#line 1952 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5620 { (yyval.tree_classdef_body_type) = parser.
make_classdef_body ((
yyvsp[0].tree_classdef_methods_block_type)); }
5621#line 5622 "libinterp/parse-tree/oct-parse.cc"
5625#line 1954 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5627#line 5628 "libinterp/parse-tree/oct-parse.cc"
5631#line 1956 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5633#line 5634 "libinterp/parse-tree/oct-parse.cc"
5637#line 1958 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5643#line 5644 "libinterp/parse-tree/oct-parse.cc"
5647#line 1964 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5653#line 5654 "libinterp/parse-tree/oct-parse.cc"
5657#line 1970 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5663#line 5664 "libinterp/parse-tree/oct-parse.cc"
5667#line 1976 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5673#line 5674 "libinterp/parse-tree/oct-parse.cc"
5677#line 1985 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5685 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_property_list_type), (
yyvsp[0].tok_val), lc, tc)))
5692#line 5693 "libinterp/parse-tree/oct-parse.cc"
5696#line 2002 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5698 lexer.m_classdef_element_names_are_keywords =
false;
5699 (yyval.tok_val) = (
yyvsp[0].tok_val);
5701#line 5702 "libinterp/parse-tree/oct-parse.cc"
5705#line 2009 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5707 lexer.m_classdef_element_names_are_keywords =
true;
5708 (yyval.tree_classdef_property_list_type) =
nullptr;
5710#line 5711 "libinterp/parse-tree/oct-parse.cc"
5714#line 2014 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5718 lexer.m_classdef_element_names_are_keywords =
true;
5719 (yyval.tree_classdef_property_list_type) = (
yyvsp[-1].tree_classdef_property_list_type);
5721#line 5722 "libinterp/parse-tree/oct-parse.cc"
5725#line 2024 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5727#line 5728 "libinterp/parse-tree/oct-parse.cc"
5731#line 2026 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5760#line 5761 "libinterp/parse-tree/oct-parse.cc"
5764#line 2057 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5766#line 5767 "libinterp/parse-tree/oct-parse.cc"
5770#line 2061 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5778 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_methods_list_type), (
yyvsp[0].tok_val), lc, tc)))
5785#line 5786 "libinterp/parse-tree/oct-parse.cc"
5789#line 2078 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5791 lexer.m_classdef_element_names_are_keywords =
false;
5792 (yyval.tok_val) = (
yyvsp[0].tok_val);
5794#line 5795 "libinterp/parse-tree/oct-parse.cc"
5798#line 2085 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5803#line 5804 "libinterp/parse-tree/oct-parse.cc"
5807#line 2090 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5812#line 5813 "libinterp/parse-tree/oct-parse.cc"
5816#line 2097 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5818#line 5819 "libinterp/parse-tree/oct-parse.cc"
5822#line 2099 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5826 lexer.m_defining_func++;
5827 lexer.m_parsed_function_name.push (
false);
5829#line 5830 "libinterp/parse-tree/oct-parse.cc"
5833#line 2106 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5835 lexer.m_defining_func--;
5836 lexer.m_parsed_function_name.pop ();
5840#line 5841 "libinterp/parse-tree/oct-parse.cc"
5844#line 2115 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5845 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5846#line 5847 "libinterp/parse-tree/oct-parse.cc"
5850#line 2117 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5851 { (yyval.tree_function_def_type) = (
yyvsp[0].tree_function_def_type); }
5852#line 5853 "libinterp/parse-tree/oct-parse.cc"
5856#line 2121 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5858 lexer.m_classdef_element_names_are_keywords =
true;
5859 (yyval.tree_classdef_methods_list_type) =
nullptr;
5861#line 5862 "libinterp/parse-tree/oct-parse.cc"
5865#line 2126 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5869 lexer.m_classdef_element_names_are_keywords =
true;
5870 (yyval.tree_classdef_methods_list_type) = (
yyvsp[-1].tree_classdef_methods_list_type);
5872#line 5873 "libinterp/parse-tree/oct-parse.cc"
5876#line 2135 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5878#line 5879 "libinterp/parse-tree/oct-parse.cc"
5882#line 2137 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5888#line 5889 "libinterp/parse-tree/oct-parse.cc"
5892#line 2145 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5900 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_events_list_type), (
yyvsp[0].tok_val), lc, tc)))
5907#line 5908 "libinterp/parse-tree/oct-parse.cc"
5911#line 2162 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5913 lexer.m_classdef_element_names_are_keywords =
false;
5914 (yyval.tok_val) = (
yyvsp[0].tok_val);
5916#line 5917 "libinterp/parse-tree/oct-parse.cc"
5920#line 2169 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5922 lexer.m_classdef_element_names_are_keywords =
true;
5923 (yyval.tree_classdef_events_list_type) =
nullptr;
5925#line 5926 "libinterp/parse-tree/oct-parse.cc"
5929#line 2174 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5933 lexer.m_classdef_element_names_are_keywords =
true;
5934 (yyval.tree_classdef_events_list_type) = (
yyvsp[-1].tree_classdef_events_list_type);
5936#line 5937 "libinterp/parse-tree/oct-parse.cc"
5940#line 2183 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5942#line 5943 "libinterp/parse-tree/oct-parse.cc"
5946#line 2185 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5950 (yyval.tree_classdef_events_list_type) = parser.
append_classdef_event ((
yyvsp[-2].tree_classdef_events_list_type), (
yyvsp[0].tree_classdef_event_type));
5952#line 5953 "libinterp/parse-tree/oct-parse.cc"
5956#line 2193 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5958#line 5959 "libinterp/parse-tree/oct-parse.cc"
5962#line 2197 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5970 ((
yyvsp[-5].tok_val), (
yyvsp[-2].tree_classdef_attribute_list_type), (
yyvsp[-1].tree_classdef_enum_list_type), (
yyvsp[0].tok_val), lc, tc)))
5977#line 5978 "libinterp/parse-tree/oct-parse.cc"
5981#line 2214 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5983 lexer.m_classdef_element_names_are_keywords =
false;
5984 (yyval.tok_val) = (
yyvsp[0].tok_val);
5986#line 5987 "libinterp/parse-tree/oct-parse.cc"
5990#line 2221 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
5992 lexer.m_classdef_element_names_are_keywords =
true;
5993 (yyval.tree_classdef_enum_list_type) =
nullptr;
5995#line 5996 "libinterp/parse-tree/oct-parse.cc"
5999#line 2226 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6003 lexer.m_classdef_element_names_are_keywords =
true;
6004 (yyval.tree_classdef_enum_list_type) = (
yyvsp[-1].tree_classdef_enum_list_type);
6006#line 6007 "libinterp/parse-tree/oct-parse.cc"
6010#line 2235 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6012#line 6013 "libinterp/parse-tree/oct-parse.cc"
6016#line 2237 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6020 (yyval.tree_classdef_enum_list_type) = parser.
append_classdef_enum ((
yyvsp[-2].tree_classdef_enum_list_type), (
yyvsp[0].tree_classdef_enum_type));
6022#line 6023 "libinterp/parse-tree/oct-parse.cc"
6026#line 2245 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6032#line 6033 "libinterp/parse-tree/oct-parse.cc"
6036#line 2257 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6038 (yyval.dummy_type) = 0;
6039 lexer.m_at_beginning_of_statement =
true;
6041#line 6042 "libinterp/parse-tree/oct-parse.cc"
6045#line 2264 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6047 (yyval.dummy_type) = 0;
6048 lexer.m_at_beginning_of_statement =
true;
6049 lexer.m_parsing_anon_fcn_body =
true;
6051#line 6052 "libinterp/parse-tree/oct-parse.cc"
6055#line 2272 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6056 { (yyval.comment_type) =
lexer.get_comment (); }
6057#line 6058 "libinterp/parse-tree/oct-parse.cc"
6061#line 2276 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6063 (yyval.dummy_type) = 0;
6064 std::string msg = (
yyvsp[0].tok_val)->text ();
6067#line 6068 "libinterp/parse-tree/oct-parse.cc"
6071#line 2282 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6072 { (yyval.dummy_type) = 0; }
6073#line 6074 "libinterp/parse-tree/oct-parse.cc"
6077#line 2286 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6081 (yyval.punct_type) =
',';
6083#line 6084 "libinterp/parse-tree/oct-parse.cc"
6087#line 2292 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6091 (yyval.punct_type) =
';';
6093#line 6094 "libinterp/parse-tree/oct-parse.cc"
6097#line 2298 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6101 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6103#line 6104 "libinterp/parse-tree/oct-parse.cc"
6107#line 2304 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6111 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6113#line 6114 "libinterp/parse-tree/oct-parse.cc"
6117#line 2312 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6118 { (yyval.punct_type) = 0; }
6119#line 6120 "libinterp/parse-tree/oct-parse.cc"
6123#line 2314 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6124 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6125#line 6126 "libinterp/parse-tree/oct-parse.cc"
6129#line 2318 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6130 { (yyval.punct_type) = 0; }
6131#line 6132 "libinterp/parse-tree/oct-parse.cc"
6135#line 2320 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6136 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6137#line 6138 "libinterp/parse-tree/oct-parse.cc"
6141#line 2324 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6145 (yyval.punct_type) =
'\n';
6147#line 6148 "libinterp/parse-tree/oct-parse.cc"
6151#line 2330 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6155 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6157#line 6158 "libinterp/parse-tree/oct-parse.cc"
6161#line 2338 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6165 (yyval.punct_type) =
',';
6167#line 6168 "libinterp/parse-tree/oct-parse.cc"
6171#line 2344 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6175 (yyval.punct_type) =
';';
6177#line 6178 "libinterp/parse-tree/oct-parse.cc"
6181#line 2350 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6185 (yyval.punct_type) =
'\n';
6187#line 6188 "libinterp/parse-tree/oct-parse.cc"
6191#line 2356 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6195 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6197#line 6198 "libinterp/parse-tree/oct-parse.cc"
6201#line 2362 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6205 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6207#line 6208 "libinterp/parse-tree/oct-parse.cc"
6211#line 2368 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6215 (yyval.punct_type) = (
yyvsp[-1].punct_type);
6217#line 6218 "libinterp/parse-tree/oct-parse.cc"
6221#line 2376 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6222 { (yyval.punct_type) = 0; }
6223#line 6224 "libinterp/parse-tree/oct-parse.cc"
6227#line 2378 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6228 { (yyval.punct_type) = (
yyvsp[0].punct_type); }
6229#line 6230 "libinterp/parse-tree/oct-parse.cc"
6233#line 6234 "libinterp/parse-tree/oct-parse.cc"
6297 yytoken, &
yylval, parser);
6406 yytoken, &
yylval, parser);
6439#line 2381 "/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy"
6442#if defined (HAVE_PRAGMA_GCC_DIAGNOSTIC)
6444# pragma GCC diagnostic pop
6458OCTAVE_NAMESPACE_BEGIN
6527 unwind_protect_var<symbol_scope> restore_var (
m_scope, script.
scope ());
6529 tree_statement_list *stmt_list = script.
body ();
6532 stmt_list->
accept (*
this);
6537 unwind_protect_var<symbol_scope> restore_var (
m_scope, fcn.
scope ());
6539 tree_statement_list *stmt_list = fcn.
body ();
6542 stmt_list->
accept (*
this);
6544 std::map<std::string, octave_value> subfcns = fcn.
subfunctions ();
6546 if (! subfcns.empty ())
6548 for (
auto& nm_val : subfcns)
6561 if (idx_expr.is_word_list_cmd ())
6563 std::string sym_nm = idx_expr.name ();
6565 if (
m_scope.is_variable (sym_nm))
6568 = sym_nm +
": invalid use of symbol as both variable and command";
6571 idx_expr.line (), idx_expr.column ());
6585 template <
typename LIST_T,
typename ELT_T>
6594 base_parser::parent_scope_info::size (
void)
const
6596 return m_info.size ();
6602 m_info.push_back (elt);
6606 base_parser::parent_scope_info::push (
const symbol_scope& scope)
6608 push (value_type (scope,
""));
6612 base_parser::parent_scope_info::pop (
void)
6618 base_parser::parent_scope_info::name_ok (
const std::string&
name)
6625 std::string full_name;
6627 for (std::size_t i = 0; i < size()-1; i++)
6631 if (
name == elt.second)
6634 full_name += elt.second +
">";
6639 if (m_all_names.find (full_name) != m_all_names.end ())
6645 return ! (m_parser.parsing_subfunctions ()
6646 || m_parser.parsing_local_functions ()
6647 || m_parser.curr_fcn_depth () > 0);
6650 m_all_names.insert (full_name);
6656 base_parser::parent_scope_info::name_current_scope (
const std::string&
name)
6658 if (! name_ok (
name))
6662 m_info.back().second =
name;
6668 base_parser::parent_scope_info::parent_scope (
void)
const
6670 return size () > 1 ? m_info[size()-2].first :
symbol_scope ();
6674 base_parser::parent_scope_info::parent_name (
void)
const
6676 return m_info[size()-2].second;
6679 void base_parser::parent_scope_info::clear (
void)
6682 m_all_names.clear ();
6686 : m_endfunction_found (false), m_autoloading (false),
6687 m_fcn_file_from_relative_lookup (false),
6688 m_parsing_subfunctions (false), m_parsing_local_functions (false),
6689 m_max_fcn_depth (-1), m_curr_fcn_depth (-1), m_primary_fcn_scope (),
6690 m_curr_class_name (), m_curr_package_name (), m_function_scopes (*this),
6691 m_primary_fcn (), m_subfunction_names (), m_classdef_object (),
6692 m_stmt_list (), m_lexer (lxr), m_parser_state (
yypstate_new ())
6740 std::string retval =
"<unknown>";
6749 retval =
"endclassdef";
6753 retval =
"endenumeration";
6757 retval =
"endevents";
6765 retval =
"endfunction";
6773 retval =
"endmethods";
6777 retval =
"endparfor";
6781 retval =
"endproperties";
6789 retval =
"endswitch";
6793 retval =
"end_try_catch";
6797 retval =
"end_unwind_protect";
6801 retval =
"endwhile";
6822 while (! lst->empty ())
6836 +
"' command matched by '"
6873 bison_error (
"nested functions not implemented in this context");
6886 int l = tok_val->
line ();
6887 int c = tok_val->
column ();
6912 std::string txt = tok_val->
text ();
6914 char delim = op ==
DQ_STRING ?
'"' :
'\'';
6955 int l = tok_val->
line ();
6956 int c = tok_val->
column ();
6976 if (! validator.
ok ())
6996 int at_line = at_pos.
line ();
6997 int at_column = at_pos.
column ();
7001 parent_scope, at_line, at_column);
7003 std::ostringstream buf;
7010 if (! file.empty ())
7011 buf <<
": file: " << file;
7013 buf <<
": *terminal input*";
7015 buf <<
": *eval string*";
7016 buf <<
": line: " << at_line <<
" column: " << at_column;
7018 std::string scope_name = buf.str ();
7038 if (! base || ! limit)
7047 int l = base->
line ();
7087 std::ostringstream buf;
7196 int l = tok_val->
line ();
7197 int c = tok_val->
column ();
7225 int l = tok_val->
line ();
7226 int c = tok_val->
column ();
7265 int l = tok_val->
line ();
7266 int c = tok_val->
column ();
7301 int l = tok_val->
line ();
7302 int c = tok_val->
column ();
7323 int l = unwind_tok->
line ();
7324 int c = unwind_tok->
column ();
7332 delete cleanup_stmts;
7357 int l = try_tok->
line ();
7358 int c = try_tok->
column ();
7362 if (! catch_sep && cleanup_stmts && ! cleanup_stmts->
empty ())
7388 delete cleanup_stmts;
7415 int l = while_tok->
line ();
7416 int c = while_tok->
column ();
7445 int l = until_tok->
line ();
7446 int c = until_tok->
column ();
7464 bool parfor = tok_id ==
PARFOR;
7474 int l = for_tok->
line ();
7475 int c = for_tok->
column ();
7484 body, lc, tc, l, c);
7497 bison_error (
"invalid syntax for parfor statement");
7524 int l = break_tok->
line ();
7525 int c = break_tok->
column ();
7541 int l = continue_tok->
line ();
7542 int c = continue_tok->
column ();
7546 bison_error (
"continue must appear within a loop");
7558 int l = return_tok->
line ();
7559 int c = return_tok->
column ();
7575 int l = spmd_tok->
line ();
7576 int c = spmd_tok->
column ();
7621 int l = if_tok->
line ();
7622 int c = if_tok->
column ();
7624 if (list && ! list->
empty ())
7657 int l = elseif_tok->
line ();
7658 int c = elseif_tok->
column ();
7667 int l = else_tok->
line ();
7668 int c = else_tok->
column ();
7695 int l = switch_tok->
line ();
7696 int c = switch_tok->
column ();
7698 if (list && ! list->
empty ())
7738 int l = case_tok->
line ();
7739 int c = case_tok->
column ();
7748 int l = default_tok->
line ();
7749 int c = default_tok->
column ();
7828 int l = eq_tok->
line ();
7829 int c = eq_tok->
column ();
7839 bison_error (
"computed multiple assignment not allowed",
7854 std::string kw = tmp->
name ();
7860 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7876 for (
const auto& kw : names)
7883 bison_error (
"invalid assignment to keyword \"" + kw +
"\"",
7903 cmds->
append (end_script);
7930 std::string id_name =
id->
name ();
7939 bison_error (
"duplicate subfunction or nested function name",
7970 int l = fcn_tok->
line ();
7971 int c = fcn_tok->
column ();
7993 std::string id_name =
id->
name ();
7998 id_name.insert (0,
"get.");
8000 id_name.insert (0,
"set.");
8008 body->
append (end_fcn_stmt);
8012 param_list,
nullptr, body);
8018 end_fcn_stmt->
column ());
8035 if (pos != std::string::npos)
8041 (
"Octave:function-name-clash",
8042 "function name '%s' does not agree with function filename '%s'",
8089 "time stamp for '%s' is in the future", nm.c_str ());
8096 warning (
"function '%s' defined within script file '%s'",
8123 int l = beg_pos.
line ();
8124 int c = beg_pos.
column ();
8144 std::string fcn_nm = fcn->
name ();
8147 std::string tmp = fcn_nm;
8148 if (! file.empty ())
8230 for (
const auto& elt : *list)
8253 int l = beg_pos.
line ();
8254 int c = beg_pos.
column ();
8261 delete validation_list;
8280 validation_fcns, default_value);
8361 std::string cls_name =
id->name ();
8369 if (pos != std::string::npos)
8370 short_name = short_name.substr (pos+1);
8372 if (short_name != cls_name)
8374 int l =
id->line ();
8375 int c =
id->column ();
8384 bison_error (
"invalid classdef definition, the class name must match the filename", l, c);
8391 int l = tok_val->
line ();
8392 int c = tok_val->
column ();
8398 a,
id, sc, body, lc, tc,
8438 int l = tok_val->
line ();
8439 int c = tok_val->
column ();
8457 std::string eol_comment = first_comment_elt.
text ();
8495 warning (
"size, class, and validation function specifications are not yet supported for classdef properties; INCORRECT RESULTS ARE POSSIBLE!");
8516 int l = tok_val->
line ();
8517 int c = tok_val->
column ();
8558 int l = tok_val->
line ();
8559 int c = tok_val->
column ();
8613 int l = tok_val->
line ();
8614 int c = tok_val->
column ();
8779 std::string mname =
id->
name ();
8786 if (mname.find_first_of (
".") == std::string::npos
8787 && mname !=
"delete"
8797 int l =
id->line ();
8798 int c =
id->column ();
8803 bison_error (
"invalid external method declaration, an external "
8804 "method cannot be the class constructor, 'delete' "
8805 "or have a dot (.) character in its name");
8808 bison_error (
"external methods are only allowed in @-folders");
8881 fcn_def->
accept (validator);
8885 if (! validator.
ok ())
8913 std::string nm = fcn->
name ();
8943 bison_error (
"invalid use of empty argument (~) in index expression");
8947 int l = expr->
line ();
8958 retval = tmp->
append (args, type);
8971 const std::string& elt)
8975 int l = expr->
line ();
8986 retval = tmp->
append (elt);
8989 retval =
new tree_index_expression (expr, elt, l, c);
8998 tree_index_expression *
9000 tree_expression *elt)
9002 tree_index_expression *retval =
nullptr;
9004 int l = expr->line ();
9005 int c = expr->column ();
9007 if (! expr->is_postfix_indexed ())
9008 expr->set_postfix_index (
'.');
9010 if (expr->is_index_expression ())
9012 tree_index_expression *tmp
9013 =
dynamic_cast<tree_index_expression *
> (expr);
9018 retval =
new tree_index_expression (expr, elt, l, c);
9033 int l = tok_val->
line ();
9034 int c = tok_val->
column ();
9057 warning (
"ignoring persistent declaration near line %d of file '%s'",
9060 warning (
"ignoring persistent declaration near line %d", l);
9096 std::set<std::string> dict;
9104 std::string
name =
id->name ();
9117 +
"' in parameter list");
9120 else if (dict.find (
name) != dict.end ())
9123 +
"' appears more than once in parameter list");
9132 ?
"varargin" :
"varargout");
9142 if (
id && id->
name () == va_type)
9168 if (row && row->has_magic_tilde ())
9173 bison_error (
"invalid use of tilde (~) in matrix expression");
9175 bison_error (
"invalid use of tilde (~) in cell expression");
9199 bison_error (
"invalid empty left hand side of assignment");
9201 bison_error (
"invalid constant left hand side of assignment");
9205 bool is_simple_assign =
true;
9213 if (mat && mat->
size () == 1)
9215 tmp = mat->
front ();
9218 is_simple_assign =
false;
9233 bison_error (
"invalid left hand side of assignment");
9236 if (retval && is_simple_assign)
9285 std::ostringstream buf;
9289 array_list->
accept (tpc);
9316 close_delim->
line (), close_delim->
column ()));
9343 close_delim->
line (), close_delim->
column ()));
9349 return row ?
new tree_cell (row) :
nullptr;
9367 std::string nm = ident->
text ();
9372 int l = ident->
line ();
9373 int c = ident->
column ();
9384 int l = superclassref->
line ();
9385 int c = superclassref->
column ();
9393 std::string cls = metaquery->
text ();
9395 int l = metaquery->
line ();
9396 int c = metaquery->
column ();
9403 char sep,
bool warn_missing_semi)
9417 if (warn_missing_semi)
9422 warning (
"unrecognized separator type!");
9439 template <
typename T>
9457 bool warn_missing_semi)
9533 if (! std::getline (fs, text))
9560 std::ostringstream output_buf;
9564 output_buf <<
"parse error near line " << err_line
9567 output_buf <<
"parse error:";
9569 if (str !=
"parse error")
9570 output_buf <<
"\n\n " << str;
9572 output_buf <<
"\n\n";
9574 std::string curr_line;
9586 if (! curr_line.empty ())
9592 std::size_t
len = curr_line.length ();
9594 if (curr_line[
len-1] ==
'\n')
9595 curr_line.resize (
len-1);
9599 output_buf <<
">>> " << curr_line <<
"\n";
9604 for (
int i = 0; i < err_col + 3; i++)
9653 catch (
const exit_exception&)
9657 catch (
const interrupt_exception&)
9666 error (
"unexpected exception while parsing input");
9668 error (
"unexpected exception while parsing %s", file.c_str ());
9700 status = (
token == -2 ? 0 : -1);
9719 error (e,
"parse error");
9721 error (e,
"parse error in %s", file.c_str ());
9723 catch (
const exit_exception&)
9727 catch (interrupt_exception &)
9736 error (
"unexpected exception while parsing input");
9738 error (
"unexpected exception while parsing %s", file.c_str ());
9753 error (
"push_parser::run requires valid input_reader");
9755 int exit_status = 0;
9772 std::string input_line =
m_reader->get_input (prompt, eof);
9780 exit_status =
run (input_line,
false);
9784 while (exit_status < 0);
9791 const std::string& file,
const std::string& dir_name,
9792 const std::string& dispatch_type,
9793 const std::string& package_name,
bool require_file,
9794 bool force_script,
bool autoload,
bool relative_lookup)
9798 FILE *ffile =
nullptr;
9800 if (! full_file.empty ())
9803 const int max_file_size = 512 * 1024 * 1024;
9806 if (fs && fs.
size () > max_file_size)
9808 error (
"file '%s' is too large, > 512 MB", full_file.c_str ());
9819 error (
"no such file, '%s'", full_file.c_str ());
9828 parser parser (ffile, interp, input_sys.dir_encoding (dir_name));
9847 error (
"parse error while reading file %s", full_file.c_str ());
9861 bool is_at_folder = ! dispatch_type.empty ();
9863 std::shared_ptr<tree_classdef> cdef_obj
9866 return cdef_obj->make_meta_class (interp, is_at_folder);
9899 if (! validator.
ok ())
9909 std::shared_ptr<tree_statement_list> tmp_lst (lst);
9926 code->
accept (validator);
9928 if (! validator.
ok ())
9950 (
"Octave:assign-as-truth-value",
9951 "suggest parenthesis around assignment used as truth value");
9954 (
"Octave:assign-as-truth-value",
9955 "suggest parenthesis around assignment used as truth value near line %d, column %d in file '%s'",
9969 "variable switch label");
9972 (
"Octave:variable-switch-label",
9973 "variable switch label near line %d, column %d in file '%s'",
9987 (
"Octave:missing-semicolon",
9988 "missing semicolon near line %d, column %d in file '%s'",
9995 std::string& full_file)
10001 std::string file = full_file;
10003 std::size_t file_len = file.length ();
10005 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
10006 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
10007 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
10010 file = file.substr (0, file.find_last_of (
'.'));
10013 if (pos != std::string::npos)
10014 file = file.substr (pos+1);
10017 if (! file.empty ())
10021 symbol_found =
true;
10025 false,
false,
false);
10048 const std::string& dir_name,
10049 const std::string& dispatch_type,
10050 const std::string& package_name,
10051 const std::string& fcn_name,
bool autoload)
10055 unwind_protect frame;
10057 std::string nm = file_name;
10059 std::size_t nm_len = nm.
length ();
10063 bool relative_lookup =
false;
10067 if ((nm_len > 4 && nm.substr (nm_len-4) ==
".oct")
10068 || (nm_len > 4 && nm.substr (nm_len-4) ==
".mex")
10069 || (nm_len > 2 && nm.substr (nm_len-2) ==
".m"))
10072 nm = nm.substr (0, nm.find_last_of (
'.'));
10075 if (pos != std::string::npos)
10076 nm = nm.substr (pos+1);
10083 int len = file.length ();
10089 if (
len > 4 && file.substr (
len-4,
len-1) ==
".oct")
10091 if (autoload && ! fcn_name.empty ())
10095 = dyn_loader.load_oct (nm, file, relative_lookup);
10103 else if (
len > 4 && file.substr (
len-4,
len-1) ==
".mex")
10108 std::string doc_string;
10112 dispatch_type, package_name,
false,
10113 autoload, autoload, relative_lookup);
10124 = dyn_loader.load_mex (nm, file, relative_lookup);
10137 dispatch_type, package_name,
true,
10138 autoload, autoload, relative_lookup);
10184 int nargin = args.length ();
10186 if (nargin == 1 || nargin > 3)
10199 else if (nargin == 3)
10201 if (argv[3] !=
"remove")
10203 "autoload: third argument can only be 'remove'");
10231 int nargin = args.length ();
10239 opt = args(0).xstring_value (
"mfilename: option argument must be a string");
10250 bool verbose,
bool require_file)
10254 interp.
source_file (file_name, context, verbose, require_file);
10273 int nargin = args.length ();
10275 if (nargin < 1 || nargin > 2)
10278 std::string file_name
10279 = args(0).xstring_value (
"source: FILE must be a string");
10281 std::string context;
10283 context = args(1).xstring_value (
"source: CONTEXT must be a string");
10285 interp.source_file (file_name, context);
10304 return interp.
feval (
name, args, nargout);
10312 return interp.
feval (
name, args, nargout);
10320 return interp.
feval (fcn, args, nargout);
10328 return interp.
feval (val, args, nargout);
10336 return interp.
feval (args, nargout);
10379 if (args.length () == 0)
10382 return interp.feval (args, nargout);
10385DEFMETHOD (builtin, interp, args, nargout,
10413 if (args.length () == 0)
10416 const std::string
name (args(0).xstring_value (
"builtin: function name (F) must be a string"));
10423 retval = interp.feval (fcn.
function_value (), args.splice (0, 1), nargout);
10425 error (
"builtin: lookup for symbol '%s' failed",
name.c_str ());
10480 int nargin = args.length ();
10482 if (nargin < 1 || nargin > 2)
10485 if (! args(0).is_string () || args(0).rows () > 1 || args(0).ndims () != 2)
10486 error (
"eval: TRY must be a string");
10488 std::string try_code = args(0).string_value ();
10491 return interp.eval (try_code, nargout);
10494 if (! args(1).is_string () || args(1).rows () > 1
10495 || args(1).ndims () != 2)
10496 error (
"eval: CATCH must be a string");
10498 std::string catch_code = args(1).string_value ();
10500 return interp.eval (try_code, catch_code, nargout);
10564 if (args.length () != 3)
10567 std::string context
10568 = args(0).xstring_value (
"assignin: CONTEXT must be a string");
10570 std::string varname
10571 = args(1).xstring_value (
"assignin: VARNAME must be a string");
10573 interp.assignin (context, varname, args(2));
10584DEFMETHOD (evalin, interp, args, nargout,
10593 int nargin = args.length ();
10595 if (nargin < 2 || nargin > 3)
10598 std::string context
10599 = args(0).xstring_value (
"evalin: CONTEXT must be a string");
10601 std::string try_code
10602 = args(1).xstring_value (
"evalin: TRY must be a string");
10606 std::string catch_code
10607 = args(2).xstring_value (
"evalin: CATCH must be a string");
10609 return interp.evalin (context, try_code, catch_code, nargout);
10612 return interp.evalin (context, try_code, nargout);
10615DEFMETHOD (evalc, interp, args, nargout,
10644 int nargin = args.length ();
10646 if (nargin == 0 || nargin > 2)
10653 std::cerr.flush ();
10655 std::stringbuf buffer;
10657 std::streambuf *old_out_buf =
octave_stdout.rdbuf (&buffer);
10658 std::streambuf *old_err_buf = std::cerr.rdbuf (&buffer);
10666 unwind_action act ([=] (
void)
10669 std::cerr.rdbuf (old_err_buf);
10674 int eval_nargout =
std::max (0, nargout - 1);
10681 std::cerr.flush ();
10683 retval.
prepend (buffer.str ());
10772DEFUN (__parser_debug_flag__, args, nargout,
10786 "__parser_debug_flag__");
10793DEFMETHOD (__parse_file__, interp, args, ,
10801 int nargin = args.
length ();
10803 if (nargin < 1 || nargin > 2)
10807 = args(0).xstring_value (
"__parse_file__: expecting filename as argument");
10813 std::string dir_name;
10815 std::size_t file_len = file.length ();
10817 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
10818 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
10819 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
10822 file = file.substr (0, file.find_last_of (
'.'));
10825 if (pos != std::string::npos)
10827 dir_name = file.substr (0, pos);
10828 file = file.substr (pos+1);
10836 =
parse_fcn_file (interp, full_file, file, dir_name,
"",
"",
true,
10837 false,
false,
false);
10842OCTAVE_NAMESPACE_END
charNDArray max(char d, const charNDArray &m)
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)
dynamic_loader & get_dynamic_loader(void)
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)
input_system & get_input_system(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)
std::string message(void) const
virtual bool input_from_eval_string(void) const
bool input_from_tmp_history_file(void)
comment_list * get_comment(void)
comment_buffer m_comment_buf
virtual bool input_from_terminal(void) const
bool at_end_of_buffer(void) const
std::size_t size(void) const
void append(const elt_type &s)
std::size_t length(void) const
iterator erase(iterator pos)
std::list< tree_decl_elt * >::iterator iterator
OCTINTERP_API void clear(void)
OCTINTERP_API bool name_current_scope(const std::string &name)
std::pair< symbol_scope, std::string > value_type
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)
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 bool validate_primary_fcn(void)
OCTINTERP_API tree_classdef_attribute_list * append_classdef_attribute(tree_classdef_attribute_list *list, tree_classdef_attribute *elt)
std::shared_ptr< tree_statement_list > statement_list(void) const
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_index_expression * make_indirect_ref(tree_expression *expr, const std::string &)
OCTINTERP_API tree_fcn_handle * make_fcn_handle(token *tok_val)
bool m_parsing_local_functions
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)
octave_value m_primary_fcn
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)
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)
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 tree_identifier * make_identifier(token *ident)
OCTINTERP_API tree_classdef_events_list * make_classdef_events_list(tree_classdef_event *e)
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)
std::shared_ptr< tree_classdef > m_classdef_object
OCTINTERP_API tree_if_command_list * append_if_clause(tree_if_command_list *list, tree_if_clause *clause)
parent_scope_info m_function_scopes
OCTINTERP_API tree_command * make_return_command(token *return_tok)
virtual ~base_parser(void)
OCTINTERP_API tree_identifier * make_fcn_name(tree_identifier *id)
symbol_scope m_primary_fcn_scope
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 void bison_error(const std::string &s)
OCTINTERP_API tree_if_clause * make_else_clause(token *else_tok, comment_list *lc, tree_statement_list *list)
void endfunction_found(bool flag)
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)
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)
bool m_fcn_file_from_relative_lookup
OCTINTERP_API tree_statement * make_end(const std::string &type, bool eof, const filepos &beg_pos, const filepos &end_pos)
std::string m_curr_class_name
OCTINTERP_API tree_classdef_body * append_classdef_enum_block(tree_classdef_body *body, tree_classdef_enum_block *block)
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)
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)
std::string m_curr_package_name
void parsing_local_functions(bool flag)
std::list< std::string > m_subfunction_names
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 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)
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_statement * make_statement(T *arg)
OCTINTERP_API tree_classdef_superclass * make_classdef_superclass(token *fqident)
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)
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)
OCTINTERP_API tree_decl_init_list * append_decl_init_list(tree_decl_init_list *list, tree_decl_elt *elt)
OCTINTERP_API tree_classdef_body * append_classdef_events_block(tree_classdef_body *body, tree_classdef_events_block *block)
void classdef_object(const std::shared_ptr< tree_classdef > &obj)
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)
bool m_parsing_subfunctions
OCTINTERP_API tree_classdef_superclass_list * append_classdef_superclass(tree_classdef_superclass_list *list, tree_classdef_superclass *elt)
std::string m_parse_error_msg
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)
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)
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::shared_ptr< tree_statement_list > m_stmt_list
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)
symbol_scope curr_scope(void) const
void push(const symbol_scope &scope)
symbol_scope parent_scope(void) const
void mark_as_variables(const std::list< std::string > &lst)
std::stack< bool > m_parsed_function_name
std::string m_current_input_line
bool m_looking_at_return_list
bool m_reading_classdef_file
bool m_allow_command_syntax
bool m_looking_at_parameter_list
bool m_parsing_classdef_get_method
bool m_parsing_classdef_set_method
bool m_reading_script_file
symbol_table_context m_symtab_context
bool m_buffer_function_text
std::string m_fcn_file_full_name
bool m_maybe_classdef_get_set_method
std::string m_package_name
bool m_parsing_class_method
bool m_looking_at_indirect_ref
void mark_as_variable(const std::string &nm)
std::string m_function_text
std::string m_fcn_file_name
OCTINTERP_API int run(void)
OCTINTERP_API int run(void)
std::shared_ptr< input_reader > m_reader
interpreter & m_interpreter
void install_subfunction(const std::string &name, const octave_value &fval)
void set_primary_parent(const symbol_scope &p)
void mark_primary_fcn_scope(void)
void install_nestfunction(const std::string &name, const octave_value &fval, const symbol_scope &fcn_scope)
void set_nesting_depth(std::size_t depth)
void set_parent(const symbol_scope &p)
void cache_dir_name(const std::string &name)
symbol_record insert(const std::string &name)
void cache_fcn_name(const std::string &name)
void cache_fcn_file_name(const std::string &name)
void cache_name(const std::string &name)
bool is_newer(const sys::time &time) const
static std::string base_pathname(const std::string &s)
static bool absolute_pathname(const std::string &s)
static std::string make_absolute(const std::string &s, const std::string &dot_path=get_current_directory())
std::string superclass_class_name(void) const
end_tok_type ettype(void) const
std::string superclass_method_name(void) const
octave_value number(void) const
std::string text(void) const
int token_value(void) const
filepos beg_pos(void) const
std::string text_rep(void) const
void accept(tree_walker &tw)
void arg_name(tree_expression *name)
tree_arg_validation_fcns * validation_fcns(void)
tree_identifier * class_name(void)
tree_arg_size_spec * size_spec(void)
void mark_as_simple_assign_lhs(void)
std::list< std::string > variable_names(void) const
bool is_valid_lvalue_list(void) const
bool is_simple_assign_lhs(void)
tree_expression * remove_front(void)
bool has_magic_tilde(void) const
bool all_elements_are_constant(void) const
void accept(tree_walker &tw)
bool have_doc_string(void) const
void doc_string(const std::string &txt)
void accept(tree_walker &tw)
void accept(tree_walker &tw)
octave_value evaluate(tree_evaluator &, int nargout=1)
void stash_original_text(const std::string &s)
void mark_persistent(void)
tree_identifier * ident(void)
std::list< std::string > variable_names(void) const
virtual bool is_identifier(void) const
virtual bool is_index_expression(void) const
void mark_as_for_cmd_expr(void)
tree_expression * set_postfix_index(char type)
tree_expression * set_print_flag(bool print)
virtual bool is_matrix(void) const
virtual std::string name(void) const
virtual octave_value evaluate(tree_evaluator &tw, int nargout=1)=0
int paren_count(void) const
virtual bool is_assignment_expression(void) const
bool is_postfix_indexed(void) const
virtual bool is_constant(void) const
octave_value function(void)
void accept(tree_walker &tw)
std::string name(void) const
virtual bool is_black_hole(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_expression(void) const
void set_expression(tree_expression *e)
tree_expression * expression(void)
void set_print_flag(bool print_flag)
bool is_null_statement(void) const
virtual int column(void) const
void set_location(int l, int c)
virtual int line(void) const
virtual std::string 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
OCTINTERP_API octave_user_function * user_function_value(bool silent=false) const
bool is_defined(void) 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 & operator=(const parse_exception &)=default
const char * what(void) const noexcept
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
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)
std::list< parse_exception > error_list(void) const
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
parse_tree_validator(const parse_tree_validator &)=delete
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)
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
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 tilde_expand(const std::string &name)
std::string dir_sep_chars(void)
std::string dir_sep_str(void)
std::ifstream ifstream(const std::string &filename, const std::ios::openmode mode)
std::FILE * fopen(const std::string &filename, const std::string &mode)
tree_binary_expression * maybe_compound_binary_expression(tree_expression *a, tree_expression *b, int l, int c, octave_value::binary_op t)
OCTINTERP_API void cleanup_statement_list(tree_statement_list **lst)
OCTINTERP_API octave_value_list feval(const char *name, const octave_value_list &args=octave_value_list(), int nargout=0)
bool iskeyword(const std::string &s)
interpreter & __get_interpreter__(const std::string &who)
OCTINTERP_API 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)
tree_evaluator & __get_evaluator__(const std::string &who)
OCTINTERP_API octave_value load_fcn_from_file(const std::string &file_name, const std::string &dir_name="", const std::string &dispatch_type="", const std::string &package_name="", const std::string &fcn_name="", bool autoload=false)
OCTINTERP_API void source_file(const std::string &file_name, const std::string &context="", bool verbose=false, bool require_file=true)
OCTINTERP_API std::string get_help_from_file(const std::string &nm, bool &symbol_found, std::string &file)
symbol_table & __get_symbol_table__(const std::string &who)
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
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_USELESS_CAST_END
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)
static LIST_T * list_append(LIST_T *list, ELT_T elt)
#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
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
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)
#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()) ? '\'' :'"'))
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)