47 #define YYBISON_VERSION "2.7.12-4996"
50 #define YYSKELETON_NAME "yacc.c"
63 #define yyparse octave_parse
64 #define yypush_parse octave_push_parse
65 #define yypull_parse octave_pull_parse
66 #define yypstate_new octave_pstate_new
67 #define yypstate_delete octave_pstate_delete
68 #define yypstate octave_pstate
69 #define yylex octave_lex
70 #define yyerror octave_error
71 #define yylval octave_lval
72 #define yychar octave_char
73 #define yydebug octave_debug
74 #define yynerrs octave_nerrs
78 #line 29 "parse-tree/oct-parse.yy"
138 #if defined (GNULIB_NAMESPACE)
142 #define fclose GNULIB_NAMESPACE::fclose
143 #define fprintf GNULIB_NAMESPACE::fprintf
144 #define malloc GNULIB_NAMESPACE::malloc
158 #define ABORT_PARSE \
162 if ((interactive || forced_interactive) \
163 && ! lexer.input_from_eval_string ()) \
170 #define lexer parser.lexer
171 #define scanner lexer.scanner
175 #line 176 "parse-tree/oct-parse.cc"
178 # if defined __cplusplus && 201103L <= __cplusplus
179 # define YY_NULL nullptr
186 #ifdef YYERROR_VERBOSE
187 # undef YYERROR_VERBOSE
188 # define YYERROR_VERBOSE 1
190 # define YYERROR_VERBOSE 0
195 #ifndef YY_OCTAVE_PARSE_TREE_OCT_PARSE_H_INCLUDED
196 # define YY_OCTAVE_PARSE_TREE_OCT_PARSE_H_INCLUDED
299 #define LEFTDIV_EQ 262
303 #define ELEFTDIV_EQ 266
307 #define LSHIFT_EQ 270
308 #define RSHIFT_EQ 271
311 #define EXPR_AND_AND 274
312 #define EXPR_OR_OR 275
328 #define HERMITIAN 291
329 #define TRANSPOSE 292
330 #define PLUS_PLUS 293
331 #define MINUS_MINUS 294
336 #define STRUCT_ELT 299
339 #define DQ_STRING 302
340 #define SQ_STRING 303
351 #define OTHERWISE 314
360 #define PERSISTENT 323
361 #define FCN_HANDLE 324
362 #define PROPERTIES 325
365 #define ENUMERATION 328
366 #define METAQUERY 329
367 #define SUPERCLASSREF 330
371 #define END_OF_INPUT 334
372 #define LEXICAL_ERROR 335
373 #define INPUT_FILE 336
379 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
383 #line 152 "parse-tree/oct-parse.yy"
422 #line 423 "parse-tree/oct-parse.cc"
424 # define YYSTYPE_IS_TRIVIAL 1
425 # define yystype YYSTYPE
426 # define YYSTYPE_IS_DECLARED 1
430 #ifndef YYPUSH_MORE_DEFINED
431 # define YYPUSH_MORE_DEFINED
437 #if defined __STDC__ || defined __cplusplus
442 #if defined __STDC__ || defined __cplusplus
447 #if defined __STDC__ || defined __cplusplus
452 #if defined __STDC__ || defined __cplusplus
457 #if defined __STDC__ || defined __cplusplus
468 #line 469 "parse-tree/oct-parse.cc"
482 #elif (defined __STDC__ || defined __C99__FUNC__ \
483 || defined __cplusplus || defined _MSC_VER)
502 # ifdef __SIZE_TYPE__
503 # define YYSIZE_T __SIZE_TYPE__
504 # elif defined size_t
505 # define YYSIZE_T size_t
506 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
507 || defined __cplusplus || defined _MSC_VER)
509 # define YYSIZE_T size_t
511 # define YYSIZE_T unsigned int
515 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
518 # if defined YYENABLE_NLS && YYENABLE_NLS
520 # include <libintl.h>
521 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
525 # define YY_(Msgid) Msgid
529 #ifndef __attribute__
531 # if (! defined __GNUC__ || __GNUC__ < 2 \
532 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
533 # define __attribute__(Spec)
538 #if ! defined lint || defined __GNUC__
539 # define YYUSE(E) ((void) (E))
549 #if (defined __STDC__ || defined __C99__FUNC__ \
550 || defined __cplusplus || defined _MSC_VER)
563 #if ! defined yyoverflow || YYERROR_VERBOSE
567 # ifdef YYSTACK_ALLOC
569 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
570 # ifndef YYSTACK_ALLOC_MAXIMUM
575 # define YYSTACK_ALLOC_MAXIMUM 4032
578 # define YYSTACK_ALLOC YYMALLOC
579 # define YYSTACK_FREE YYFREE
580 # ifndef YYSTACK_ALLOC_MAXIMUM
581 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
583 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
584 && ! ((defined YYMALLOC || defined malloc) \
585 && (defined YYFREE || defined free)))
587 # ifndef EXIT_SUCCESS
588 # define EXIT_SUCCESS 0
592 # define YYMALLOC malloc
593 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
594 || defined __cplusplus || defined _MSC_VER)
600 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
601 || defined __cplusplus || defined _MSC_VER)
609 #if (! defined yyoverflow \
610 && (! defined __cplusplus \
611 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
621 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
625 # define YYSTACK_BYTES(N) \
626 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
627 + YYSTACK_GAP_MAXIMUM)
629 # define YYCOPY_NEEDED 1
636 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
639 YYSIZE_T yynewbytes; \
640 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
641 Stack = &yyptr->Stack_alloc; \
642 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
643 yyptr += yynewbytes / sizeof (*yyptr); \
649 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
653 # if defined __GNUC__ && 1 < __GNUC__
654 # define YYCOPY(Dst, Src, Count) \
655 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
657 # define YYCOPY(Dst, Src, Count) \
661 for (yyi = 0; yyi < (Count); yyi++) \
662 (Dst)[yyi] = (Src)[yyi]; \
675 #define YYNTOKENS 101
681 #define YYNSTATES 514
685 #define YYMAXUTOK 338
687 #define YYTRANSLATE(YYX) \
688 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
693 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
694 93, 2, 2, 2, 2, 2, 2, 2, 2, 2,
695 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
696 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
697 90, 100, 7, 6, 98, 5, 91, 8, 2, 2,
698 2, 2, 2, 2, 2, 2, 2, 2, 4, 96,
699 2, 3, 2, 2, 99, 2, 2, 2, 2, 2,
700 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
701 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
702 2, 94, 2, 95, 2, 2, 2, 2, 2, 2,
703 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
704 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
705 2, 2, 2, 92, 2, 97, 2, 2, 2, 2,
706 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
707 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
708 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
709 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
710 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
711 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
712 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
713 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
714 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
715 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
716 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
717 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
718 2, 2, 2, 2, 2, 2, 1, 2, 9, 10,
719 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
720 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
721 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
722 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
723 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
724 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
725 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
726 81, 82, 83, 84, 85, 86, 87, 88, 89
734 0, 0, 3, 6, 9, 11, 13, 16, 18, 22,
735 23, 25, 28, 30, 34, 36, 38, 40, 43, 45,
736 48, 50, 52, 54, 56, 58, 60, 62, 64, 68,
737 70, 74, 78, 80, 84, 85, 87, 89, 92, 95,
738 99, 102, 107, 109, 111, 113, 115, 117, 119, 121,
739 125, 127, 129, 131, 133, 135, 139, 143, 147, 149,
740 151, 154, 157, 161, 166, 170, 175, 178, 181, 185,
741 191, 194, 197, 200, 203, 206, 210, 214, 218, 222,
742 226, 230, 234, 238, 242, 246, 250, 254, 256, 259,
743 262, 266, 271, 275, 280, 284, 290, 293, 296, 299,
744 302, 305, 307, 309, 313, 315, 319, 323, 327, 331,
745 335, 339, 343, 347, 351, 355, 359, 363, 365, 369,
746 373, 377, 381, 385, 389, 393, 397, 401, 405, 409,
747 413, 417, 421, 425, 427, 429, 431, 433, 435, 437,
748 439, 441, 443, 445, 447, 450, 453, 455, 458, 459,
749 461, 466, 468, 470, 475, 477, 480, 485, 488, 496,
750 501, 508, 509, 511, 513, 516, 518, 521, 529, 534,
751 542, 549, 559, 570, 580, 593, 595, 597, 599, 609,
752 619, 625, 626, 628, 630, 634, 637, 638, 640, 642,
753 646, 648, 650, 653, 655, 659, 661, 665, 670, 673,
754 677, 683, 685, 689, 693, 696, 701, 705, 707, 709,
755 712, 714, 719, 726, 727, 731, 733, 737, 739, 744,
756 747, 748, 750, 755, 758, 764, 768, 770, 772, 774,
757 776, 780, 784, 788, 792, 795, 802, 804, 808, 810,
758 816, 819, 826, 828, 832, 835, 842, 844, 848, 850,
759 853, 860, 862, 866, 871, 872, 873, 875, 877, 879,
760 881, 884, 887, 888, 890, 891, 893, 895, 898, 900,
761 902, 904, 907, 910, 913, 914
767 102, 0, -1, 103, 93, -1, 103, 85, -1, 198,
768 -1, 200, -1, 104, 200, -1, 108, -1, 104, 199,
769 108, -1, -1, 106, -1, 107, 204, -1, 108, -1,
770 107, 203, 108, -1, 135, -1, 136, -1, 109, -1,
771 111, 110, -1, 114, -1, 110, 114, -1, 51, -1,
772 81, -1, 80, -1, 53, -1, 54, -1, 48, -1,
773 49, -1, 114, -1, 94, 117, 95, -1, 120, -1,
774 117, 96, 120, -1, 92, 119, 97, -1, 120, -1,
775 119, 96, 120, -1, -1, 98, -1, 126, -1, 126,
776 98, -1, 98, 126, -1, 98, 126, 98, -1, 99,
777 75, -1, 99, 158, 196, 108, -1, 111, -1, 115,
778 -1, 121, -1, 116, -1, 118, -1, 113, -1, 112,
779 -1, 90, 135, 100, -1, 4, -1, 29, -1, 135,
780 -1, 124, -1, 125, -1, 126, 98, 124, -1, 126,
781 98, 125, -1, 126, 98, 135, -1, 91, -1, 123,
782 -1, 128, 44, -1, 128, 45, -1, 128, 90, 100,
783 -1, 128, 90, 126, 100, -1, 128, 92, 97, -1,
784 128, 92, 126, 97, -1, 128, 42, -1, 128, 43,
785 -1, 128, 127, 50, -1, 128, 127, 90, 135, 100,
786 -1, 44, 128, -1, 45, 128, -1, 29, 128, -1,
787 6, 128, -1, 5, 128, -1, 128, 46, 129, -1,
788 128, 47, 129, -1, 128, 6, 128, -1, 128, 5,
789 128, -1, 128, 7, 128, -1, 128, 8, 128, -1,
790 128, 40, 128, -1, 128, 41, 128, -1, 128, 37,
791 128, -1, 128, 38, 128, -1, 128, 36, 128, -1,
792 128, 39, 128, -1, 123, -1, 129, 44, -1, 129,
793 45, -1, 129, 90, 100, -1, 129, 90, 126, 100,
794 -1, 129, 92, 97, -1, 129, 92, 126, 97, -1,
795 129, 127, 50, -1, 129, 127, 90, 135, 100, -1,
796 44, 129, -1, 45, 129, -1, 29, 129, -1, 6,
797 129, -1, 5, 129, -1, 131, -1, 128, -1, 131,
798 4, 128, -1, 130, -1, 132, 23, 132, -1, 132,
799 24, 132, -1, 132, 30, 132, -1, 132, 31, 132,
800 -1, 132, 32, 132, -1, 132, 34, 132, -1, 132,
801 35, 132, -1, 132, 33, 132, -1, 132, 27, 132,
802 -1, 132, 28, 132, -1, 132, 25, 132, -1, 132,
803 26, 132, -1, 132, -1, 133, 3, 135, -1, 133,
804 9, 135, -1, 133, 10, 135, -1, 133, 11, 135,
805 -1, 133, 12, 135, -1, 133, 13, 135, -1, 133,
806 14, 135, -1, 133, 21, 135, -1, 133, 22, 135,
807 -1, 133, 15, 135, -1, 133, 16, 135, -1, 133,
808 17, 135, -1, 133, 18, 135, -1, 133, 19, 135,
809 -1, 133, 20, 135, -1, 132, -1, 134, -1, 122,
810 -1, 137, -1, 141, -1, 152, -1, 153, -1, 154,
811 -1, 166, -1, 164, -1, 174, -1, 73, 138, -1,
812 74, 138, -1, 140, -1, 138, 140, -1, -1, 111,
813 -1, 111, 3, 139, 135, -1, 142, -1, 147, -1,
814 60, 197, 143, 52, -1, 144, -1, 144, 146, -1,
815 135, 196, 204, 105, -1, 144, 145, -1, 61, 197,
816 204, 135, 196, 204, 105, -1, 62, 197, 204, 105,
817 -1, 63, 197, 135, 204, 148, 52, -1, -1, 151,
818 -1, 149, -1, 149, 151, -1, 150, -1, 149, 150,
819 -1, 64, 197, 204, 135, 196, 204, 105, -1, 65,
820 197, 204, 105, -1, 57, 197, 135, 196, 204, 105,
821 52, -1, 58, 197, 204, 105, 59, 135, -1, 55,
822 197, 133, 3, 135, 196, 204, 105, 52, -1, 55,
823 197, 90, 133, 3, 135, 100, 204, 105, 52, -1,
824 56, 197, 133, 3, 135, 196, 204, 105, 52, -1,
825 56, 197, 90, 133, 3, 135, 98, 135, 100, 204,
826 105, 52, -1, 66, -1, 67, -1, 68, -1, 69,
827 197, 204, 105, 70, 197, 204, 105, 52, -1, 71,
828 197, 204, 105, 72, 197, 204, 105, 52, -1, 71,
829 197, 204, 105, 52, -1, -1, 90, -1, 100, -1,
830 156, 159, 157, -1, 156, 1, -1, -1, 160, -1,
831 161, -1, 160, 98, 161, -1, 140, -1, 125, -1,
832 94, 95, -1, 111, -1, 94, 163, 95, -1, 111,
833 -1, 163, 98, 111, -1, 87, 201, 105, 85, -1,
834 155, 84, -1, 165, 197, 168, -1, 165, 197, 162,
835 3, 168, -1, 111, -1, 82, 91, 111, -1, 83,
836 91, 111, -1, 167, 169, -1, 158, 204, 105, 170,
837 -1, 204, 105, 170, -1, 52, -1, 85, -1, 88,
838 197, -1, 52, -1, 171, 175, 111, 178, -1, 173,
839 204, 180, 204, 197, 172, -1, -1, 90, 176, 100,
840 -1, 177, -1, 176, 98, 177, -1, 111, -1, 111,
841 3, 139, 135, -1, 29, 111, -1, -1, 179, -1,
842 30, 111, 91, 111, -1, 30, 111, -1, 179, 27,
843 111, 91, 111, -1, 179, 27, 111, -1, 182, -1,
844 186, -1, 189, -1, 193, -1, 180, 204, 182, -1,
845 180, 204, 186, -1, 180, 204, 189, -1, 180, 204,
846 193, -1, 76, 197, -1, 181, 175, 204, 183, 204,
847 52, -1, 184, -1, 183, 204, 184, -1, 111, -1,
848 111, 3, 139, 135, 96, -1, 77, 197, -1, 185,
849 175, 204, 187, 204, 52, -1, 166, -1, 187, 204,
850 166, -1, 78, 197, -1, 188, 175, 204, 190, 204,
851 52, -1, 191, -1, 190, 204, 191, -1, 111, -1,
852 79, 197, -1, 192, 175, 204, 194, 204, 52, -1,
853 195, -1, 194, 204, 195, -1, 111, 90, 135, 100,
854 -1, -1, -1, 86, -1, 1, -1, 98, -1, 96,
855 -1, 199, 98, -1, 199, 96, -1, -1, 199, -1,
856 -1, 202, -1, 93, -1, 202, 93, -1, 98, -1,
857 96, -1, 93, -1, 203, 98, -1, 203, 96, -1,
858 203, 93, -1, -1, 203, -1
864 0, 350, 350, 355, 361, 365, 367, 371, 373, 378,
865 379, 383, 387, 389, 393, 395, 397, 409, 420, 422,
866 433, 441, 445, 449, 451, 455, 457, 459, 463, 467,
867 469, 483, 487, 489, 508, 509, 511, 513, 515, 517,
868 521, 528, 535, 537, 539, 541, 546, 548, 550, 552,
869 556, 563, 569, 571, 573, 575, 580, 585, 592, 596,
870 598, 600, 602, 611, 620, 629, 638, 640, 642, 644,
871 646, 648, 650, 652, 654, 656, 658, 660, 662, 664,
872 666, 668, 670, 672, 674, 676, 678, 682, 684, 686,
873 688, 697, 706, 715, 724, 726, 728, 730, 732, 734,
874 736, 740, 744, 746, 757, 759, 761, 763, 765, 767,
875 769, 771, 773, 775, 777, 779, 781, 785, 799, 801,
876 803, 805, 807, 809, 811, 813, 815, 817, 819, 821,
877 823, 825, 827, 831, 846, 848, 856, 858, 860, 862,
878 864, 866, 868, 870, 878, 883, 890, 892, 900, 902,
879 904, 915, 917, 925, 935, 937, 944, 950, 957, 965,
880 973, 984, 985, 987, 989, 996, 998, 1005, 1009, 1019,
881 1029, 1033, 1042, 1051, 1060, 1075, 1077, 1079, 1087, 1096,
882 1105, 1120, 1147, 1160, 1167, 1174, 1183, 1184, 1200, 1202,
883 1209, 1211, 1219, 1225, 1243, 1260, 1262, 1273, 1303, 1312,
884 1318, 1326, 1335, 1341, 1349, 1359, 1361, 1365, 1374, 1414,
885 1421, 1433, 1437, 1442, 1443, 1447, 1449, 1453, 1455, 1457,
886 1463, 1464, 1468, 1470, 1472, 1474, 1478, 1480, 1482, 1484,
887 1486, 1488, 1490, 1492, 1496, 1501, 1506, 1508, 1512, 1514,
888 1518, 1522, 1526, 1528, 1532, 1536, 1540, 1542, 1546, 1550,
889 1554, 1558, 1560, 1564, 1573, 1577, 1580, 1582, 1585, 1587,
890 1589, 1591, 1596, 1597, 1602, 1603, 1607, 1609, 1613, 1615,
891 1617, 1619, 1621, 1623, 1628, 1629
895 #if YYDEBUG || YYERROR_VERBOSE || 0
900 "$end",
"error",
"$undefined",
"'='",
"':'",
"'-'",
"'+'",
"'*'",
"'/'",
901 "ADD_EQ",
"SUB_EQ",
"MUL_EQ",
"DIV_EQ",
"LEFTDIV_EQ",
"POW_EQ",
902 "EMUL_EQ",
"EDIV_EQ",
"ELEFTDIV_EQ",
"EPOW_EQ",
"AND_EQ",
"OR_EQ",
903 "LSHIFT_EQ",
"RSHIFT_EQ",
"LSHIFT",
"RSHIFT",
"EXPR_AND_AND",
904 "EXPR_OR_OR",
"EXPR_AND",
"EXPR_OR",
"EXPR_NOT",
"EXPR_LT",
"EXPR_LE",
905 "EXPR_EQ",
"EXPR_NE",
"EXPR_GE",
"EXPR_GT",
"LEFTDIV",
"EMUL",
"EDIV",
906 "ELEFTDIV",
"EPLUS",
"EMINUS",
"HERMITIAN",
"TRANSPOSE",
"PLUS_PLUS",
907 "MINUS_MINUS",
"POW",
"EPOW",
"NUM",
"IMAG_NUM",
"STRUCT_ELT",
"NAME",
908 "END",
"DQ_STRING",
"SQ_STRING",
"FOR",
"PARFOR",
"WHILE",
"DO",
"UNTIL",
909 "IF",
"ELSEIF",
"ELSE",
"SWITCH",
"CASE",
"OTHERWISE",
"BREAK",
910 "CONTINUE",
"FUNC_RET",
"UNWIND",
"CLEANUP",
"TRY",
"CATCH",
"GLOBAL",
911 "PERSISTENT",
"FCN_HANDLE",
"PROPERTIES",
"METHODS",
"EVENTS",
912 "ENUMERATION",
"METAQUERY",
"SUPERCLASSREF",
"GET",
"SET",
"FCN",
913 "END_OF_INPUT",
"LEXICAL_ERROR",
"INPUT_FILE",
"CLASSDEF",
"UNARY",
914 "'('",
"'.'",
"'{'",
"'\\n'",
"'['",
"']'",
"';'",
"'}'",
"','",
"'@'",
915 "')'",
"$accept",
"input",
"simple_list",
"simple_list1",
"opt_list",
916 "list",
"list1",
"statement",
"word_list_cmd",
"word_list",
"identifier",
917 "superclass_identifier",
"meta_identifier",
"string",
"constant",
918 "matrix",
"matrix_rows",
"cell",
"cell_rows",
"cell_or_matrix_row",
919 "fcn_handle",
"anon_fcn_handle",
"primary_expr",
"magic_colon",
920 "magic_tilde",
"arg_list",
"indirect_ref_op",
"oper_expr",
"power_expr",
921 "colon_expr",
"colon_expr1",
"simple_expr",
"assign_lhs",
"assign_expr",
922 "expression",
"command",
"declaration",
"decl1",
"decl_param_init",
923 "decl2",
"select_command",
"if_command",
"if_cmd_list",
"if_cmd_list1",
924 "elseif_clause",
"else_clause",
"switch_command",
"case_list",
925 "case_list1",
"switch_case",
"default_case",
"loop_command",
926 "jump_command",
"except_command",
"push_fcn_symtab",
"param_list_beg",
927 "param_list_end",
"param_list",
"param_list1",
"param_list2",
928 "param_list_elt",
"return_list",
"return_list1",
"file",
"function_beg",
929 "function",
"fcn_name",
"function1",
"function2",
"function_end",
930 "classdef_beg",
"classdef_end",
"classdef1",
"classdef",
"opt_attr_list",
931 "attr_list",
"attr",
"opt_superclasses",
"superclasses",
"class_body",
932 "properties_beg",
"properties_block",
"properties_list",
933 "class_property",
"methods_beg",
"methods_block",
"methods_list",
934 "events_beg",
"events_block",
"events_list",
"class_event",
"enum_beg",
935 "enum_block",
"enum_list",
"class_enum",
"stmt_begin",
"stash_comment",
936 "parse_error",
"sep_no_nl",
"opt_sep_no_nl",
"opt_nl",
"nl",
"sep",
946 0, 256, 257, 61, 58, 45, 43, 42, 47, 258,
947 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
948 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
949 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
950 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
951 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
952 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
953 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
954 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
955 40, 46, 123, 10, 91, 93, 59, 125, 44, 64,
963 0, 101, 102, 102, 102, 103, 103, 104, 104, 105,
964 105, 106, 107, 107, 108, 108, 108, 109, 110, 110,
965 111, 112, 113, 114, 114, 115, 115, 115, 116, 117,
966 117, 118, 119, 119, 120, 120, 120, 120, 120, 120,
967 121, 122, 123, 123, 123, 123, 123, 123, 123, 123,
968 124, 125, 126, 126, 126, 126, 126, 126, 127, 128,
969 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
970 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
971 128, 128, 128, 128, 128, 128, 128, 129, 129, 129,
972 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
973 129, 130, 131, 131, 132, 132, 132, 132, 132, 132,
974 132, 132, 132, 132, 132, 132, 132, 133, 134, 134,
975 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
976 134, 134, 134, 135, 135, 135, 136, 136, 136, 136,
977 136, 136, 136, 136, 137, 137, 138, 138, 139, 140,
978 140, 141, 141, 142, 143, 143, 144, 144, 145, 146,
979 147, 148, 148, 148, 148, 149, 149, 150, 151, 152,
980 152, 152, 152, 152, 152, 153, 153, 153, 154, 154,
981 154, 155, 156, 157, 158, 158, 159, 159, 160, 160,
982 161, 161, 162, 162, 162, 163, 163, 164, 165, 166,
983 166, 167, 167, 167, 168, 169, 169, 170, 170, 171,
984 172, 173, 174, 175, 175, 176, 176, 177, 177, 177,
985 178, 178, 179, 179, 179, 179, 180, 180, 180, 180,
986 180, 180, 180, 180, 181, 182, 183, 183, 184, 184,
987 185, 186, 187, 187, 188, 189, 190, 190, 191, 192,
988 193, 194, 194, 195, 196, 197, 198, 198, 199, 199,
989 199, 199, 200, 200, 201, 201, 202, 202, 203, 203,
990 203, 203, 203, 203, 204, 204
996 0, 2, 2, 2, 1, 1, 2, 1, 3, 0,
997 1, 2, 1, 3, 1, 1, 1, 2, 1, 2,
998 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
999 3, 3, 1, 3, 0, 1, 1, 2, 2, 3,
1000 2, 4, 1, 1, 1, 1, 1, 1, 1, 3,
1001 1, 1, 1, 1, 1, 3, 3, 3, 1, 1,
1002 2, 2, 3, 4, 3, 4, 2, 2, 3, 5,
1003 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
1004 3, 3, 3, 3, 3, 3, 3, 1, 2, 2,
1005 3, 4, 3, 4, 3, 5, 2, 2, 2, 2,
1006 2, 1, 1, 3, 1, 3, 3, 3, 3, 3,
1007 3, 3, 3, 3, 3, 3, 3, 1, 3, 3,
1008 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1009 3, 3, 3, 1, 1, 1, 1, 1, 1, 1,
1010 1, 1, 1, 1, 2, 2, 1, 2, 0, 1,
1011 4, 1, 1, 4, 1, 2, 4, 2, 7, 4,
1012 6, 0, 1, 1, 2, 1, 2, 7, 4, 7,
1013 6, 9, 10, 9, 12, 1, 1, 1, 9, 9,
1014 5, 0, 1, 1, 3, 2, 0, 1, 1, 3,
1015 1, 1, 2, 1, 3, 1, 3, 4, 2, 3,
1016 5, 1, 3, 3, 2, 4, 3, 1, 1, 2,
1017 1, 4, 6, 0, 3, 1, 3, 1, 4, 2,
1018 0, 1, 4, 2, 5, 3, 1, 1, 1, 1,
1019 3, 3, 3, 3, 2, 6, 1, 3, 1, 5,
1020 2, 6, 1, 3, 2, 6, 1, 3, 1, 2,
1021 6, 1, 3, 4, 0, 0, 1, 1, 1, 1,
1022 2, 2, 0, 1, 0, 1, 1, 2, 1, 1,
1031 0, 257, 0, 0, 0, 0, 0, 25, 26, 20,
1032 23, 24, 255, 255, 255, 255, 255, 255, 175, 176,
1033 177, 255, 255, 0, 0, 22, 21, 256, 264, 255,
1034 0, 34, 34, 259, 258, 0, 0, 0, 262, 7,
1035 16, 42, 48, 47, 27, 43, 45, 46, 44, 135,
1036 59, 102, 104, 101, 133, 0, 134, 14, 15, 136,
1037 137, 151, 152, 138, 139, 140, 0, 142, 255, 141,
1038 213, 274, 143, 4, 263, 5, 0, 42, 74, 73,
1039 72, 70, 71, 0, 0, 0, 274, 0, 0, 274,
1040 274, 149, 144, 146, 145, 266, 9, 265, 209, 0,
1041 50, 51, 35, 0, 32, 53, 54, 36, 52, 0,
1042 29, 40, 182, 0, 254, 1, 3, 2, 263, 6,
1043 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1044 0, 0, 66, 67, 60, 61, 0, 0, 0, 58,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1048 198, 0, 0, 0, 270, 269, 268, 275, 0, 261,
1049 260, 0, 117, 0, 0, 0, 254, 9, 254, 0,
1050 154, 274, 9, 9, 148, 147, 0, 10, 274, 12,
1051 267, 49, 38, 34, 31, 37, 28, 34, 185, 51,
1052 191, 190, 0, 187, 188, 181, 8, 19, 78, 77,
1053 79, 80, 85, 83, 84, 86, 81, 82, 0, 0,
1054 0, 0, 0, 87, 75, 76, 62, 0, 64, 0,
1055 68, 0, 103, 105, 106, 115, 116, 113, 114, 107,
1056 108, 109, 112, 110, 111, 118, 119, 120, 121, 122,
1057 123, 124, 127, 128, 129, 130, 131, 132, 125, 126,
1058 0, 0, 0, 201, 0, 274, 199, 0, 217, 0,
1059 215, 220, 273, 272, 271, 255, 255, 255, 255, 274,
1060 213, 226, 213, 227, 213, 228, 213, 229, 0, 0,
1061 0, 0, 274, 0, 274, 153, 255, 255, 157, 155,
1062 161, 0, 0, 0, 197, 275, 11, 39, 33, 55,
1063 56, 57, 30, 183, 184, 0, 41, 100, 99, 98,
1064 96, 97, 88, 89, 0, 0, 0, 0, 63, 65,
1065 0, 0, 0, 192, 195, 0, 0, 274, 204, 9,
1066 219, 148, 0, 214, 0, 211, 221, 234, 240, 244,
1067 249, 255, 274, 274, 274, 274, 0, 254, 0, 254,
1068 9, 0, 9, 274, 274, 255, 255, 0, 163, 165,
1069 162, 255, 180, 255, 150, 13, 189, 90, 0, 92,
1070 0, 94, 0, 69, 202, 203, 194, 0, 201, 200,
1071 9, 0, 0, 216, 223, 0, 230, 231, 232, 233,
1072 0, 0, 181, 0, 0, 0, 274, 118, 274, 0,
1073 170, 156, 0, 9, 274, 274, 160, 166, 164, 274,
1074 274, 91, 93, 0, 196, 0, 207, 208, 206, 218,
1075 0, 225, 210, 212, 238, 274, 236, 242, 274, 248,
1076 274, 246, 0, 274, 251, 274, 9, 0, 9, 169,
1077 254, 159, 0, 9, 9, 9, 95, 205, 222, 0,
1078 148, 0, 181, 0, 0, 0, 9, 0, 0, 0,
1079 274, 254, 168, 0, 0, 224, 0, 235, 237, 241,
1080 243, 245, 247, 0, 250, 252, 0, 171, 274, 173,
1081 9, 274, 178, 179, 0, 253, 172, 9, 158, 9,
1088 -1, 36, 37, 38, 196, 197, 198, 199, 40, 120,
1089 77, 42, 43, 44, 45, 46, 109, 47, 103, 104,
1090 48, 49, 50, 105, 106, 107, 141, 51, 234, 52,
1091 53, 54, 55, 56, 57, 58, 59, 92, 313, 93,
1092 60, 61, 189, 190, 308, 309, 62, 377, 378, 379,
1093 380, 63, 64, 65, 66, 113, 324, 114, 212, 213,
1094 214, 274, 345, 67, 68, 69, 275, 276, 348, 438,
1095 70, 443, 71, 72, 173, 279, 280, 355, 356, 289,
1096 290, 291, 445, 446, 292, 293, 448, 294, 295, 450,
1097 451, 296, 297, 453, 454, 215, 83, 73, 74, 75,
1103 #define YYPACT_NINF -400
1106 547, -400, 1093, 1093, 1093, 1093, 1093, -400, -400, -400,
1107 -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
1108 -400, -400, -400, -15, -15, -400, -400, -400, -36, -400,
1109 1110, 686, 686, -400, -400, -31, 67, -45, 16, -400,
1110 -400, -8, -400, -400, -400, -400, -400, -400, -400, -400,
1111 -400, 1264, -400, 68, 1309, 1348, -400, -400, -400, -400,
1112 -400, -400, -400, -400, -400, -400, 22, -400, -400, -400,
1113 38, 28, -400, -400, 79, -400, 7, -400, 19, 19,
1114 19, 19, 19, 1127, 1183, 1110, 28, 1110, 1110, 28,
1115 28, 83, -15, -400, -15, -400, 981, 64, -400, 74,
1116 -400, 1093, 816, -44, -400, -400, -400, 88, -400, 2,
1117 -400, -400, -400, 20, -400, -400, -400, -400, 925, -400,
1118 -8, -400, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1119 1093, 1093, -400, -400, -400, -400, 1200, 1200, 618, -400,
1120 720, -13, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1121 1093, 1093, 1093, 1093, 1093, 1110, 1110, 1110, 1110, 1110,
1122 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
1123 -400, 5, -4, -15, -400, -400, -400, 72, 112, -400,
1124 -400, 1110, 231, 164, 1110, 178, -400, 981, -400, 146,
1125 61, 28, 981, 981, -400, -400, 129, -400, 28, -400,
1126 -400, -400, 119, 686, -400, 816, -400, 686, -400, -400,
1127 -400, -400, 121, 126, -400, 1037, -400, -400, 245, 245,
1128 19, 19, 19, 19, 19, 19, 245, 245, 1200, 1200,
1129 1200, 1200, 1200, -400, -12, -12, -400, 96, -400, 55,
1130 -400, 1110, 1264, -400, -400, 299, 279, 332, 199, 155,
1131 155, 155, 155, 155, 155, -400, -400, -400, -400, -400,
1132 -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
1133 151, 157, -37, 243, 247, 37, -400, -15, 268, 97,
1134 -400, 250, -400, -400, -400, -400, -400, -400, -400, 28,
1135 38, -400, 38, -400, 38, -400, 38, -400, 1368, 1110,
1136 1388, 1110, 28, 216, 28, -400, -400, -400, -400, -400,
1137 173, 223, -2, 1110, -400, 869, -400, 816, -400, -400,
1138 -400, -400, -400, -400, -400, 9, -400, -12, -12, -12,
1139 -12, -12, -400, -400, 652, 754, -7, 816, -400, -400,
1140 186, -15, -15, -400, -400, 71, 34, 28, -400, 981,
1141 -400, -400, -4, -400, -15, -400, 267, -400, -400, -400,
1142 -400, 112, 28, 28, 28, 28, 1110, -400, 1110, -400,
1143 981, 1110, 981, 28, 28, -400, -400, 244, 173, -400,
1144 -400, -400, -400, -400, -400, -400, -400, -400, 120, -400,
1145 143, -400, 1110, -400, -400, -400, -400, -15, -400, -400,
1146 981, -1, 1110, -400, 204, -15, -400, -400, -400, -400,
1147 253, -15, -400, -15, -15, 208, 28, 219, 28, 266,
1148 -400, -400, 1110, 981, 28, 28, -400, -400, -400, 28,
1149 28, -400, -400, 221, -400, -1, -400, -400, -400, -400,
1150 -15, 233, -400, -400, 325, 28, -400, -400, 28, -400,
1151 28, -400, 248, 28, -400, 28, 981, 1110, 981, -400,
1152 -400, -400, 1110, 981, 981, 981, -400, -400, -400, -15,
1153 -400, 193, 287, 218, 1110, 227, 981, 288, 251, 295,
1154 28, -400, -400, 296, 298, -400, 1110, -400, -400, -400,
1155 -400, -400, -400, 259, -400, -400, 301, -400, 28, -400,
1156 981, 28, -400, -400, 264, -400, -400, 981, -400, 981,
1157 -400, 316, -400, -400
1163 -400, -400, -400, -400, 81, -400, -400, 1, -400, -400,
1164 0, -400, -400, -30, -400, -400, -400, -400, -400, -27,
1165 -400, -400, -68, -183, -98, -99, -180, 14, -128, -400,
1166 -400, 740, -76, -400, 44, -400, -400, 345, -345, -82,
1167 -400, -400, -400, -400, -400, -400, -400, -400, -400, -3,
1168 4, -400, -400, -400, -400, -400, -400, 101, -400, -400,
1169 52, -400, -400, -400, -400, -399, -400, 39, -400, -55,
1170 -400, -400, -400, -400, -201, -400, 31, -400, -400, -400,
1171 -400, 23, -400, -85, -400, 26, -400, -400, 29, -400,
1172 -81, -400, 30, -400, -80, -184, 13, -400, 355, 360,
1179 #define YYTABLE_NINF -263
1182 41, 39, 302, 202, 304, 110, 402, 183, 185, 235,
1183 195, 121, 195, 447, 9, 210, 78, 79, 80, 81,
1184 82, 208, 319, 91, 91, 277, 84, 85, 86, 87,
1185 88, 211, 332, 333, 89, 90, 9, 240, 209, 237,
1186 116, 239, 98, 391, 111, 10, 11, 9, 117, 209,
1187 382, 436, 203, 204, 336, 336, 9, 95, 343, 112,
1188 9, 132, 133, 134, 135, 136, 137, 115, 233, 233,
1189 383, 9, 142, 490, 99, 108, 108, 241, 334, 139,
1190 335, 171, 111, 392, 437, 9, 194, 270, 271, 362,
1191 217, 363, 91, 364, 91, 365, 41, 206, 207, 272,
1192 327, 328, 329, 330, 331, 298, 170, 320, 300, 138,
1193 139, 140, 33, 91, 34, 80, 270, 271, 41, 216,
1194 -186, 174, 306, 307, 175, 486, 176, 112, 172, 186,
1195 174, 188, 191, 175, 319, 176, 218, 219, 220, 221,
1196 222, 223, 224, 225, 226, 227, 108, 336, 336, 336,
1197 336, 336, 339, 337, 319, 187, 242, 200, 192, 193,
1198 233, 233, 233, 233, 233, 282, 396, 299, 283, 397,
1199 284, 273, 278, 281, 201, 179, 318, 180, 143, 144,
1200 322, 301, 108, 416, 108, 418, 205, 41, 285, 286,
1201 287, 288, 41, 41, 337, 352, 338, 353, 305, 255,
1202 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1203 266, 267, 268, 269, 314, 41, 326, 317, 337, 320,
1204 431, 323, 143, 144, 325, 99, 147, 210, 99, 149,
1205 150, 151, 152, 153, 154, 388, 390, 375, 376, 320,
1206 432, 337, 341, 211, 9, 487, -193, 108, 342, 321,
1207 346, 108, 124, 125, 143, 144, 145, 146, 147, 148,
1208 310, 149, 150, 151, 152, 153, 154, 316, 303, 9,
1209 491, 351, 344, 311, 312, 371, 480, 350, 9, 494,
1210 354, 126, 127, 128, 129, 340, 393, 132, 133, 134,
1211 135, 136, 137, 381, 405, 440, 426, 501, 357, 358,
1212 359, 360, 143, 144, 145, 442, 147, 148, 455, 149,
1213 150, 151, 152, 153, 154, 41, 385, 457, 459, 373,
1214 374, 466, 143, 144, 469, 91, 147, 148, 470, 149,
1215 150, 151, 152, 153, 154, 138, 139, 140, 474, 489,
1216 497, 394, 395, 367, 349, 369, 398, 499, 502, 41,
1217 503, 498, 278, 506, 404, 143, 144, 384, 361, 505,
1218 510, 321, 149, 150, 151, 152, 153, 154, 513, 94,
1219 41, 370, 41, 372, 410, 427, 347, 386, 108, 108,
1220 467, 321, 428, 403, 406, 399, 488, 407, 424, 425,
1221 408, 409, 492, 118, 429, 495, 430, 434, 119, 315,
1222 41, 0, 0, 0, 0, 441, 0, 0, 0, 0,
1223 415, 444, 417, 449, 452, 420, 400, 0, 0, 0,
1224 0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
1225 401, 411, 412, 413, 414, 0, 433, 0, 0, 0,
1226 468, 0, 422, 423, 0, 0, 439, 0, 0, 0,
1227 0, 419, 0, 421, 0, 0, 41, 0, 41, 0,
1228 0, 0, 0, 41, 41, 41, 460, 0, 0, 485,
1229 0, 444, 0, 449, 0, 452, 41, 0, 0, 0,
1230 0, 435, 0, 0, 0, 456, 0, 458, 0, 0,
1231 0, 0, 0, 462, 463, 0, 0, 0, 464, 465,
1232 41, 478, 0, 0, 461, 0, 481, 41, 0, 41,
1233 0, 0, 0, 0, 471, 0, 0, 472, 493, 473,
1234 0, 0, 475, 0, 476, 0, 0, 0, 0, 0,
1235 504, 0, 0, 0, 0, 0, 0, 477, 0, 479,
1236 0, 0, 0, 0, 482, 483, 484, 0, 1, 500,
1237 0, 0, 2, 3, 0, 0, 0, 496, 0, 0,
1238 0, 0, 0, 0, 0, 0, 0, 507, 0, 0,
1239 509, 0, 0, 0, 0, 0, 4, 0, 0, 0,
1240 0, 508, 0, 0, 0, 0, 0, 0, 511, 0,
1241 512, 5, 6, 0, 0, 7, 8, 0, 9, 0,
1242 10, 11, 12, 13, 14, 15, 0, 16, 0, 0,
1243 17, 0, 0, 18, 19, 20, 21, 0, 22, 0,
1244 23, 24, 100, 2, 3, 0, 0, 25, 26, 0,
1245 0, -181, -262, 27, 28, 29, 0, 30, 0, 31,
1246 -262, 32, 0, 33, 0, 34, 35, 101, 0, 0,
1247 0, 0, 0, 0, 0, 0, 100, 2, 3, 0,
1248 0, 0, 5, 6, 0, 0, 7, 8, 0, 9,
1249 0, 10, 11, 0, 0, 0, 0, 0, 0, 0,
1250 0, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1251 100, 2, 3, 0, 0, 0, 5, 6, 25, 26,
1252 7, 8, 0, 9, 0, 10, 11, 0, 30, 0,
1253 31, 0, 32, 0, 0, 101, 0, 35, 236, 0,
1254 0, 0, 0, 0, 100, 2, 3, 0, 0, 0,
1255 5, 6, 25, 26, 7, 8, 0, 9, 0, 10,
1256 11, 0, 30, 0, 31, 0, 32, 0, 0, 101,
1257 0, 35, 387, 0, 0, 0, 0, 0, 100, 2,
1258 3, 0, 0, 0, 5, 6, 25, 26, 7, 8,
1259 0, 9, 0, 10, 11, 0, 30, 0, 31, 0,
1260 32, 0, 0, 101, 102, 35, 0, 0, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0, 5, 6,
1262 25, 26, 7, 8, 0, 9, 0, 10, 11, 0,
1263 30, 0, 31, 0, 32, 0, 0, 238, 0, 35,
1264 100, 2, 3, 182, 182, 0, 0, 0, 0, 0,
1265 0, 0, 0, 0, 25, 26, 0, 0, 0, 0,
1266 0, 0, 0, 0, 30, 101, 31, 0, 32, 0,
1267 0, 389, 0, 35, 0, 0, 0, 0, 0, 0,
1268 5, 6, 0, 0, 7, 8, 0, 9, 0, 10,
1269 11, 0, 0, 0, 2, 3, 0, 0, 0, 0,
1270 0, 0, 0, 243, 244, 245, 246, 247, 248, 249,
1271 250, 251, 252, 253, 254, 0, 25, 26, 4, 0,
1272 0, 0, 0, 0, 0, 0, 30, 0, 31, 0,
1273 32, 0, 0, 5, 6, 35, 0, 7, 8, 0,
1274 9, 0, 10, 11, 12, 13, 14, 15, 0, 16,
1275 2, 3, 17, 0, 0, 18, 19, 20, 21, 0,
1276 22, 0, 23, 24, 0, 0, 0, 0, 0, 25,
1277 26, 0, 0, -181, 4, 0, 28, 29, 0, 30,
1278 0, 31, 282, 32, 0, 283, 0, 284, 35, 5,
1279 6, 0, 0, 7, 8, 0, 9, 0, 10, 11,
1280 12, 13, 14, 15, 0, 16, 2, 3, 17, 0,
1281 0, 18, 19, 20, 21, 0, 22, 0, 23, 24,
1282 0, 0, 0, 0, 0, 25, 26, 0, 0, -181,
1283 4, 0, 28, 29, 0, 30, 0, 31, 0, 32,
1284 0, 179, 0, 180, 35, 5, 6, 0, 0, 7,
1285 8, 0, 9, 0, 10, 11, 12, 13, 14, 15,
1286 0, 16, 2, 3, 17, 0, 0, 18, 19, 20,
1287 21, 0, 22, 0, 23, 24, 0, 0, 0, 0,
1288 0, 25, 26, 0, 0, -181, 4, 0, 28, 29,
1289 0, 30, 0, 31, 0, 32, 0, 0, 0, 0,
1290 35, 5, 6, 0, 0, 7, 8, 0, 9, 0,
1291 10, 11, 12, 13, 14, 15, 0, 16, 2, 3,
1292 17, 0, 0, 18, 19, 20, 21, 0, 22, 0,
1293 23, 24, 0, 0, 0, 2, 3, 25, 26, 0,
1294 0, 0, 4, 0, 28, 29, 0, 30, 0, 31,
1295 0, 32, 2, 3, 0, 0, 35, 5, 6, 4,
1296 0, 7, 8, 0, 9, 0, 10, 11, 0, 0,
1297 0, 0, 0, 0, 5, 6, 4, 0, 7, 8,
1298 0, 9, 0, 10, 11, 0, 0, 0, 0, 0,
1299 0, 5, 6, 25, 26, 7, 8, 0, 9, 0,
1300 10, 11, 0, 30, 0, 31, 0, 32, 2, 3,
1301 25, 26, 76, 0, 0, 0, 0, 0, 0, 0,
1302 30, 0, 31, 0, 32, 228, 229, 25, 26, 35,
1303 0, 0, 4, 0, 0, 0, 0, 181, 0, 31,
1304 0, 32, 0, 0, 0, 0, 76, 5, 6, 230,
1305 0, 7, 8, 0, 9, 0, 10, 11, 0, 0,
1306 0, 0, 0, 0, 231, 232, 0, 0, 7, 8,
1307 0, 9, 0, 10, 11, 0, 0, 0, 0, 0,
1308 0, 0, 0, 25, 26, 0, 0, 0, 0, 122,
1309 123, 124, 125, 184, 0, 31, 0, 32, 0, 0,
1310 25, 26, 76, 0, 0, 0, 0, 0, 0, 0,
1311 30, 0, 31, 0, 32, 0, 0, 0, 0, 76,
1312 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1313 136, 137, -117, 0, 0, 0, 0, 0, -117, -117,
1314 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
1315 -117, -117, 143, 144, 145, 146, 147, 148, 0, 149,
1316 150, 151, 152, 153, 154, 0, 0, 0, 0, 0,
1317 0, 155, 0, 0, 138, 139, 140, 156, 157, 158,
1318 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1319 169, 366, 0, 0, 0, 0, 0, 156, 157, 158,
1320 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1321 169, 368, 0, 0, 0, 0, 0, 156, 157, 158,
1322 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1326 #define yypact_value_is_default(Yystate) \
1327 (!!((Yystate) == (-400)))
1329 #define yytable_value_is_error(Yytable_value) \
1334 0, 0, 186, 102, 188, 32, 351, 83, 84, 137,
1335 92, 41, 94, 412, 51, 113, 2, 3, 4, 5,
1336 6, 1, 205, 23, 24, 29, 13, 14, 15, 16,
1337 17, 113, 44, 45, 21, 22, 51, 50, 29, 138,
1338 85, 140, 29, 50, 75, 53, 54, 51, 93, 29,
1339 52, 52, 96, 97, 234, 235, 51, 93, 95, 90,
1340 51, 42, 43, 44, 45, 46, 47, 0, 136, 137,
1341 72, 51, 4, 472, 30, 31, 32, 90, 90, 91,
1342 92, 68, 75, 90, 85, 51, 3, 82, 83, 290,
1343 120, 292, 92, 294, 94, 296, 96, 95, 96, 94,
1344 228, 229, 230, 231, 232, 181, 84, 205, 184, 90,
1345 91, 92, 96, 113, 98, 101, 82, 83, 118, 118,
1346 100, 93, 61, 62, 96, 470, 98, 90, 90, 85,
1347 93, 87, 88, 96, 317, 98, 122, 123, 124, 125,
1348 126, 127, 128, 129, 130, 131, 102, 327, 328, 329,
1349 330, 331, 97, 98, 337, 86, 142, 93, 89, 90,
1350 228, 229, 230, 231, 232, 93, 95, 3, 96, 98,
1351 98, 171, 172, 173, 100, 96, 203, 98, 23, 24,
1352 207, 3, 138, 367, 140, 369, 98, 187, 76, 77,
1353 78, 79, 192, 193, 98, 98, 100, 100, 52, 155,
1354 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1355 166, 167, 168, 169, 85, 215, 215, 98, 98, 317,
1356 100, 100, 23, 24, 98, 181, 27, 325, 184, 30,
1357 31, 32, 33, 34, 35, 334, 335, 64, 65, 337,
1358 97, 98, 91, 325, 51, 52, 3, 203, 91, 205,
1359 3, 207, 7, 8, 23, 24, 25, 26, 27, 28,
1360 191, 30, 31, 32, 33, 34, 35, 198, 187, 51,
1361 52, 3, 272, 192, 193, 59, 460, 277, 51, 52,
1362 30, 36, 37, 38, 39, 241, 100, 42, 43, 44,
1363 45, 46, 47, 70, 27, 91, 52, 481, 285, 286,
1364 287, 288, 23, 24, 25, 52, 27, 28, 100, 30,
1365 31, 32, 33, 34, 35, 315, 315, 98, 52, 306,
1366 307, 100, 23, 24, 91, 325, 27, 28, 3, 30,
1367 31, 32, 33, 34, 35, 90, 91, 92, 90, 52,
1368 52, 341, 342, 299, 275, 301, 346, 52, 52, 349,
1369 52, 100, 352, 52, 354, 23, 24, 313, 289, 100,
1370 96, 317, 30, 31, 32, 33, 34, 35, 52, 24,
1371 370, 302, 372, 304, 361, 378, 275, 325, 334, 335,
1372 435, 337, 378, 352, 361, 346, 471, 361, 375, 376,
1373 361, 361, 473, 38, 381, 475, 383, 397, 38, 198,
1374 400, -1, -1, -1, -1, 405, -1, -1, -1, -1,
1375 366, 411, 368, 413, 414, 371, 347, -1, -1, -1,
1376 -1, -1, -1, 423, -1, -1, -1, -1, -1, -1,
1377 349, 362, 363, 364, 365, -1, 392, -1, -1, -1,
1378 440, -1, 373, 374, -1, -1, 402, -1, -1, -1,
1379 -1, 370, -1, 372, -1, -1, 456, -1, 458, -1,
1380 -1, -1, -1, 463, 464, 465, 422, -1, -1, 469,
1381 -1, 471, -1, 473, -1, 475, 476, -1, -1, -1,
1382 -1, 400, -1, -1, -1, 416, -1, 418, -1, -1,
1383 -1, -1, -1, 424, 425, -1, -1, -1, 429, 430,
1384 500, 457, -1, -1, 423, -1, 462, 507, -1, 509,
1385 -1, -1, -1, -1, 445, -1, -1, 448, 474, 450,
1386 -1, -1, 453, -1, 455, -1, -1, -1, -1, -1,
1387 486, -1, -1, -1, -1, -1, -1, 456, -1, 458,
1388 -1, -1, -1, -1, 463, 464, 465, -1, 1, 480,
1389 -1, -1, 5, 6, -1, -1, -1, 476, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, 498, -1, -1,
1391 501, -1, -1, -1, -1, -1, 29, -1, -1, -1,
1392 -1, 500, -1, -1, -1, -1, -1, -1, 507, -1,
1393 509, 44, 45, -1, -1, 48, 49, -1, 51, -1,
1394 53, 54, 55, 56, 57, 58, -1, 60, -1, -1,
1395 63, -1, -1, 66, 67, 68, 69, -1, 71, -1,
1396 73, 74, 4, 5, 6, -1, -1, 80, 81, -1,
1397 -1, 84, 85, 86, 87, 88, -1, 90, -1, 92,
1398 93, 94, -1, 96, -1, 98, 99, 29, -1, -1,
1399 -1, -1, -1, -1, -1, -1, 4, 5, 6, -1,
1400 -1, -1, 44, 45, -1, -1, 48, 49, -1, 51,
1401 -1, 53, 54, -1, -1, -1, -1, -1, -1, -1,
1402 -1, 29, -1, -1, -1, -1, -1, -1, -1, -1,
1403 4, 5, 6, -1, -1, -1, 44, 45, 80, 81,
1404 48, 49, -1, 51, -1, 53, 54, -1, 90, -1,
1405 92, -1, 94, -1, -1, 29, -1, 99, 100, -1,
1406 -1, -1, -1, -1, 4, 5, 6, -1, -1, -1,
1407 44, 45, 80, 81, 48, 49, -1, 51, -1, 53,
1408 54, -1, 90, -1, 92, -1, 94, -1, -1, 29,
1409 -1, 99, 100, -1, -1, -1, -1, -1, 4, 5,
1410 6, -1, -1, -1, 44, 45, 80, 81, 48, 49,
1411 -1, 51, -1, 53, 54, -1, 90, -1, 92, -1,
1412 94, -1, -1, 29, 98, 99, -1, -1, -1, -1,
1413 -1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
1414 80, 81, 48, 49, -1, 51, -1, 53, 54, -1,
1415 90, -1, 92, -1, 94, -1, -1, 97, -1, 99,
1416 4, 5, 6, 83, 84, -1, -1, -1, -1, -1,
1417 -1, -1, -1, -1, 80, 81, -1, -1, -1, -1,
1418 -1, -1, -1, -1, 90, 29, 92, -1, 94, -1,
1419 -1, 97, -1, 99, -1, -1, -1, -1, -1, -1,
1420 44, 45, -1, -1, 48, 49, -1, 51, -1, 53,
1421 54, -1, -1, -1, 5, 6, -1, -1, -1, -1,
1422 -1, -1, -1, 143, 144, 145, 146, 147, 148, 149,
1423 150, 151, 152, 153, 154, -1, 80, 81, 29, -1,
1424 -1, -1, -1, -1, -1, -1, 90, -1, 92, -1,
1425 94, -1, -1, 44, 45, 99, -1, 48, 49, -1,
1426 51, -1, 53, 54, 55, 56, 57, 58, -1, 60,
1427 5, 6, 63, -1, -1, 66, 67, 68, 69, -1,
1428 71, -1, 73, 74, -1, -1, -1, -1, -1, 80,
1429 81, -1, -1, 84, 29, -1, 87, 88, -1, 90,
1430 -1, 92, 93, 94, -1, 96, -1, 98, 99, 44,
1431 45, -1, -1, 48, 49, -1, 51, -1, 53, 54,
1432 55, 56, 57, 58, -1, 60, 5, 6, 63, -1,
1433 -1, 66, 67, 68, 69, -1, 71, -1, 73, 74,
1434 -1, -1, -1, -1, -1, 80, 81, -1, -1, 84,
1435 29, -1, 87, 88, -1, 90, -1, 92, -1, 94,
1436 -1, 96, -1, 98, 99, 44, 45, -1, -1, 48,
1437 49, -1, 51, -1, 53, 54, 55, 56, 57, 58,
1438 -1, 60, 5, 6, 63, -1, -1, 66, 67, 68,
1439 69, -1, 71, -1, 73, 74, -1, -1, -1, -1,
1440 -1, 80, 81, -1, -1, 84, 29, -1, 87, 88,
1441 -1, 90, -1, 92, -1, 94, -1, -1, -1, -1,
1442 99, 44, 45, -1, -1, 48, 49, -1, 51, -1,
1443 53, 54, 55, 56, 57, 58, -1, 60, 5, 6,
1444 63, -1, -1, 66, 67, 68, 69, -1, 71, -1,
1445 73, 74, -1, -1, -1, 5, 6, 80, 81, -1,
1446 -1, -1, 29, -1, 87, 88, -1, 90, -1, 92,
1447 -1, 94, 5, 6, -1, -1, 99, 44, 45, 29,
1448 -1, 48, 49, -1, 51, -1, 53, 54, -1, -1,
1449 -1, -1, -1, -1, 44, 45, 29, -1, 48, 49,
1450 -1, 51, -1, 53, 54, -1, -1, -1, -1, -1,
1451 -1, 44, 45, 80, 81, 48, 49, -1, 51, -1,
1452 53, 54, -1, 90, -1, 92, -1, 94, 5, 6,
1453 80, 81, 99, -1, -1, -1, -1, -1, -1, -1,
1454 90, -1, 92, -1, 94, 5, 6, 80, 81, 99,
1455 -1, -1, 29, -1, -1, -1, -1, 90, -1, 92,
1456 -1, 94, -1, -1, -1, -1, 99, 44, 45, 29,
1457 -1, 48, 49, -1, 51, -1, 53, 54, -1, -1,
1458 -1, -1, -1, -1, 44, 45, -1, -1, 48, 49,
1459 -1, 51, -1, 53, 54, -1, -1, -1, -1, -1,
1460 -1, -1, -1, 80, 81, -1, -1, -1, -1, 5,
1461 6, 7, 8, 90, -1, 92, -1, 94, -1, -1,
1462 80, 81, 99, -1, -1, -1, -1, -1, -1, -1,
1463 90, -1, 92, -1, 94, -1, -1, -1, -1, 99,
1464 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1465 46, 47, 3, -1, -1, -1, -1, -1, 9, 10,
1466 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1467 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
1468 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
1469 -1, 3, -1, -1, 90, 91, 92, 9, 10, 11,
1470 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1471 22, 3, -1, -1, -1, -1, -1, 9, 10, 11,
1472 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1473 22, 3, -1, -1, -1, -1, -1, 9, 10, 11,
1474 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1482 0, 1, 5, 6, 29, 44, 45, 48, 49, 51,
1483 53, 54, 55, 56, 57, 58, 60, 63, 66, 67,
1484 68, 69, 71, 73, 74, 80, 81, 86, 87, 88,
1485 90, 92, 94, 96, 98, 99, 102, 103, 104, 108,
1486 109, 111, 112, 113, 114, 115, 116, 118, 121, 122,
1487 123, 128, 130, 131, 132, 133, 134, 135, 136, 137,
1488 141, 142, 147, 152, 153, 154, 155, 164, 165, 166,
1489 171, 173, 174, 198, 199, 200, 99, 111, 128, 128,
1490 128, 128, 128, 197, 197, 197, 197, 197, 197, 197,
1491 197, 111, 138, 140, 138, 93, 201, 202, 197, 135,
1492 4, 29, 98, 119, 120, 124, 125, 126, 135, 117,
1493 120, 75, 90, 156, 158, 0, 85, 93, 199, 200,
1494 110, 114, 5, 6, 7, 8, 36, 37, 38, 39,
1495 40, 41, 42, 43, 44, 45, 46, 47, 90, 91,
1496 92, 127, 4, 23, 24, 25, 26, 27, 28, 30,
1497 31, 32, 33, 34, 35, 3, 9, 10, 11, 12,
1498 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1499 84, 197, 90, 175, 93, 96, 98, 203, 204, 96,
1500 98, 90, 132, 133, 90, 133, 135, 204, 135, 143,
1501 144, 135, 204, 204, 3, 140, 105, 106, 107, 108,
1502 93, 100, 126, 96, 97, 98, 95, 96, 1, 29,
1503 125, 140, 159, 160, 161, 196, 108, 114, 128, 128,
1504 128, 128, 128, 128, 128, 128, 128, 128, 5, 6,
1505 29, 44, 45, 123, 129, 129, 100, 126, 97, 126,
1506 50, 90, 128, 132, 132, 132, 132, 132, 132, 132,
1507 132, 132, 132, 132, 132, 135, 135, 135, 135, 135,
1508 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1509 82, 83, 94, 111, 162, 167, 168, 29, 111, 176,
1510 177, 111, 93, 96, 98, 76, 77, 78, 79, 180,
1511 181, 182, 185, 186, 188, 189, 192, 193, 133, 3,
1512 133, 3, 196, 105, 196, 52, 61, 62, 145, 146,
1513 204, 105, 105, 139, 85, 203, 204, 98, 120, 124,
1514 125, 135, 120, 100, 157, 98, 108, 129, 129, 129,
1515 129, 129, 44, 45, 90, 92, 127, 98, 100, 97,
1516 135, 91, 91, 95, 111, 163, 3, 158, 169, 204,
1517 111, 3, 98, 100, 30, 178, 179, 197, 197, 197,
1518 197, 204, 175, 175, 175, 175, 3, 135, 3, 135,
1519 204, 59, 204, 197, 197, 64, 65, 148, 149, 150,
1520 151, 70, 52, 72, 135, 108, 161, 100, 126, 97,
1521 126, 50, 90, 100, 111, 111, 95, 98, 111, 168,
1522 204, 105, 139, 177, 111, 27, 182, 186, 189, 193,
1523 197, 204, 204, 204, 204, 135, 196, 135, 196, 105,
1524 135, 105, 204, 204, 197, 197, 52, 150, 151, 197,
1525 197, 100, 97, 135, 111, 105, 52, 85, 170, 135,
1526 91, 111, 52, 172, 111, 183, 184, 166, 187, 111,
1527 190, 191, 111, 194, 195, 100, 204, 98, 204, 52,
1528 135, 105, 204, 204, 204, 204, 100, 170, 111, 91,
1529 3, 204, 204, 204, 90, 204, 204, 105, 135, 105,
1530 196, 135, 105, 105, 105, 111, 139, 52, 184, 52,
1531 166, 52, 191, 135, 52, 195, 105, 52, 100, 52,
1532 204, 196, 52, 52, 135, 100, 52, 204, 105, 204,
1536 #define yyerrok (yyerrstatus = 0)
1537 #define yyclearin (yychar = YYEMPTY)
1538 #define YYEMPTY (-2)
1541 #define YYACCEPT goto yyacceptlab
1542 #define YYABORT goto yyabortlab
1543 #define YYERROR goto yyerrorlab
1553 #define YYFAIL goto yyerrlab
1561 #define YYRECOVERING() (!!yyerrstatus)
1563 #define YYBACKUP(Token, Value) \
1565 if (yychar == YYEMPTY) \
1569 YYPOPSTACK (yylen); \
1575 yyerror (parser, YY_("syntax error: cannot back up")); \
1582 #define YYERRCODE 256
1586 #ifndef YY_LOCATION_PRINT
1587 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1593 # define YYLEX yylex (&yylval, YYLEX_PARAM)
1595 # define YYLEX yylex (&yylval, scanner)
1603 # define YYFPRINTF fprintf
1606 # define YYDPRINTF(Args) \
1612 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1616 YYFPRINTF (stderr, "%s ", Title); \
1617 yy_symbol_print (stderr, \
1618 Type, Value, parser); \
1619 YYFPRINTF (stderr, "\n"); \
1629 #if (defined __STDC__ || defined __C99__FUNC__ \
1630 || defined __cplusplus || defined _MSC_VER)
1642 FILE *yyo = yyoutput;
1649 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1661 #if (defined __STDC__ || defined __C99__FUNC__ \
1662 || defined __cplusplus || defined _MSC_VER)
1667 yy_symbol_print (yyoutput, yytype, yyvaluep, parser)
1670 YYSTYPE const * const yyvaluep;
1675 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
1677 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
1688 #if (defined __STDC__ || defined __C99__FUNC__ \
1689 || defined __cplusplus || defined _MSC_VER)
1694 yy_stack_print (yybottom, yytop)
1700 for (; yybottom <=
yytop; yybottom++)
1702 int yybot = *yybottom;
1708 # define YY_STACK_PRINT(Bottom, Top) \
1711 yy_stack_print ((Bottom), (Top)); \
1719 #if (defined __STDC__ || defined __C99__FUNC__ \
1720 || defined __cplusplus || defined _MSC_VER)
1725 yy_reduce_print (yyvsp, yyrule, parser)
1731 int yynrhs = yyr2[
yyrule];
1733 unsigned long int yylno = yyrline[
yyrule];
1734 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1737 for (yyi = 0; yyi < yynrhs; yyi++)
1740 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1741 &(yyvsp[(yyi + 1) - (yynrhs)])
1747 # define YY_REDUCE_PRINT(Rule) \
1750 yy_reduce_print (yyvsp, Rule, parser); \
1757 # define YYDPRINTF(Args)
1758 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1759 # define YY_STACK_PRINT(Bottom, Top)
1760 # define YY_REDUCE_PRINT(Rule)
1766 # define YYINITDEPTH 200
1777 # define YYMAXDEPTH 10000
1784 # if defined __GLIBC__ && defined _STRING_H
1785 # define yystrlen strlen
1788 #if (defined __STDC__ || defined __C99__FUNC__ \
1789 || defined __cplusplus || defined _MSC_VER)
1791 yystrlen (
const char *yystr)
1799 for (yylen = 0; yystr[yylen]; yylen++)
1807 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1808 # define yystpcpy stpcpy
1812 #if (defined __STDC__ || defined __C99__FUNC__ \
1813 || defined __cplusplus || defined _MSC_VER)
1815 yystpcpy (
char *yydest,
const char *yysrc)
1818 yystpcpy (yydest, yysrc)
1824 const char *yys = yysrc;
1826 while ((*yyd++ = *yys++) !=
'\0')
1843 yytnamerr (
char *yyres,
const char *yystr)
1848 char const *yyp = yystr;
1855 goto do_not_strip_quotes;
1859 goto do_not_strip_quotes;
1872 do_not_strip_quotes: ;
1876 return yystrlen (yystr);
1878 return yystpcpy (yyres, yystr) - yyres;
1891 yysyntax_error (
YYSIZE_T *yymsg_alloc,
char **yymsg,
1896 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1898 const char *yyformat =
YY_NULL;
1900 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1934 int yyn = yypact[*yyssp];
1935 yyarg[yycount++] = yytname[yytoken];
1941 int yyxbegin = yyn < 0 ? -yyn : 0;
1943 int yychecklim =
YYLAST - yyn + 1;
1947 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1948 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR
1951 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1957 yyarg[yycount++] = yytname[yyx];
1960 if (! (yysize <= yysize1
1971 # define YYCASE_(N, S) \
1975 YYCASE_(0,
YY_(
"syntax error"));
1976 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1977 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1978 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1979 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1980 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1985 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1991 if (*yymsg_alloc < yysize)
1993 *yymsg_alloc = 2 * yysize;
1994 if (! (yysize <= *yymsg_alloc
2006 while ((*yyp = *yyformat) !=
'\0')
2007 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
2009 yyp += yytnamerr (yyp, yyarg[yyi++]);
2027 #if (defined __STDC__ || defined __C99__FUNC__ \
2028 || defined __cplusplus || defined _MSC_VER)
2051 #line 304 "parse-tree/oct-parse.yy"
2054 #line 2055 "parse-tree/oct-parse.cc"
2058 #line 304 "parse-tree/oct-parse.yy"
2061 #line 2062 "parse-tree/oct-parse.cc"
2065 #line 304 "parse-tree/oct-parse.yy"
2068 #line 2069 "parse-tree/oct-parse.cc"
2072 #line 304 "parse-tree/oct-parse.yy"
2075 #line 2076 "parse-tree/oct-parse.cc"
2079 #line 304 "parse-tree/oct-parse.yy"
2082 #line 2083 "parse-tree/oct-parse.cc"
2086 #line 304 "parse-tree/oct-parse.yy"
2089 #line 2090 "parse-tree/oct-parse.cc"
2093 #line 304 "parse-tree/oct-parse.yy"
2096 #line 2097 "parse-tree/oct-parse.cc"
2100 #line 304 "parse-tree/oct-parse.yy"
2103 #line 2104 "parse-tree/oct-parse.cc"
2107 #line 304 "parse-tree/oct-parse.yy"
2110 #line 2111 "parse-tree/oct-parse.cc"
2114 #line 304 "parse-tree/oct-parse.yy"
2117 #line 2118 "parse-tree/oct-parse.cc"
2121 #line 304 "parse-tree/oct-parse.yy"
2124 #line 2125 "parse-tree/oct-parse.cc"
2128 #line 304 "parse-tree/oct-parse.yy"
2131 #line 2132 "parse-tree/oct-parse.cc"
2135 #line 304 "parse-tree/oct-parse.yy"
2138 #line 2139 "parse-tree/oct-parse.cc"
2142 #line 304 "parse-tree/oct-parse.yy"
2145 #line 2146 "parse-tree/oct-parse.cc"
2149 #line 304 "parse-tree/oct-parse.yy"
2152 #line 2153 "parse-tree/oct-parse.cc"
2156 #line 304 "parse-tree/oct-parse.yy"
2159 #line 2160 "parse-tree/oct-parse.cc"
2163 #line 304 "parse-tree/oct-parse.yy"
2166 #line 2167 "parse-tree/oct-parse.cc"
2170 #line 304 "parse-tree/oct-parse.yy"
2173 #line 2174 "parse-tree/oct-parse.cc"
2177 #line 304 "parse-tree/oct-parse.yy"
2180 #line 2181 "parse-tree/oct-parse.cc"
2184 #line 304 "parse-tree/oct-parse.yy"
2187 #line 2188 "parse-tree/oct-parse.cc"
2191 #line 304 "parse-tree/oct-parse.yy"
2194 #line 2195 "parse-tree/oct-parse.cc"
2198 #line 304 "parse-tree/oct-parse.yy"
2201 #line 2202 "parse-tree/oct-parse.cc"
2205 #line 304 "parse-tree/oct-parse.yy"
2208 #line 2209 "parse-tree/oct-parse.cc"
2212 #line 304 "parse-tree/oct-parse.yy"
2215 #line 2216 "parse-tree/oct-parse.cc"
2219 #line 304 "parse-tree/oct-parse.yy"
2222 #line 2223 "parse-tree/oct-parse.cc"
2226 #line 304 "parse-tree/oct-parse.yy"
2229 #line 2230 "parse-tree/oct-parse.cc"
2233 #line 304 "parse-tree/oct-parse.yy"
2236 #line 2237 "parse-tree/oct-parse.cc"
2240 #line 304 "parse-tree/oct-parse.yy"
2243 #line 2244 "parse-tree/oct-parse.cc"
2247 #line 304 "parse-tree/oct-parse.yy"
2250 #line 2251 "parse-tree/oct-parse.cc"
2254 #line 304 "parse-tree/oct-parse.yy"
2257 #line 2258 "parse-tree/oct-parse.cc"
2261 #line 304 "parse-tree/oct-parse.yy"
2264 #line 2265 "parse-tree/oct-parse.cc"
2268 #line 304 "parse-tree/oct-parse.yy"
2271 #line 2272 "parse-tree/oct-parse.cc"
2275 #line 304 "parse-tree/oct-parse.yy"
2278 #line 2279 "parse-tree/oct-parse.cc"
2282 #line 304 "parse-tree/oct-parse.yy"
2285 #line 2286 "parse-tree/oct-parse.cc"
2289 #line 304 "parse-tree/oct-parse.yy"
2292 #line 2293 "parse-tree/oct-parse.cc"
2296 #line 304 "parse-tree/oct-parse.yy"
2299 #line 2300 "parse-tree/oct-parse.cc"
2303 #line 304 "parse-tree/oct-parse.yy"
2306 #line 2307 "parse-tree/oct-parse.cc"
2310 #line 304 "parse-tree/oct-parse.yy"
2313 #line 2314 "parse-tree/oct-parse.cc"
2317 #line 304 "parse-tree/oct-parse.yy"
2320 #line 2321 "parse-tree/oct-parse.cc"
2324 #line 304 "parse-tree/oct-parse.yy"
2327 #line 2328 "parse-tree/oct-parse.cc"
2331 #line 304 "parse-tree/oct-parse.yy"
2334 #line 2335 "parse-tree/oct-parse.cc"
2338 #line 304 "parse-tree/oct-parse.yy"
2341 #line 2342 "parse-tree/oct-parse.cc"
2345 #line 304 "parse-tree/oct-parse.yy"
2348 #line 2349 "parse-tree/oct-parse.cc"
2352 #line 304 "parse-tree/oct-parse.yy"
2355 #line 2356 "parse-tree/oct-parse.cc"
2359 #line 304 "parse-tree/oct-parse.yy"
2362 #line 2363 "parse-tree/oct-parse.cc"
2366 #line 304 "parse-tree/oct-parse.yy"
2369 #line 2370 "parse-tree/oct-parse.cc"
2373 #line 304 "parse-tree/oct-parse.yy"
2376 #line 2377 "parse-tree/oct-parse.cc"
2380 #line 304 "parse-tree/oct-parse.yy"
2383 #line 2384 "parse-tree/oct-parse.cc"
2387 #line 304 "parse-tree/oct-parse.yy"
2390 #line 2391 "parse-tree/oct-parse.cc"
2394 #line 304 "parse-tree/oct-parse.yy"
2397 #line 2398 "parse-tree/oct-parse.cc"
2401 #line 304 "parse-tree/oct-parse.yy"
2404 #line 2405 "parse-tree/oct-parse.cc"
2408 #line 304 "parse-tree/oct-parse.yy"
2411 #line 2412 "parse-tree/oct-parse.cc"
2415 #line 304 "parse-tree/oct-parse.yy"
2418 #line 2419 "parse-tree/oct-parse.cc"
2422 #line 304 "parse-tree/oct-parse.yy"
2425 #line 2426 "parse-tree/oct-parse.cc"
2429 #line 304 "parse-tree/oct-parse.yy"
2432 #line 2433 "parse-tree/oct-parse.cc"
2436 #line 304 "parse-tree/oct-parse.yy"
2439 #line 2440 "parse-tree/oct-parse.cc"
2443 #line 304 "parse-tree/oct-parse.yy"
2446 #line 2447 "parse-tree/oct-parse.cc"
2450 #line 304 "parse-tree/oct-parse.yy"
2453 #line 2454 "parse-tree/oct-parse.cc"
2457 #line 304 "parse-tree/oct-parse.yy"
2460 #line 2461 "parse-tree/oct-parse.cc"
2464 #line 304 "parse-tree/oct-parse.yy"
2467 #line 2468 "parse-tree/oct-parse.cc"
2471 #line 304 "parse-tree/oct-parse.yy"
2474 #line 2475 "parse-tree/oct-parse.cc"
2478 #line 304 "parse-tree/oct-parse.yy"
2481 #line 2482 "parse-tree/oct-parse.cc"
2485 #line 304 "parse-tree/oct-parse.yy"
2488 #line 2489 "parse-tree/oct-parse.cc"
2492 #line 304 "parse-tree/oct-parse.yy"
2495 #line 2496 "parse-tree/oct-parse.cc"
2499 #line 304 "parse-tree/oct-parse.yy"
2502 #line 2503 "parse-tree/oct-parse.cc"
2506 #line 304 "parse-tree/oct-parse.yy"
2509 #line 2510 "parse-tree/oct-parse.cc"
2513 #line 304 "parse-tree/oct-parse.yy"
2516 #line 2517 "parse-tree/oct-parse.cc"
2520 #line 304 "parse-tree/oct-parse.yy"
2523 #line 2524 "parse-tree/oct-parse.cc"
2527 #line 304 "parse-tree/oct-parse.yy"
2530 #line 2531 "parse-tree/oct-parse.cc"
2534 #line 304 "parse-tree/oct-parse.yy"
2537 #line 2538 "parse-tree/oct-parse.cc"
2541 #line 304 "parse-tree/oct-parse.yy"
2544 #line 2545 "parse-tree/oct-parse.cc"
2548 #line 304 "parse-tree/oct-parse.yy"
2551 #line 2552 "parse-tree/oct-parse.cc"
2555 #line 304 "parse-tree/oct-parse.yy"
2558 #line 2559 "parse-tree/oct-parse.cc"
2562 #line 304 "parse-tree/oct-parse.yy"
2565 #line 2566 "parse-tree/oct-parse.cc"
2569 #line 304 "parse-tree/oct-parse.yy"
2572 #line 2573 "parse-tree/oct-parse.cc"
2576 #line 304 "parse-tree/oct-parse.yy"
2579 #line 2580 "parse-tree/oct-parse.cc"
2583 #line 304 "parse-tree/oct-parse.yy"
2586 #line 2587 "parse-tree/oct-parse.cc"
2590 #line 304 "parse-tree/oct-parse.yy"
2593 #line 2594 "parse-tree/oct-parse.cc"
2597 #line 304 "parse-tree/oct-parse.yy"
2600 #line 2601 "parse-tree/oct-parse.cc"
2604 #line 304 "parse-tree/oct-parse.yy"
2607 #line 2608 "parse-tree/oct-parse.cc"
2611 #line 304 "parse-tree/oct-parse.yy"
2614 #line 2615 "parse-tree/oct-parse.cc"
2618 #line 304 "parse-tree/oct-parse.yy"
2621 #line 2622 "parse-tree/oct-parse.cc"
2625 #line 307 "parse-tree/oct-parse.yy"
2628 #line 2629 "parse-tree/oct-parse.cc"
2632 #line 307 "parse-tree/oct-parse.yy"
2635 #line 2636 "parse-tree/oct-parse.cc"
2639 #line 307 "parse-tree/oct-parse.yy"
2642 #line 2643 "parse-tree/oct-parse.cc"
2646 #line 307 "parse-tree/oct-parse.yy"
2649 #line 2650 "parse-tree/oct-parse.cc"
2653 #line 307 "parse-tree/oct-parse.yy"
2656 #line 2657 "parse-tree/oct-parse.cc"
2660 #line 307 "parse-tree/oct-parse.yy"
2663 #line 2664 "parse-tree/oct-parse.cc"
2667 #line 307 "parse-tree/oct-parse.yy"
2670 #line 2671 "parse-tree/oct-parse.cc"
2674 #line 307 "parse-tree/oct-parse.yy"
2677 #line 2678 "parse-tree/oct-parse.cc"
2681 #line 307 "parse-tree/oct-parse.yy"
2684 #line 2685 "parse-tree/oct-parse.cc"
2688 #line 307 "parse-tree/oct-parse.yy"
2691 #line 2692 "parse-tree/oct-parse.cc"
2695 #line 307 "parse-tree/oct-parse.yy"
2698 #line 2699 "parse-tree/oct-parse.cc"
2702 #line 307 "parse-tree/oct-parse.yy"
2705 #line 2706 "parse-tree/oct-parse.cc"
2709 #line 307 "parse-tree/oct-parse.yy"
2712 #line 2713 "parse-tree/oct-parse.cc"
2716 #line 307 "parse-tree/oct-parse.yy"
2719 #line 2720 "parse-tree/oct-parse.cc"
2723 #line 307 "parse-tree/oct-parse.yy"
2726 #line 2727 "parse-tree/oct-parse.cc"
2730 #line 307 "parse-tree/oct-parse.yy"
2733 #line 2734 "parse-tree/oct-parse.cc"
2737 #line 309 "parse-tree/oct-parse.yy"
2738 {
delete ((*yyvaluep).tree_type); };
2740 #line 2741 "parse-tree/oct-parse.cc"
2744 #line 332 "parse-tree/oct-parse.yy"
2745 {
delete ((*yyvaluep).tree_statement_list_type); };
2747 #line 2748 "parse-tree/oct-parse.cc"
2751 #line 332 "parse-tree/oct-parse.yy"
2752 {
delete ((*yyvaluep).tree_statement_list_type); };
2754 #line 2755 "parse-tree/oct-parse.cc"
2758 #line 332 "parse-tree/oct-parse.yy"
2759 {
delete ((*yyvaluep).tree_statement_list_type); };
2761 #line 2762 "parse-tree/oct-parse.cc"
2765 #line 332 "parse-tree/oct-parse.yy"
2766 {
delete ((*yyvaluep).tree_statement_list_type); };
2768 #line 2769 "parse-tree/oct-parse.cc"
2772 #line 332 "parse-tree/oct-parse.yy"
2773 {
delete ((*yyvaluep).tree_statement_list_type); };
2775 #line 2776 "parse-tree/oct-parse.cc"
2779 #line 331 "parse-tree/oct-parse.yy"
2780 {
delete ((*yyvaluep).tree_statement_type); };
2782 #line 2783 "parse-tree/oct-parse.cc"
2786 #line 317 "parse-tree/oct-parse.yy"
2787 {
delete ((*yyvaluep).tree_index_expression_type); };
2789 #line 2790 "parse-tree/oct-parse.cc"
2793 #line 319 "parse-tree/oct-parse.yy"
2794 {
delete ((*yyvaluep).tree_argument_list_type); };
2796 #line 2797 "parse-tree/oct-parse.cc"
2800 #line 316 "parse-tree/oct-parse.yy"
2801 {
delete ((*yyvaluep).tree_identifier_type); };
2803 #line 2804 "parse-tree/oct-parse.cc"
2807 #line 316 "parse-tree/oct-parse.yy"
2808 {
delete ((*yyvaluep).tree_identifier_type); };
2810 #line 2811 "parse-tree/oct-parse.cc"
2814 #line 316 "parse-tree/oct-parse.yy"
2815 {
delete ((*yyvaluep).tree_identifier_type); };
2817 #line 2818 "parse-tree/oct-parse.cc"
2821 #line 313 "parse-tree/oct-parse.yy"
2822 {
delete ((*yyvaluep).tree_constant_type); };
2824 #line 2825 "parse-tree/oct-parse.cc"
2828 #line 313 "parse-tree/oct-parse.yy"
2829 {
delete ((*yyvaluep).tree_constant_type); };
2831 #line 2832 "parse-tree/oct-parse.cc"
2835 #line 312 "parse-tree/oct-parse.yy"
2836 {
delete ((*yyvaluep).tree_expression_type); };
2838 #line 2839 "parse-tree/oct-parse.cc"
2842 #line 310 "parse-tree/oct-parse.yy"
2843 {
delete ((*yyvaluep).tree_matrix_type); };
2845 #line 2846 "parse-tree/oct-parse.cc"
2849 #line 312 "parse-tree/oct-parse.yy"
2850 {
delete ((*yyvaluep).tree_expression_type); };
2852 #line 2853 "parse-tree/oct-parse.cc"
2856 #line 311 "parse-tree/oct-parse.yy"
2857 {
delete ((*yyvaluep).tree_cell_type); };
2859 #line 2860 "parse-tree/oct-parse.cc"
2863 #line 319 "parse-tree/oct-parse.yy"
2864 {
delete ((*yyvaluep).tree_argument_list_type); };
2866 #line 2867 "parse-tree/oct-parse.cc"
2870 #line 314 "parse-tree/oct-parse.yy"
2871 {
delete ((*yyvaluep).tree_fcn_handle_type); };
2873 #line 2874 "parse-tree/oct-parse.cc"
2877 #line 315 "parse-tree/oct-parse.yy"
2878 {
delete ((*yyvaluep).tree_anon_fcn_handle_type); };
2880 #line 2881 "parse-tree/oct-parse.cc"
2884 #line 312 "parse-tree/oct-parse.yy"
2885 {
delete ((*yyvaluep).tree_expression_type); };
2887 #line 2888 "parse-tree/oct-parse.cc"
2891 #line 313 "parse-tree/oct-parse.yy"
2892 {
delete ((*yyvaluep).tree_constant_type); };
2894 #line 2895 "parse-tree/oct-parse.cc"
2898 #line 316 "parse-tree/oct-parse.yy"
2899 {
delete ((*yyvaluep).tree_identifier_type); };
2901 #line 2902 "parse-tree/oct-parse.cc"
2905 #line 319 "parse-tree/oct-parse.yy"
2906 {
delete ((*yyvaluep).tree_argument_list_type); };
2908 #line 2909 "parse-tree/oct-parse.cc"
2912 #line 307 "parse-tree/oct-parse.yy"
2915 #line 2916 "parse-tree/oct-parse.cc"
2919 #line 312 "parse-tree/oct-parse.yy"
2920 {
delete ((*yyvaluep).tree_expression_type); };
2922 #line 2923 "parse-tree/oct-parse.cc"
2926 #line 312 "parse-tree/oct-parse.yy"
2927 {
delete ((*yyvaluep).tree_expression_type); };
2929 #line 2930 "parse-tree/oct-parse.cc"
2933 #line 312 "parse-tree/oct-parse.yy"
2934 {
delete ((*yyvaluep).tree_expression_type); };
2936 #line 2937 "parse-tree/oct-parse.cc"
2940 #line 318 "parse-tree/oct-parse.yy"
2941 {
delete ((*yyvaluep).tree_colon_expression_type); };
2943 #line 2944 "parse-tree/oct-parse.cc"
2947 #line 312 "parse-tree/oct-parse.yy"
2948 {
delete ((*yyvaluep).tree_expression_type); };
2950 #line 2951 "parse-tree/oct-parse.cc"
2954 #line 319 "parse-tree/oct-parse.yy"
2955 {
delete ((*yyvaluep).tree_argument_list_type); };
2957 #line 2958 "parse-tree/oct-parse.cc"
2961 #line 312 "parse-tree/oct-parse.yy"
2962 {
delete ((*yyvaluep).tree_expression_type); };
2964 #line 2965 "parse-tree/oct-parse.cc"
2968 #line 312 "parse-tree/oct-parse.yy"
2969 {
delete ((*yyvaluep).tree_expression_type); };
2971 #line 2972 "parse-tree/oct-parse.cc"
2975 #line 321 "parse-tree/oct-parse.yy"
2976 {
delete ((*yyvaluep).tree_command_type); };
2978 #line 2979 "parse-tree/oct-parse.cc"
2982 #line 330 "parse-tree/oct-parse.yy"
2983 {
delete ((*yyvaluep).tree_decl_command_type); };
2985 #line 2986 "parse-tree/oct-parse.cc"
2989 #line 329 "parse-tree/oct-parse.yy"
2990 {
delete ((*yyvaluep).tree_decl_init_list_type); };
2992 #line 2993 "parse-tree/oct-parse.cc"
2996 #line 307 "parse-tree/oct-parse.yy"
2999 #line 3000 "parse-tree/oct-parse.cc"
3003 #line 328 "parse-tree/oct-parse.yy"
3004 {
delete ((*yyvaluep).tree_decl_elt_type); };
3006 #line 3007 "parse-tree/oct-parse.cc"
3010 #line 321 "parse-tree/oct-parse.yy"
3011 {
delete ((*yyvaluep).tree_command_type); };
3013 #line 3014 "parse-tree/oct-parse.cc"
3017 #line 322 "parse-tree/oct-parse.yy"
3018 {
delete ((*yyvaluep).tree_if_command_type); };
3020 #line 3021 "parse-tree/oct-parse.cc"
3024 #line 324 "parse-tree/oct-parse.yy"
3025 {
delete ((*yyvaluep).tree_if_command_list_type); };
3027 #line 3028 "parse-tree/oct-parse.cc"
3031 #line 324 "parse-tree/oct-parse.yy"
3032 {
delete ((*yyvaluep).tree_if_command_list_type); };
3034 #line 3035 "parse-tree/oct-parse.cc"
3038 #line 323 "parse-tree/oct-parse.yy"
3039 {
delete ((*yyvaluep).tree_if_clause_type); };
3041 #line 3042 "parse-tree/oct-parse.cc"
3045 #line 323 "parse-tree/oct-parse.yy"
3046 {
delete ((*yyvaluep).tree_if_clause_type); };
3048 #line 3049 "parse-tree/oct-parse.cc"
3052 #line 325 "parse-tree/oct-parse.yy"
3053 {
delete ((*yyvaluep).tree_switch_command_type); };
3055 #line 3056 "parse-tree/oct-parse.cc"
3059 #line 327 "parse-tree/oct-parse.yy"
3060 {
delete ((*yyvaluep).tree_switch_case_list_type); };
3062 #line 3063 "parse-tree/oct-parse.cc"
3066 #line 327 "parse-tree/oct-parse.yy"
3067 {
delete ((*yyvaluep).tree_switch_case_list_type); };
3069 #line 3070 "parse-tree/oct-parse.cc"
3073 #line 326 "parse-tree/oct-parse.yy"
3074 {
delete ((*yyvaluep).tree_switch_case_type); };
3076 #line 3077 "parse-tree/oct-parse.cc"
3080 #line 326 "parse-tree/oct-parse.yy"
3081 {
delete ((*yyvaluep).tree_switch_case_type); };
3083 #line 3084 "parse-tree/oct-parse.cc"
3087 #line 321 "parse-tree/oct-parse.yy"
3088 {
delete ((*yyvaluep).tree_command_type); };
3090 #line 3091 "parse-tree/oct-parse.cc"
3094 #line 321 "parse-tree/oct-parse.yy"
3095 {
delete ((*yyvaluep).tree_command_type); };
3097 #line 3098 "parse-tree/oct-parse.cc"
3101 #line 321 "parse-tree/oct-parse.yy"
3102 {
delete ((*yyvaluep).tree_command_type); };
3104 #line 3105 "parse-tree/oct-parse.cc"
3108 #line 307 "parse-tree/oct-parse.yy"
3111 #line 3112 "parse-tree/oct-parse.cc"
3115 #line 307 "parse-tree/oct-parse.yy"
3118 #line 3119 "parse-tree/oct-parse.cc"
3122 #line 307 "parse-tree/oct-parse.yy"
3125 #line 3126 "parse-tree/oct-parse.cc"
3129 #line 320 "parse-tree/oct-parse.yy"
3130 {
delete ((*yyvaluep).tree_parameter_list_type); };
3132 #line 3133 "parse-tree/oct-parse.cc"
3136 #line 320 "parse-tree/oct-parse.yy"
3137 {
delete ((*yyvaluep).tree_parameter_list_type); };
3139 #line 3140 "parse-tree/oct-parse.cc"
3143 #line 320 "parse-tree/oct-parse.yy"
3144 {
delete ((*yyvaluep).tree_parameter_list_type); };
3146 #line 3147 "parse-tree/oct-parse.cc"
3150 #line 328 "parse-tree/oct-parse.yy"
3151 {
delete ((*yyvaluep).tree_decl_elt_type); };
3153 #line 3154 "parse-tree/oct-parse.cc"
3157 #line 320 "parse-tree/oct-parse.yy"
3158 {
delete ((*yyvaluep).tree_parameter_list_type); };
3160 #line 3161 "parse-tree/oct-parse.cc"
3164 #line 320 "parse-tree/oct-parse.yy"
3165 {
delete ((*yyvaluep).tree_parameter_list_type); };
3167 #line 3168 "parse-tree/oct-parse.cc"
3171 #line 321 "parse-tree/oct-parse.yy"
3172 {
delete ((*yyvaluep).tree_command_type); };
3174 #line 3175 "parse-tree/oct-parse.cc"
3178 #line 304 "parse-tree/oct-parse.yy"
3181 #line 3182 "parse-tree/oct-parse.cc"
3185 #line 321 "parse-tree/oct-parse.yy"
3186 {
delete ((*yyvaluep).tree_command_type); };
3188 #line 3189 "parse-tree/oct-parse.cc"
3192 #line 316 "parse-tree/oct-parse.yy"
3193 {
delete ((*yyvaluep).tree_identifier_type); };
3195 #line 3196 "parse-tree/oct-parse.cc"
3199 #line 333 "parse-tree/oct-parse.yy"
3200 {
delete ((*yyvaluep).octave_user_function_type); };
3202 #line 3203 "parse-tree/oct-parse.cc"
3206 #line 333 "parse-tree/oct-parse.yy"
3207 {
delete ((*yyvaluep).octave_user_function_type); };
3209 #line 3210 "parse-tree/oct-parse.cc"
3213 #line 331 "parse-tree/oct-parse.yy"
3214 {
delete ((*yyvaluep).tree_statement_type); };
3216 #line 3217 "parse-tree/oct-parse.cc"
3220 #line 305 "parse-tree/oct-parse.yy"
3223 #line 3224 "parse-tree/oct-parse.cc"
3227 #line 331 "parse-tree/oct-parse.yy"
3228 {
delete ((*yyvaluep).tree_statement_type); };
3230 #line 3231 "parse-tree/oct-parse.cc"
3234 #line 333 "parse-tree/oct-parse.yy"
3235 {
delete ((*yyvaluep).octave_user_function_type); };
3237 #line 3238 "parse-tree/oct-parse.cc"
3241 #line 321 "parse-tree/oct-parse.yy"
3242 {
delete ((*yyvaluep).tree_command_type); };
3244 #line 3245 "parse-tree/oct-parse.cc"
3248 #line 306 "parse-tree/oct-parse.yy"
3251 #line 3252 "parse-tree/oct-parse.cc"
3255 #line 306 "parse-tree/oct-parse.yy"
3258 #line 3259 "parse-tree/oct-parse.cc"
3262 #line 306 "parse-tree/oct-parse.yy"
3265 #line 3266 "parse-tree/oct-parse.cc"
3269 #line 320 "parse-tree/oct-parse.yy"
3270 {
delete ((*yyvaluep).tree_parameter_list_type); };
3272 #line 3273 "parse-tree/oct-parse.cc"
3276 #line 320 "parse-tree/oct-parse.yy"
3277 {
delete ((*yyvaluep).tree_parameter_list_type); };
3279 #line 3280 "parse-tree/oct-parse.cc"
3283 #line 306 "parse-tree/oct-parse.yy"
3286 #line 3287 "parse-tree/oct-parse.cc"
3290 #line 305 "parse-tree/oct-parse.yy"
3293 #line 3294 "parse-tree/oct-parse.cc"
3297 #line 306 "parse-tree/oct-parse.yy"
3300 #line 3301 "parse-tree/oct-parse.cc"
3304 #line 306 "parse-tree/oct-parse.yy"
3307 #line 3308 "parse-tree/oct-parse.cc"
3311 #line 306 "parse-tree/oct-parse.yy"
3314 #line 3315 "parse-tree/oct-parse.cc"
3318 #line 305 "parse-tree/oct-parse.yy"
3321 #line 3322 "parse-tree/oct-parse.cc"
3325 #line 306 "parse-tree/oct-parse.yy"
3328 #line 3329 "parse-tree/oct-parse.cc"
3332 #line 306 "parse-tree/oct-parse.yy"
3335 #line 3336 "parse-tree/oct-parse.cc"
3339 #line 305 "parse-tree/oct-parse.yy"
3342 #line 3343 "parse-tree/oct-parse.cc"
3346 #line 306 "parse-tree/oct-parse.yy"
3349 #line 3350 "parse-tree/oct-parse.cc"
3353 #line 306 "parse-tree/oct-parse.yy"
3356 #line 3357 "parse-tree/oct-parse.cc"
3360 #line 306 "parse-tree/oct-parse.yy"
3363 #line 3364 "parse-tree/oct-parse.cc"
3367 #line 305 "parse-tree/oct-parse.yy"
3370 #line 3371 "parse-tree/oct-parse.cc"
3374 #line 306 "parse-tree/oct-parse.yy"
3377 #line 3378 "parse-tree/oct-parse.cc"
3381 #line 306 "parse-tree/oct-parse.yy"
3384 #line 3385 "parse-tree/oct-parse.cc"
3388 #line 306 "parse-tree/oct-parse.yy"
3391 #line 3392 "parse-tree/oct-parse.cc"
3395 #line 307 "parse-tree/oct-parse.yy"
3398 #line 3399 "parse-tree/oct-parse.cc"
3402 #line 305 "parse-tree/oct-parse.yy"
3405 #line 3406 "parse-tree/oct-parse.cc"
3409 #line 307 "parse-tree/oct-parse.yy"
3412 #line 3413 "parse-tree/oct-parse.cc"
3416 #line 303 "parse-tree/oct-parse.yy"
3419 #line 3420 "parse-tree/oct-parse.cc"
3423 #line 303 "parse-tree/oct-parse.yy"
3426 #line 3427 "parse-tree/oct-parse.cc"
3430 #line 303 "parse-tree/oct-parse.yy"
3433 #line 3434 "parse-tree/oct-parse.cc"
3437 #line 303 "parse-tree/oct-parse.yy"
3440 #line 3441 "parse-tree/oct-parse.cc"
3444 #line 303 "parse-tree/oct-parse.yy"
3447 #line 3448 "parse-tree/oct-parse.cc"
3451 #line 303 "parse-tree/oct-parse.yy"
3454 #line 3455 "parse-tree/oct-parse.cc"
3496 #if (defined __STDC__ || defined __C99__FUNC__ \
3497 || defined __cplusplus || defined _MSC_VER)
3509 #if (defined __STDC__ || defined __C99__FUNC__ \
3510 || defined __cplusplus || defined _MSC_VER)
3546 #if (defined __STDC__ || defined __C99__FUNC__ \
3547 || defined __cplusplus || defined _MSC_VER)
3557 yyps = (
yypstate *) malloc (
sizeof *yyps);
3564 #if (defined __STDC__ || defined __C99__FUNC__ \
3565 || defined __cplusplus || defined _MSC_VER)
3577 if (!yyps->yynew && yyps->yyss != yyps->yyssa)
3583 #define octave_nerrs yyps->octave_nerrs
3584 #define yystate yyps->yystate
3585 #define yyerrstatus yyps->yyerrstatus
3586 #define yyssa yyps->yyssa
3587 #define yyss yyps->yyss
3588 #define yyssp yyps->yyssp
3589 #define yyvsa yyps->yyvsa
3590 #define yyvs yyps->yyvs
3591 #define yyvsp yyps->yyvsp
3592 #define yystacksize yyps->yystacksize
3599 #if (defined __STDC__ || defined __C99__FUNC__ \
3600 || defined __cplusplus || defined _MSC_VER)
3605 yypush_parse (yyps, yypushed_char, yypushed_val, parser)
3616 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
3618 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
3619 _Pragma ("GCC diagnostic push") \
3620 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
3621 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
3622 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
3623 _Pragma ("GCC diagnostic pop")
3628 # define YY_INITIAL_VALUE(Value) = Value
3630 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3631 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3632 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
3634 #ifndef YY_INITIAL_VALUE
3635 # define YY_INITIAL_VALUE(Value)
3652 char *yymsg = yymsgbuf;
3653 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
3656 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3665 goto yyread_pushed_token;
3672 YYDPRINTF ((stderr,
"Starting parse\n"));
3708 yyoverflow (
YY_(
"memory exhausted"),
3709 &yyss1, yysize *
sizeof (*yyssp),
3710 &yyvs1, yysize *
sizeof (*yyvsp),
3717 # ifndef YYSTACK_RELOCATE
3718 goto yyexhaustedlab;
3722 goto yyexhaustedlab;
3732 goto yyexhaustedlab;
3735 # undef YYSTACK_RELOCATE
3742 yyssp = yyss + yysize - 1;
3743 yyvsp =
yyvs + yysize - 1;
3745 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
3748 if (yyss + yystacksize - 1 <= yyssp)
3779 YYDPRINTF ((stderr,
"Return for a new token:\n"));
3784 yyread_pushed_token:
3785 YYDPRINTF ((stderr,
"Reading a token: "));
3791 if (yychar <=
YYEOF)
3793 yychar = yytoken =
YYEOF;
3794 YYDPRINTF ((stderr,
"Now at end of input.\n"));
3805 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
3860 yyval = yyvsp[1-yylen];
3868 #line 351 "parse-tree/oct-parse.yy"
3870 parser.
stmt_list = (yyvsp[(1) - (2)].tree_statement_list_type);
3877 #line 356 "parse-tree/oct-parse.yy"
3879 lexer.end_of_input =
true;
3880 parser.
stmt_list = (yyvsp[(1) - (2)].tree_statement_list_type);
3887 #line 362 "parse-tree/oct-parse.yy"
3893 #line 366 "parse-tree/oct-parse.yy"
3899 #line 368 "parse-tree/oct-parse.yy"
3905 #line 372 "parse-tree/oct-parse.yy"
3911 #line 374 "parse-tree/oct-parse.yy"
3917 #line 378 "parse-tree/oct-parse.yy"
3923 #line 380 "parse-tree/oct-parse.yy"
3929 #line 384 "parse-tree/oct-parse.yy"
3935 #line 388 "parse-tree/oct-parse.yy"
3941 #line 390 "parse-tree/oct-parse.yy"
3947 #line 394 "parse-tree/oct-parse.yy"
3953 #line 396 "parse-tree/oct-parse.yy"
3959 #line 398 "parse-tree/oct-parse.yy"
3965 #line 410 "parse-tree/oct-parse.yy"
3978 #line 421 "parse-tree/oct-parse.yy"
3984 #line 423 "parse-tree/oct-parse.yy"
3986 (yyvsp[(1) - (2)].tree_argument_list_type)->append ((yyvsp[(2) - (2)].tree_constant_type));
3993 #line 434 "parse-tree/oct-parse.yy"
4002 #line 442 "parse-tree/oct-parse.yy"
4008 #line 446 "parse-tree/oct-parse.yy"
4014 #line 450 "parse-tree/oct-parse.yy"
4020 #line 452 "parse-tree/oct-parse.yy"
4026 #line 456 "parse-tree/oct-parse.yy"
4032 #line 458 "parse-tree/oct-parse.yy"
4038 #line 460 "parse-tree/oct-parse.yy"
4044 #line 464 "parse-tree/oct-parse.yy"
4050 #line 468 "parse-tree/oct-parse.yy"
4051 { (yyval.
tree_matrix_type) = (yyvsp[(1) - (1)].tree_argument_list_type) ?
new tree_matrix ((yyvsp[(1) - (1)].tree_argument_list_type)) : 0; }
4056 #line 470 "parse-tree/oct-parse.yy"
4058 if ((yyvsp[(1) - (3)].tree_matrix_type))
4060 if ((yyvsp[(3) - (3)].tree_argument_list_type))
4061 (yyvsp[(1) - (3)].tree_matrix_type)->append ((yyvsp[(3) - (3)].tree_argument_list_type));
4066 (yyval.
tree_matrix_type) = (yyvsp[(3) - (3)].tree_argument_list_type) ?
new tree_matrix ((yyvsp[(3) - (3)].tree_argument_list_type)) : 0;
4072 #line 484 "parse-tree/oct-parse.yy"
4078 #line 488 "parse-tree/oct-parse.yy"
4079 { (yyval.
tree_cell_type) = (yyvsp[(1) - (1)].tree_argument_list_type) ?
new tree_cell ((yyvsp[(1) - (1)].tree_argument_list_type)) : 0; }
4084 #line 490 "parse-tree/oct-parse.yy"
4086 if ((yyvsp[(1) - (3)].tree_cell_type))
4088 if ((yyvsp[(3) - (3)].tree_argument_list_type))
4089 (yyvsp[(1) - (3)].tree_cell_type)->append ((yyvsp[(3) - (3)].tree_argument_list_type));
4094 (yyval.
tree_cell_type) = (yyvsp[(3) - (3)].tree_argument_list_type) ?
new tree_cell ((yyvsp[(3) - (3)].tree_argument_list_type)) : 0;
4100 #line 508 "parse-tree/oct-parse.yy"
4106 #line 510 "parse-tree/oct-parse.yy"
4112 #line 512 "parse-tree/oct-parse.yy"
4118 #line 514 "parse-tree/oct-parse.yy"
4124 #line 516 "parse-tree/oct-parse.yy"
4130 #line 518 "parse-tree/oct-parse.yy"
4136 #line 522 "parse-tree/oct-parse.yy"
4139 lexer.looking_at_function_handle--;
4145 #line 529 "parse-tree/oct-parse.yy"
4148 lexer.nesting_level.remove ();
4154 #line 536 "parse-tree/oct-parse.yy"
4160 #line 538 "parse-tree/oct-parse.yy"
4166 #line 540 "parse-tree/oct-parse.yy"
4172 #line 542 "parse-tree/oct-parse.yy"
4174 lexer.looking_at_matrix_or_assign_lhs =
false;
4181 #line 547 "parse-tree/oct-parse.yy"
4187 #line 549 "parse-tree/oct-parse.yy"
4193 #line 551 "parse-tree/oct-parse.yy"
4199 #line 553 "parse-tree/oct-parse.yy"
4205 #line 557 "parse-tree/oct-parse.yy"
4214 #line 564 "parse-tree/oct-parse.yy"
4222 #line 570 "parse-tree/oct-parse.yy"
4228 #line 572 "parse-tree/oct-parse.yy"
4234 #line 574 "parse-tree/oct-parse.yy"
4240 #line 576 "parse-tree/oct-parse.yy"
4242 (yyvsp[(1) - (3)].tree_argument_list_type)->append ((yyvsp[(3) - (3)].tree_constant_type));
4249 #line 581 "parse-tree/oct-parse.yy"
4251 (yyvsp[(1) - (3)].tree_argument_list_type)->append ((yyvsp[(3) - (3)].tree_identifier_type));
4258 #line 586 "parse-tree/oct-parse.yy"
4260 (yyvsp[(1) - (3)].tree_argument_list_type)->append ((yyvsp[(3) - (3)].tree_expression_type));
4267 #line 593 "parse-tree/oct-parse.yy"
4268 {
lexer.looking_at_indirect_ref =
true; }
4273 #line 597 "parse-tree/oct-parse.yy"
4279 #line 599 "parse-tree/oct-parse.yy"
4285 #line 601 "parse-tree/oct-parse.yy"
4291 #line 603 "parse-tree/oct-parse.yy"
4304 #line 612 "parse-tree/oct-parse.yy"
4317 #line 621 "parse-tree/oct-parse.yy"
4330 #line 630 "parse-tree/oct-parse.yy"
4343 #line 639 "parse-tree/oct-parse.yy"
4349 #line 641 "parse-tree/oct-parse.yy"
4355 #line 643 "parse-tree/oct-parse.yy"
4361 #line 645 "parse-tree/oct-parse.yy"
4367 #line 647 "parse-tree/oct-parse.yy"
4373 #line 649 "parse-tree/oct-parse.yy"
4379 #line 651 "parse-tree/oct-parse.yy"
4385 #line 653 "parse-tree/oct-parse.yy"
4391 #line 655 "parse-tree/oct-parse.yy"
4397 #line 657 "parse-tree/oct-parse.yy"
4403 #line 659 "parse-tree/oct-parse.yy"
4409 #line 661 "parse-tree/oct-parse.yy"
4410 { (yyval.
tree_expression_type) = parser.
make_binary_op (
'+', (yyvsp[(1) - (3)].tree_expression_type), (yyvsp[(2) - (3)].tok_val), (yyvsp[(3) - (3)].tree_expression_type)); }
4415 #line 663 "parse-tree/oct-parse.yy"
4416 { (yyval.
tree_expression_type) = parser.
make_binary_op (
'-', (yyvsp[(1) - (3)].tree_expression_type), (yyvsp[(2) - (3)].tok_val), (yyvsp[(3) - (3)].tree_expression_type)); }
4421 #line 665 "parse-tree/oct-parse.yy"
4422 { (yyval.
tree_expression_type) = parser.
make_binary_op (
'*', (yyvsp[(1) - (3)].tree_expression_type), (yyvsp[(2) - (3)].tok_val), (yyvsp[(3) - (3)].tree_expression_type)); }
4427 #line 667 "parse-tree/oct-parse.yy"
4428 { (yyval.
tree_expression_type) = parser.
make_binary_op (
'/', (yyvsp[(1) - (3)].tree_expression_type), (yyvsp[(2) - (3)].tok_val), (yyvsp[(3) - (3)].tree_expression_type)); }
4433 #line 669 "parse-tree/oct-parse.yy"
4434 { (yyval.
tree_expression_type) = parser.
make_binary_op (
'+', (yyvsp[(1) - (3)].tree_expression_type), (yyvsp[(2) - (3)].tok_val), (yyvsp[(3) - (3)].tree_expression_type)); }
4439 #line 671 "parse-tree/oct-parse.yy"
4440 { (yyval.
tree_expression_type) = parser.
make_binary_op (
'-', (yyvsp[(1) - (3)].tree_expression_type), (yyvsp[(2) - (3)].tok_val), (yyvsp[(3) - (3)].tree_expression_type)); }
4445 #line 673 "parse-tree/oct-parse.yy"
4451 #line 675 "parse-tree/oct-parse.yy"
4457 #line 677 "parse-tree/oct-parse.yy"
4463 #line 679 "parse-tree/oct-parse.yy"
4469 #line 683 "parse-tree/oct-parse.yy"
4475 #line 685 "parse-tree/oct-parse.yy"
4481 #line 687 "parse-tree/oct-parse.yy"
4487 #line 689 "parse-tree/oct-parse.yy"
4500 #line 698 "parse-tree/oct-parse.yy"
4513 #line 707 "parse-tree/oct-parse.yy"
4526 #line 716 "parse-tree/oct-parse.yy"
4539 #line 725 "parse-tree/oct-parse.yy"
4545 #line 727 "parse-tree/oct-parse.yy"
4551 #line 729 "parse-tree/oct-parse.yy"
4557 #line 731 "parse-tree/oct-parse.yy"
4563 #line 733 "parse-tree/oct-parse.yy"
4569 #line 735 "parse-tree/oct-parse.yy"
4575 #line 737 "parse-tree/oct-parse.yy"
4581 #line 741 "parse-tree/oct-parse.yy"
4587 #line 745 "parse-tree/oct-parse.yy"
4593 #line 747 "parse-tree/oct-parse.yy"
4595 if (! ((yyval.
tree_colon_expression_type) = (yyvsp[(1) - (3)].tree_colon_expression_type)->append ((yyvsp[(3) - (3)].tree_expression_type))))
4597 delete (yyvsp[(1) - (3)].tree_colon_expression_type);
4598 delete (yyvsp[(3) - (3)].tree_expression_type);
4606 #line 758 "parse-tree/oct-parse.yy"
4612 #line 760 "parse-tree/oct-parse.yy"
4618 #line 762 "parse-tree/oct-parse.yy"
4624 #line 764 "parse-tree/oct-parse.yy"
4630 #line 766 "parse-tree/oct-parse.yy"
4636 #line 768 "parse-tree/oct-parse.yy"
4642 #line 770 "parse-tree/oct-parse.yy"
4648 #line 772 "parse-tree/oct-parse.yy"
4654 #line 774 "parse-tree/oct-parse.yy"
4660 #line 776 "parse-tree/oct-parse.yy"
4666 #line 778 "parse-tree/oct-parse.yy"
4672 #line 780 "parse-tree/oct-parse.yy"
4678 #line 782 "parse-tree/oct-parse.yy"
4684 #line 786 "parse-tree/oct-parse.yy"
4689 {
lexer.looking_at_matrix_or_assign_lhs =
false; }
4700 #line 800 "parse-tree/oct-parse.yy"
4701 { (yyval.
tree_expression_type) = parser.
make_assign_op (
'=', (yyvsp[(1) - (3)].tree_argument_list_type), (yyvsp[(2) - (3)].tok_val), (yyvsp[(3) - (3)].tree_expression_type)); }
4706 #line 802 "parse-tree/oct-parse.yy"
4712 #line 804 "parse-tree/oct-parse.yy"
4718 #line 806 "parse-tree/oct-parse.yy"
4724 #line 808 "parse-tree/oct-parse.yy"
4730 #line 810 "parse-tree/oct-parse.yy"
4736 #line 812 "parse-tree/oct-parse.yy"
4742 #line 814 "parse-tree/oct-parse.yy"
4748 #line 816 "parse-tree/oct-parse.yy"
4754 #line 818 "parse-tree/oct-parse.yy"
4760 #line 820 "parse-tree/oct-parse.yy"
4766 #line 822 "parse-tree/oct-parse.yy"
4772 #line 824 "parse-tree/oct-parse.yy"
4778 #line 826 "parse-tree/oct-parse.yy"
4784 #line 828 "parse-tree/oct-parse.yy"
4790 #line 832 "parse-tree/oct-parse.yy"
4792 if ((yyvsp[(1) - (1)].tree_expression_type) && ((yyvsp[(1) - (1)].tree_expression_type)->is_matrix () || (yyvsp[(1) - (1)].tree_expression_type)->is_cell ()))
4798 delete (yyvsp[(1) - (1)].tree_expression_type);
4809 #line 847 "parse-tree/oct-parse.yy"
4815 #line 849 "parse-tree/oct-parse.yy"
4821 #line 857 "parse-tree/oct-parse.yy"
4827 #line 859 "parse-tree/oct-parse.yy"
4833 #line 861 "parse-tree/oct-parse.yy"
4839 #line 863 "parse-tree/oct-parse.yy"
4845 #line 865 "parse-tree/oct-parse.yy"
4851 #line 867 "parse-tree/oct-parse.yy"
4857 #line 869 "parse-tree/oct-parse.yy"
4863 #line 871 "parse-tree/oct-parse.yy"
4869 #line 879 "parse-tree/oct-parse.yy"
4872 lexer.looking_at_decl_list =
false;
4878 #line 884 "parse-tree/oct-parse.yy"
4881 lexer.looking_at_decl_list =
false;
4887 #line 891 "parse-tree/oct-parse.yy"
4893 #line 893 "parse-tree/oct-parse.yy"
4895 (yyvsp[(1) - (2)].tree_decl_init_list_type)->append ((yyvsp[(2) - (2)].tree_decl_elt_type));
4902 #line 900 "parse-tree/oct-parse.yy"
4903 {
lexer.looking_at_initializer_expression =
true; }
4908 #line 903 "parse-tree/oct-parse.yy"
4914 #line 905 "parse-tree/oct-parse.yy"
4916 lexer.looking_at_initializer_expression =
false;
4923 #line 916 "parse-tree/oct-parse.yy"
4929 #line 918 "parse-tree/oct-parse.yy"
4935 #line 926 "parse-tree/oct-parse.yy"
4937 if (! ((yyval.
tree_if_command_type) = parser.
finish_if_command ((yyvsp[(1) - (4)].tok_val), (yyvsp[(3) - (4)].tree_if_command_list_type), (yyvsp[(4) - (4)].tok_val), (yyvsp[(2) - (4)].comment_type))))
4947 #line 936 "parse-tree/oct-parse.yy"
4953 #line 938 "parse-tree/oct-parse.yy"
4955 (yyvsp[(1) - (2)].tree_if_command_list_type)->append ((yyvsp[(2) - (2)].tree_if_clause_type));
4962 #line 945 "parse-tree/oct-parse.yy"
4964 (yyvsp[(1) - (4)].tree_expression_type)->mark_braindead_shortcircuit (
lexer.fcn_file_full_name);
4972 #line 951 "parse-tree/oct-parse.yy"
4974 (yyvsp[(1) - (2)].tree_if_command_list_type)->append ((yyvsp[(2) - (2)].tree_if_clause_type));
4981 #line 958 "parse-tree/oct-parse.yy"
4983 (yyvsp[(4) - (7)].tree_expression_type)->mark_braindead_shortcircuit (
lexer.fcn_file_full_name);
4985 (yyval.
tree_if_clause_type) = parser.
make_elseif_clause ((yyvsp[(1) - (7)].tok_val), (yyvsp[(4) - (7)].tree_expression_type), (yyvsp[(7) - (7)].tree_statement_list_type), (yyvsp[(2) - (7)].comment_type));
4991 #line 966 "parse-tree/oct-parse.yy"
4997 #line 974 "parse-tree/oct-parse.yy"
4999 if (! ((yyval.
tree_switch_command_type) = parser.
finish_switch_command ((yyvsp[(1) - (6)].tok_val), (yyvsp[(3) - (6)].tree_expression_type), (yyvsp[(5) - (6)].tree_switch_case_list_type), (yyvsp[(6) - (6)].tok_val), (yyvsp[(2) - (6)].comment_type))))
5009 #line 984 "parse-tree/oct-parse.yy"
5015 #line 986 "parse-tree/oct-parse.yy"
5021 #line 988 "parse-tree/oct-parse.yy"
5027 #line 990 "parse-tree/oct-parse.yy"
5029 (yyvsp[(1) - (2)].tree_switch_case_list_type)->append ((yyvsp[(2) - (2)].tree_switch_case_type));
5036 #line 997 "parse-tree/oct-parse.yy"
5042 #line 999 "parse-tree/oct-parse.yy"
5044 (yyvsp[(1) - (2)].tree_switch_case_list_type)->append ((yyvsp[(2) - (2)].tree_switch_case_type));
5051 #line 1006 "parse-tree/oct-parse.yy"
5052 { (yyval.
tree_switch_case_type) = parser.
make_switch_case ((yyvsp[(1) - (7)].tok_val), (yyvsp[(4) - (7)].tree_expression_type), (yyvsp[(7) - (7)].tree_statement_list_type), (yyvsp[(2) - (7)].comment_type)); }
5057 #line 1010 "parse-tree/oct-parse.yy"
5065 #line 1020 "parse-tree/oct-parse.yy"
5067 (yyvsp[(3) - (7)].tree_expression_type)->mark_braindead_shortcircuit (
lexer.fcn_file_full_name);
5069 if (! ((yyval.
tree_command_type) = parser.
make_while_command ((yyvsp[(1) - (7)].tok_val), (yyvsp[(3) - (7)].tree_expression_type), (yyvsp[(6) - (7)].tree_statement_list_type), (yyvsp[(7) - (7)].tok_val), (yyvsp[(2) - (7)].comment_type))))
5079 #line 1030 "parse-tree/oct-parse.yy"
5081 (yyval.
tree_command_type) = parser.
make_do_until_command ((yyvsp[(5) - (6)].tok_val), (yyvsp[(4) - (6)].tree_statement_list_type), (yyvsp[(6) - (6)].tree_expression_type), (yyvsp[(2) - (6)].comment_type));
5087 #line 1034 "parse-tree/oct-parse.yy"
5089 if (! ((yyval.
tree_command_type) = parser.
make_for_command (
FOR, (yyvsp[(1) - (9)].tok_val), (yyvsp[(3) - (9)].tree_argument_list_type), (yyvsp[(5) - (9)].tree_expression_type), 0,
5090 (yyvsp[(8) - (9)].tree_statement_list_type), (yyvsp[(9) - (9)].tok_val), (yyvsp[(2) - (9)].comment_type))))
5100 #line 1043 "parse-tree/oct-parse.yy"
5102 if (! ((yyval.
tree_command_type) = parser.
make_for_command (
FOR, (yyvsp[(1) - (10)].tok_val), (yyvsp[(4) - (10)].tree_argument_list_type), (yyvsp[(6) - (10)].tree_expression_type), 0,
5103 (yyvsp[(9) - (10)].tree_statement_list_type), (yyvsp[(10) - (10)].tok_val), (yyvsp[(2) - (10)].comment_type))))
5113 #line 1052 "parse-tree/oct-parse.yy"
5116 0, (yyvsp[(8) - (9)].tree_statement_list_type), (yyvsp[(9) - (9)].tok_val), (yyvsp[(2) - (9)].comment_type))))
5126 #line 1061 "parse-tree/oct-parse.yy"
5129 (yyvsp[(8) - (12)].tree_expression_type), (yyvsp[(11) - (12)].tree_statement_list_type), (yyvsp[(12) - (12)].tok_val), (yyvsp[(2) - (12)].comment_type))))
5139 #line 1076 "parse-tree/oct-parse.yy"
5145 #line 1078 "parse-tree/oct-parse.yy"
5151 #line 1080 "parse-tree/oct-parse.yy"
5157 #line 1089 "parse-tree/oct-parse.yy"
5159 if (! ((yyval.
tree_command_type) = parser.
make_unwind_command ((yyvsp[(1) - (9)].tok_val), (yyvsp[(4) - (9)].tree_statement_list_type), (yyvsp[(8) - (9)].tree_statement_list_type), (yyvsp[(9) - (9)].tok_val), (yyvsp[(2) - (9)].comment_type), (yyvsp[(6) - (9)].comment_type))))
5169 #line 1098 "parse-tree/oct-parse.yy"
5171 if (! ((yyval.
tree_command_type) = parser.
make_try_command ((yyvsp[(1) - (9)].tok_val), (yyvsp[(4) - (9)].tree_statement_list_type), (yyvsp[(7) - (9)].sep_type), (yyvsp[(8) - (9)].tree_statement_list_type), (yyvsp[(9) - (9)].tok_val), (yyvsp[(2) - (9)].comment_type), (yyvsp[(6) - (9)].comment_type))))
5181 #line 1106 "parse-tree/oct-parse.yy"
5183 if (! ((yyval.
tree_command_type) = parser.
make_try_command ((yyvsp[(1) - (5)].tok_val), (yyvsp[(4) - (5)].tree_statement_list_type), 0, 0, (yyvsp[(5) - (5)].tok_val), (yyvsp[(2) - (5)].comment_type), 0)))
5193 #line 1120 "parse-tree/oct-parse.yy"
5203 (
lexer.symtab_context.curr_scope ());
5205 if (!
lexer.reading_script_file
5209 =
lexer.symtab_context.curr_scope ();
5211 if (
lexer.reading_script_file
5213 parser.
bison_error (
"nested functions not implemented in this context");
5219 #line 1148 "parse-tree/oct-parse.yy"
5221 lexer.looking_at_parameter_list =
true;
5223 if (
lexer.looking_at_function_handle)
5226 lexer.looking_at_function_handle--;
5227 lexer.looking_at_anon_fcn_args =
true;
5234 #line 1161 "parse-tree/oct-parse.yy"
5236 lexer.looking_at_parameter_list =
false;
5237 lexer.looking_for_object_index =
false;
5243 #line 1168 "parse-tree/oct-parse.yy"
5245 if ((yyvsp[(2) - (3)].tree_parameter_list_type))
5246 lexer.mark_as_variables ((yyvsp[(2) - (3)].tree_parameter_list_type)->variable_names ());
5254 #line 1175 "parse-tree/oct-parse.yy"
5264 #line 1183 "parse-tree/oct-parse.yy"
5270 #line 1185 "parse-tree/oct-parse.yy"
5272 (yyvsp[(1) - (1)].tree_parameter_list_type)->mark_as_formal_parameters ();
5275 lexer.mark_as_variables ((yyvsp[(1) - (1)].tree_parameter_list_type)->variable_names ());
5280 delete (yyvsp[(1) - (1)].tree_parameter_list_type);
5288 #line 1201 "parse-tree/oct-parse.yy"
5294 #line 1203 "parse-tree/oct-parse.yy"
5296 (yyvsp[(1) - (3)].tree_parameter_list_type)->append ((yyvsp[(3) - (3)].tree_decl_elt_type));
5303 #line 1210 "parse-tree/oct-parse.yy"
5309 #line 1212 "parse-tree/oct-parse.yy"
5315 #line 1220 "parse-tree/oct-parse.yy"
5317 lexer.looking_at_return_list =
false;
5325 #line 1226 "parse-tree/oct-parse.yy"
5327 lexer.looking_at_return_list =
false;
5347 #line 1244 "parse-tree/oct-parse.yy"
5349 lexer.looking_at_return_list =
false;
5358 delete (yyvsp[(2) - (3)].tree_parameter_list_type);
5366 #line 1261 "parse-tree/oct-parse.yy"
5372 #line 1263 "parse-tree/oct-parse.yy"
5374 (yyvsp[(1) - (3)].tree_parameter_list_type)->append (
new tree_decl_elt ((yyvsp[(3) - (3)].tree_identifier_type)));
5381 #line 1274 "parse-tree/oct-parse.yy"
5383 if (
lexer.reading_fcn_file)
5391 delete (yyvsp[(3) - (4)].tree_statement_list_type);
5396 = parser.
make_end (
"endscript",
true,
5397 lexer.input_line_number,
5398 lexer.current_input_column);
5400 parser.
make_script ((yyvsp[(3) - (4)].tree_statement_list_type), end_of_script);
5409 #line 1304 "parse-tree/oct-parse.yy"
5411 (yyval.
tok_val) = (yyvsp[(2) - (2)].tok_val);
5412 if (
lexer.reading_classdef_file
5413 ||
lexer.parsing_classdef)
5414 lexer.maybe_classdef_get_set_method =
true;
5420 #line 1313 "parse-tree/oct-parse.yy"
5422 (yyval.
tree_command_type) = parser.
finish_function (0, (yyvsp[(3) - (3)].octave_user_function_type), (yyvsp[(2) - (3)].comment_type), (yyvsp[(1) - (3)].tok_val)->line (),
5423 (yyvsp[(1) - (3)].tok_val)->column ());
5430 #line 1319 "parse-tree/oct-parse.yy"
5432 (yyval.
tree_command_type) = parser.
finish_function ((yyvsp[(3) - (5)].tree_parameter_list_type), (yyvsp[(5) - (5)].octave_user_function_type), (yyvsp[(2) - (5)].comment_type), (yyvsp[(1) - (5)].tok_val)->line (),
5433 (yyvsp[(1) - (5)].tok_val)->column ());
5440 #line 1327 "parse-tree/oct-parse.yy"
5442 std::string id_name = (yyvsp[(1) - (1)].tree_identifier_type)->name ();
5444 lexer.parsed_function_name.top () =
true;
5445 lexer.maybe_classdef_get_set_method =
false;
5453 #line 1336 "parse-tree/oct-parse.yy"
5455 lexer.parsed_function_name.top () =
true;
5456 lexer.maybe_classdef_get_set_method =
false;
5463 #line 1342 "parse-tree/oct-parse.yy"
5465 lexer.parsed_function_name.top () =
true;
5466 lexer.maybe_classdef_get_set_method =
false;
5473 #line 1350 "parse-tree/oct-parse.yy"
5475 std::string fname = (yyvsp[(1) - (2)].tree_identifier_type)->name ();
5477 delete (yyvsp[(1) - (2)].tree_identifier_type);
5485 #line 1360 "parse-tree/oct-parse.yy"
5486 { (yyval.
octave_user_function_type) = parser.
start_function ((yyvsp[(1) - (4)].tree_parameter_list_type), (yyvsp[(3) - (4)].tree_statement_list_type), (yyvsp[(4) - (4)].tree_statement_type)); }
5491 #line 1362 "parse-tree/oct-parse.yy"
5497 #line 1366 "parse-tree/oct-parse.yy"
5502 (yyvsp[(1) - (1)].tok_val)->
line (), (yyvsp[(1) - (1)].tok_val)->column ());
5510 #line 1375 "parse-tree/oct-parse.yy"
5521 parser.
bison_error (
"inconsistent function endings -- "
5522 "if one function is explicitly ended, "
5523 "so must all the others");
5527 if (! (
lexer.reading_fcn_file ||
lexer.reading_script_file
5528 ||
lexer.input_from_eval_string ()))
5530 parser.
bison_error (
"function body open at end of input");
5534 if (
lexer.reading_classdef_file)
5536 parser.
bison_error (
"classdef body open at end of input");
5541 lexer.input_line_number,
5542 lexer.current_input_column);
5548 #line 1415 "parse-tree/oct-parse.yy"
5551 lexer.parsing_classdef =
true;
5557 #line 1422 "parse-tree/oct-parse.yy"
5559 lexer.parsing_classdef =
false;
5563 (yyvsp[(1) - (1)].tok_val)->
line (), (yyvsp[(1) - (1)].tok_val)->column ());
5571 #line 1434 "parse-tree/oct-parse.yy"
5577 #line 1438 "parse-tree/oct-parse.yy"
5583 #line 1442 "parse-tree/oct-parse.yy"
5589 #line 1444 "parse-tree/oct-parse.yy"
5595 #line 1448 "parse-tree/oct-parse.yy"
5601 #line 1450 "parse-tree/oct-parse.yy"
5607 #line 1454 "parse-tree/oct-parse.yy"
5613 #line 1456 "parse-tree/oct-parse.yy"
5619 #line 1458 "parse-tree/oct-parse.yy"
5625 #line 1463 "parse-tree/oct-parse.yy"
5631 #line 1465 "parse-tree/oct-parse.yy"
5637 #line 1469 "parse-tree/oct-parse.yy"
5643 #line 1471 "parse-tree/oct-parse.yy"
5649 #line 1473 "parse-tree/oct-parse.yy"
5655 #line 1475 "parse-tree/oct-parse.yy"
5661 #line 1479 "parse-tree/oct-parse.yy"
5667 #line 1481 "parse-tree/oct-parse.yy"
5673 #line 1483 "parse-tree/oct-parse.yy"
5679 #line 1485 "parse-tree/oct-parse.yy"
5685 #line 1487 "parse-tree/oct-parse.yy"
5691 #line 1489 "parse-tree/oct-parse.yy"
5697 #line 1491 "parse-tree/oct-parse.yy"
5703 #line 1493 "parse-tree/oct-parse.yy"
5709 #line 1497 "parse-tree/oct-parse.yy"
5715 #line 1502 "parse-tree/oct-parse.yy"
5721 #line 1507 "parse-tree/oct-parse.yy"
5727 #line 1509 "parse-tree/oct-parse.yy"
5733 #line 1513 "parse-tree/oct-parse.yy"
5739 #line 1515 "parse-tree/oct-parse.yy"
5745 #line 1519 "parse-tree/oct-parse.yy"
5751 #line 1523 "parse-tree/oct-parse.yy"
5757 #line 1527 "parse-tree/oct-parse.yy"
5763 #line 1529 "parse-tree/oct-parse.yy"
5769 #line 1533 "parse-tree/oct-parse.yy"
5775 #line 1537 "parse-tree/oct-parse.yy"
5781 #line 1541 "parse-tree/oct-parse.yy"
5787 #line 1543 "parse-tree/oct-parse.yy"
5793 #line 1547 "parse-tree/oct-parse.yy"
5799 #line 1551 "parse-tree/oct-parse.yy"
5805 #line 1555 "parse-tree/oct-parse.yy"
5811 #line 1559 "parse-tree/oct-parse.yy"
5817 #line 1561 "parse-tree/oct-parse.yy"
5823 #line 1565 "parse-tree/oct-parse.yy"
5829 #line 1573 "parse-tree/oct-parse.yy"
5830 {
lexer.at_beginning_of_statement =
true; }
5835 #line 1577 "parse-tree/oct-parse.yy"
5841 #line 1581 "parse-tree/oct-parse.yy"
5847 #line 1586 "parse-tree/oct-parse.yy"
5853 #line 1588 "parse-tree/oct-parse.yy"
5859 #line 1590 "parse-tree/oct-parse.yy"
5860 { (yyval.
sep_type) = (yyvsp[(1) - (2)].sep_type); }
5865 #line 1592 "parse-tree/oct-parse.yy"
5866 { (yyval.
sep_type) = (yyvsp[(1) - (2)].sep_type); }
5871 #line 1596 "parse-tree/oct-parse.yy"
5877 #line 1598 "parse-tree/oct-parse.yy"
5878 { (yyval.
sep_type) = (yyvsp[(1) - (1)].sep_type); }
5883 #line 1602 "parse-tree/oct-parse.yy"
5889 #line 1604 "parse-tree/oct-parse.yy"
5890 { (yyval.
sep_type) = (yyvsp[(1) - (1)].sep_type); }
5895 #line 1608 "parse-tree/oct-parse.yy"
5901 #line 1610 "parse-tree/oct-parse.yy"
5902 { (yyval.
sep_type) = (yyvsp[(1) - (2)].sep_type); }
5907 #line 1614 "parse-tree/oct-parse.yy"
5913 #line 1616 "parse-tree/oct-parse.yy"
5919 #line 1618 "parse-tree/oct-parse.yy"
5925 #line 1620 "parse-tree/oct-parse.yy"
5926 { (yyval.
sep_type) = (yyvsp[(1) - (2)].sep_type); }
5931 #line 1622 "parse-tree/oct-parse.yy"
5932 { (yyval.
sep_type) = (yyvsp[(1) - (2)].sep_type); }
5937 #line 1624 "parse-tree/oct-parse.yy"
5938 { (yyval.
sep_type) = (yyvsp[(1) - (2)].sep_type); }
5943 #line 1628 "parse-tree/oct-parse.yy"
5949 #line 1630 "parse-tree/oct-parse.yy"
5950 { (yyval.
sep_type) = (yyvsp[(1) - (1)].sep_type); }
5955 #line 5956 "parse-tree/oct-parse.cc"
6004 #if ! YYERROR_VERBOSE
6007 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
6010 char const *yymsgp =
YY_(
"syntax error");
6011 int yysyntax_error_status;
6012 yysyntax_error_status = YYSYNTAX_ERROR;
6013 if (yysyntax_error_status == 0)
6015 else if (yysyntax_error_status == 1)
6017 if (yymsg != yymsgbuf)
6023 yymsg_alloc =
sizeof yymsgbuf;
6024 yysyntax_error_status = 2;
6028 yysyntax_error_status = YYSYNTAX_ERROR;
6033 if (yysyntax_error_status == 2)
6034 goto yyexhaustedlab;
6036 # undef YYSYNTAX_ERROR
6047 if (yychar <=
YYEOF)
6050 if (yychar ==
YYEOF)
6056 yytoken, &yylval, parser);
6112 yystos[
yystate], yyvsp, parser);
6144 #if !defined yyoverflow || YYERROR_VERBOSE
6161 yytoken, &yylval, parser);
6167 while (yyssp !=
yyss)
6170 yystos[*yyssp], yyvsp, parser);
6181 if (yymsg != yymsgbuf)
6185 return YYID (yyresult);
6190 #line 1633 "parse-tree/oct-parse.yy"
6237 static const char *fmt
6238 =
"'%s' command matched by '%s' near line %d column %d";
6243 error (fmt, type,
"end", l, c);
6247 error (fmt, type,
"endfor", l, c);
6251 error (fmt, type,
"endfunction", l, c);
6255 error (fmt, type,
"endclassdef", l, c);
6259 error (fmt, type,
"endif", l, c);
6263 error (fmt, type,
"endswitch", l, c);
6267 error (fmt, type,
"endwhile", l, c);
6271 error (fmt, type,
"end_try_catch", l, c);
6275 error (fmt, type,
"end_unwind_protect", l, c);
6299 int l = tok->
line ();
6313 end_error (
"enumeration", ettype, l, c);
6337 end_error (
"unwind_protect", ettype, l, c);
6364 (
"Octave:assign-as-truth-value",
6365 "suggest parenthesis around assignment used as truth value");
6368 (
"Octave:assign-as-truth-value",
6369 "suggest parenthesis around assignment used as truth value near line %d, column %d in file '%s'",
6383 "variable switch label");
6386 (
"Octave:variable-switch-label",
6387 "variable switch label near line %d, column %d in file '%s'",
6420 std::ostringstream buf;
6464 std::ostringstream buf;
6517 std::ostringstream buf;
6550 int l = tok_val->
line ();
6551 int c = tok_val->
column ();
6561 retval->stash_original_text (tok_val->
text_rep ());
6569 retval->stash_original_text (tok_val->
text_rep ());
6576 std::string txt = tok_val->
text ();
6578 char delim = op ==
DQ_STRING ?
'"' :
'\'';
6596 retval->stash_original_text (delim + txt + delim);
6613 int l = tok_val->
line ();
6614 int c = tok_val->
column ();
6747 int l = tok_val->
line ();
6748 int c = tok_val->
column ();
6779 int l = tok_val->
line ();
6780 int c = tok_val->
column ();
6823 int l = tok_val->
line ();
6824 int c = tok_val->
column ();
6863 int l = tok_val->
line ();
6864 int c = tok_val->
column ();
6888 int l = unwind_tok->
line ();
6889 int c = unwind_tok->
column ();
6897 delete cleanup_stmts;
6920 int l = try_tok->
line ();
6921 int c = try_tok->
column ();
6925 if (! catch_sep && cleanup_stmts && ! cleanup_stmts->
empty ())
6951 delete cleanup_stmts;
6976 int l = while_tok->
line ();
6977 int c = while_tok->
column ();
7004 int l = until_tok->
line ();
7005 int c = until_tok->
column ();
7023 bool parfor = tok_id ==
PARFOR;
7031 int l = for_tok->
line ();
7032 int c = for_tok->
column ();
7039 body, lc, tc, l, c);
7046 bison_error (
"invalid syntax for parfor statement");
7068 int l = break_tok->
line ();
7069 int c = break_tok->
column ();
7079 int l = continue_tok->
line ();
7080 int c = continue_tok->
column ();
7090 int l = return_tok->
line ();
7091 int c = return_tok->
column ();
7123 int l = if_tok->
line ();
7124 int c = if_tok->
column ();
7126 if (list && ! list->
empty ())
7155 int l = elseif_tok->
line ();
7156 int c = elseif_tok->
column ();
7176 int l = switch_tok->
line ();
7177 int c = switch_tok->
column ();
7179 if (list && ! list->
empty ())
7211 int l = case_tok->
line ();
7212 int c = case_tok->
column ();
7294 int l = eq_tok->
line ();
7295 int c = eq_tok->
column ();
7308 bison_error (
"computed multiple assignment not allowed");
7322 cmds->
append (end_script);
7350 body->
append (end_fcn_stmt);
7354 param_list, 0, body);
7362 end_fcn_stmt->
column ());
7380 std::string id_name = fname;
7397 if (pos != std::string::npos)
7403 (
"Octave:function-name-clash",
7404 "function name '%s' does not agree with function file name '%s'",
7446 if (fs && fs.is_newer (now))
7448 "time stamp for '%s' is in the future", nm.c_str ());
7455 warning (
"function '%s' defined within script file '%s'",
7489 std::string nm = fcn->
name ();
7492 std::string tmp = nm;
7493 if (! file.empty ())
7574 bison_error (
"invalid use of empty argument (~) in index expression");
7582 int l = expr->
line ();
7591 tmp->
append (args, type);
7605 const std::string& elt)
7609 int l = expr->
line ();
7635 int l = expr->
line ();
7662 int l = tok_val->
line ();
7663 int c = tok_val->
column ();
7677 warning (
"ignoring persistent declaration near line %d of file '%s'",
7680 warning (
"ignoring persistent declaration near line %d", l);
7707 bison_error (
"invalid use of tilde (~) in matrix expression");
7709 bison_error (
"invalid use of tilde (~) in cell expression");
7727 bison_error (
"invalid empty left hand side of assignment");
7729 bison_error (
"invalid constant left hand side of assignment");
7735 bool is_simple_assign =
true;
7743 if (mat && mat->
size () == 1)
7745 tmp = mat->
front ();
7748 is_simple_assign =
false;
7761 bison_error (
"invalid left hand side of assignment");
7765 if (retval && is_simple_assign)
7800 std::ostringstream buf;
7804 array_list->
accept (tpc);
7846 (
"Octave:missing-semicolon",
7847 "missing semicolon near line %d, column %d in file '%s'",
7854 char sep,
bool warn_missing_semi)
7868 if (warn_missing_semi)
7873 warning (
"unrecognized separator type!");
7908 bool warn_missing_semi)
7922 std::ostringstream output_buf;
7928 output_buf <<
"parse error:";
7930 if (s && strcmp (s,
"parse error") != 0)
7931 output_buf <<
"\n\n " << s;
7933 output_buf <<
"\n\n";
7937 if (! curr_line.empty ())
7939 size_t len = curr_line.length ();
7941 if (curr_line[len-1] ==
'\n')
7942 curr_line.resize (len-1);
7946 output_buf <<
">>> " << curr_line <<
"\n";
7951 for (
int i = 0; i < err_col + 3; i++)
7959 std::string msg = output_buf.str ();
8016 safe_fclose (FILE *
f)
8019 fclose (static_cast<FILE *> (f));
8023 parse_fcn_file (
const std::string& full_file,
const std::string& file,
8024 const std::string& dispatch_type,
8025 bool require_file,
bool force_script,
bool autoload,
8026 bool relative_lookup,
const std::string& warn_for)
8045 if (! full_file.empty ())
8046 ffile = gnulib::fopen (full_file.c_str (),
"rb");
8048 frame.
add_fcn (safe_fclose, ffile);
8068 int status = parser.run ();
8086 error (
"parse error while reading file %s", full_file.c_str ());
8088 else if (require_file)
8089 error (
"no such file, '%s'", full_file.c_str ());
8090 else if (! warn_for.empty ())
8091 error (
"%s: unable to open file '%s'", warn_for.c_str (),
8092 full_file.c_str ());
8099 std::string& full_file)
8105 std::string file = full_file;
8107 size_t file_len = file.length ();
8109 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
8110 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
8111 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
8114 file = file.substr (0, file.find_last_of (
'.'));
8117 if (pos != std::string::npos)
8118 file = file.substr (pos+1);
8121 if (! file.empty ())
8123 symbol_found =
true;
8126 = parse_fcn_file (full_file, file,
"",
true,
false,
false,
false,
"");
8151 typedef std::map<std::string, std::string>::const_iterator am_iter;
8153 am_iter p = autoload_map.find (nm);
8155 if (p != autoload_map.end ())
8167 typedef std::map<std::string, std::string>::const_iterator am_iter;
8168 for (am_iter p = autoload_map.begin (); p != autoload_map.end (); p++)
8169 names[i++] = p->first;
8179 typedef std::map<std::string, std::string>::const_iterator am_iter;
8180 for (am_iter p = autoload_map.begin (); p != autoload_map.end (); p++)
8181 if (nm == p->second)
8189 const std::string& dispatch_type,
8190 const std::string& fcn_name,
bool autoload)
8196 std::string nm = file_name;
8198 size_t nm_len = nm.length ();
8202 bool relative_lookup =
false;
8206 if ((nm_len > 4 && nm.substr (nm_len-4) ==
".oct")
8207 || (nm_len > 4 && nm.substr (nm_len-4) ==
".mex")
8208 || (nm_len > 2 && nm.substr (nm_len-2) ==
".m"))
8211 nm = nm.substr (0, nm.find_last_of (
'.'));
8214 if (pos != std::string::npos)
8215 nm = nm.substr (pos+1);
8222 int len = file.length ();
8224 if (len > 4 && file.substr (len-4, len-1) ==
".oct")
8226 if (autoload && ! fcn_name.empty ())
8231 else if (len > 4 && file.substr (len-4, len-1) ==
".mex")
8237 nm, dispatch_type,
false,
8239 relative_lookup,
"");
8249 retval = parse_fcn_file (file, nm, dispatch_type,
true, autoload,
8250 autoload, relative_lookup,
"");
8255 retval->stash_dir_name (dir_name);
8257 if (retval->is_user_function ())
8268 DEFUN (autoload, args, ,
8270 @deftypefn {Built-in Function} {} autoload (@var{function}, @var{file})\n\
8271 @deftypefnx {Built-in Function} {} autoload (@dots{}, @asis{\"remove\"})\n\
8272 Define @var{function} to autoload from @var{file}.\n\
8274 The second argument, @var{file}, should be an absolute file name or\n\
8275 a file name in the same directory as the function or script from which\n\
8276 the autoload command was run. @var{file} should not depend on the\n\
8277 Octave load path.\n\
8279 Normally, calls to @code{autoload} appear in PKG_ADD script files that\n\
8280 are evaluated when a directory is added to Octave's load path. To\n\
8281 avoid having to hardcode directory names in @var{file}, if @var{file}\n\
8282 is in the same directory as the PKG_ADD script then\n\
8285 autoload (\"foo\", \"bar.oct\");\n\
8289 will load the function @code{foo} from the file @code{bar.oct}. The above\n\
8290 usage when @code{bar.oct} is not in the same directory or usages such as\n\
8293 autoload (\"foo\", file_in_loadpath (\"bar.oct\"))\n\
8297 are strongly discouraged, as their behavior may be unpredictable.\n\
8299 With no arguments, return a structure containing the current autoload map.\n\
8301 If a third argument @asis{'remove'} is given, the function is cleared and\n\
8302 not loaded anymore during the current Octave session.\n\
8304 @seealso{PKG_ADD}\n\
8309 int nargin = args.
length ();
8317 typedef std::map<std::string, std::string>::const_iterator am_iter;
8318 for (am_iter p = autoload_map.begin (); p != autoload_map.end (); p++)
8320 func_names(i) = p->first;
8321 file_names(i) = p->second;
8328 m.
assign (
"function", func_names);
8329 m.
assign (
"file", file_names);
8333 else if (nargin == 2 || nargin == 3)
8339 std::string nm = argv[2];
8351 if (! fname.empty ())
8367 "autoload: '%s' is not an absolute file name",
8371 autoload_map[argv[1]] = nm;
8372 else if (nargin == 3)
8374 if (argv[3].compare (
"remove") != 0)
8376 "autoload: third argument can only be 'remove'");
8380 autoload_map.erase (argv[1]);
8392 bool verbose,
bool require_file,
const std::string& warn_for)
8427 static std::map<std::string, int> source_call_depth;
8435 if (source_call_depth.find (file_full_name) == source_call_depth.end ())
8436 source_call_depth[file_full_name] = -1;
8438 frame.
protect_var (source_call_depth[file_full_name]);
8440 source_call_depth[file_full_name]++;
8444 error (
"max_recursion_depth exceeded");
8448 if (! context.empty ())
8450 if (context ==
"caller")
8452 else if (context ==
"base")
8455 error (
"source: context must be \"caller\" or \"base\"");
8464 "", require_file,
true,
8465 false,
false, warn_for);
8475 std::cout <<
"executing commands from " << file_full_name <<
" ... ";
8476 reading_startup_message_printed =
true;
8483 std::cout <<
"done." << std::endl;
8489 error (
"source: error sourcing file '%s'",
8490 file_full_name.c_str ());
8494 DEFUN (mfilename, args, ,
8496 @deftypefn {Built-in Function} {} mfilename ()\n\
8497 @deftypefnx {Built-in Function} {} mfilename (\"fullpath\")\n\
8498 @deftypefnx {Built-in Function} {} mfilename (\"fullpathext\")\n\
8499 Return the name of the currently executing file. At the top-level,\n\
8500 return the empty string. Given the argument @qcode{\"fullpath\"},\n\
8501 include the directory part of the file name, but not the extension.\n\
8502 Given the argument @qcode{\"fullpathext\"}, include the directory part\n\
8503 of the file name and the extension.\n\
8508 int nargin = args.
length ();
8520 arg = args(0).string_value ();
8524 error (
"mfilename: expecting argument to be a character string");
8538 fname = fcn->
name ();
8541 if (arg ==
"fullpathext")
8546 size_t epos = fname.rfind (
'.');
8549 epos = std::string::npos;
8551 fname = (epos != std::string::npos) ? fname.substr (0, epos) : fname;
8553 if (arg ==
"fullpath")
8556 retval = (dpos != std::string::npos) ? fname.substr (dpos+1) : fname;
8562 DEFUN (source, args, ,
8564 @deftypefn {Built-in Function} {} source (@var{file})\n\
8565 Parse and execute the contents of @var{file}. This is equivalent to\n\
8566 executing commands from a script file, but without requiring the file to\n\
8567 be named @file{@var{file}.m}.\n\
8572 int nargin = args.
length ();
8574 if (nargin == 1 || nargin == 2)
8576 std::string file_name = args(0).string_value ();
8583 context = args(1).string_value ();
8588 error (
"source: expecting context to be character string");
8591 error (
"source: expecting file name as argument");
8617 error (
"feval: function '%s' not found", name.c_str ());
8652 int nargin = args.
length ();
8666 retval =
feval (name, tmp_args, nargout);
8678 error (
"feval: first argument must be a string, inline function or a function handle");
8686 @deftypefn {Built-in Function} {} feval (@var{name}, @dots{})\n\
8687 Evaluate the function named @var{name}. Any arguments after the first\n\
8688 are passed as inputs to the named function. For example,\n\
8692 feval (\"acos\", -1)\n\
8698 calls the function @code{acos} with the argument @samp{-1}.\n\
8700 The function @code{feval} can also be used with function handles of\n\
8701 any sort (@pxref{Function Handles}). Historically, @code{feval} was\n\
8702 the only way to call user-supplied functions in strings, but\n\
8703 function handles are now preferred due to the cleaner syntax they\n\
8704 offer. For example,\n\
8709 feval (@var{f}, 1)\n\
8717 are equivalent ways to call the function referred to by @var{f}. If it\n\
8718 cannot be predicted beforehand whether @var{f} is a function handle,\n\
8719 function name in a string, or inline function then @code{feval} can be used\n\
8725 int nargin = args.
length ();
8728 retval =
feval (args, nargout);
8735 DEFUN (builtin, args, nargout,
8737 @deftypefn {Loadable Function} {[@dots{}] =} builtin (@var{f}, @dots{})\n\
8738 Call the base function @var{f} even if @var{f} is overloaded to\n\
8739 another function for the given type signature.\n\
8741 This is normally useful when doing object-oriented programming and there\n\
8742 is a requirement to call one of Octave's base functions rather than\n\
8743 the overloaded one of a new class.\n\
8745 A trivial example which redefines the @code{sin} function to be the\n\
8746 @code{cos} function shows how @code{builtin} works.\n\
8752 function y = sin (x), y = cos (x); endfunction\n\
8755 builtin (\"sin\", 0)\n\
8763 int nargin = args.
length ();
8767 const std::string name (args(0).string_value ());
8777 error (
"builtin: lookup for symbol '%s' failed", name.c_str ());
8780 error (
"builtin: function name (F) must be a string");
8789 eval_string (
const std::string& eval_str,
bool silent,
8790 int& parse_status,
int nargout)
8800 parse_status = parser.run ();
8802 if (parse_status == 0)
8817 bool do_bind_ans =
false;
8824 do_bind_ans = (!
id->is_variable ());
8829 retval = expr->
rvalue (nargout);
8837 else if (nargout == 0)
8840 error (
"eval: invalid use of statement list");
8852 while (parse_status == 0);
8858 eval_string (
const std::string& eval_str,
bool silent,
int& parse_status)
8878 error (
"eval: expecting std::string argument");
8882 return eval_string (s, silent, parse_status, nargout);
8895 DEFUN (eval, args, nargout,
8897 @deftypefn {Built-in Function} {} eval (@var{try})\n\
8898 @deftypefnx {Built-in Function} {} eval (@var{try}, @var{catch})\n\
8899 Parse the string @var{try} and evaluate it as if it were an Octave\n\
8900 program. If that fails, evaluate the optional string @var{catch}.\n\
8901 The string @var{try} is evaluated in the current context,\n\
8902 so any results remain available after @code{eval} returns.\n\
8904 The following example makes the variable @var{A} with the approximate\n\
8905 value 3.1416 available.\n\
8908 eval (\"A = acos(-1);\");\n\
8911 If an error occurs during the evaluation of @var{try} the @var{catch}\n\
8912 string is evaluated, as the following example shows:\n\
8916 eval ('error (\"This is a bad example\");',\n\
8917 'printf (\"This error occurred:\\n%s\\n\", lasterr ());');\n\
8918 @print{} This error occurred:\n\
8919 This is a bad example\n\
8923 Consider using try/catch blocks instead if you are only using @code{eval}\n\
8924 as an error-capturing mechanism rather than for the execution of arbitrary\n\
8931 int nargin = args.
length ();
8943 int parse_status = 0;
8946 parse_status, nargout);
8948 if (nargin > 1 && (parse_status != 0 ||
error_state))
8957 tmp =
eval_string (args(1), nargout > 0, parse_status, nargout);
8962 else if (nargout > 0)
9009 DEFUN (assignin, args, ,
9011 @deftypefn {Built-in Function} {} assignin (@var{context}, @var{varname}, @var{value})\n\
9012 Assign @var{value} to @var{varname} in context @var{context}, which\n\
9013 may be either @qcode{\"base\"} or @qcode{\"caller\"}.\n\
9019 int nargin = args.
length ();
9023 std::string context = args(0).string_value ();
9029 if (context ==
"caller")
9031 else if (context ==
"base")
9034 error (
"assignin: CONTEXT must be \"caller\" or \"base\"");
9040 std::string nm = args(1).string_value ();
9047 error (
"assignin: invalid variable name in argument VARNAME");
9050 error (
"assignin: VARNAME must be a string");
9054 error (
"assignin: CONTEXT must be a string");
9062 DEFUN (evalin, args, nargout,
9064 @deftypefn {Built-in Function} {} evalin (@var{context}, @var{try})\n\
9065 @deftypefnx {Built-in Function} {} evalin (@var{context}, @var{try}, @var{catch})\n\
9066 Like @code{eval}, except that the expressions are evaluated in the\n\
9067 context @var{context}, which may be either @qcode{\"caller\"} or\n\
9068 @qcode{\"base\"}.\n\
9069 @seealso{eval, assignin}\n\
9074 int nargin = args.
length ();
9078 std::string context = args(0).string_value ();
9084 if (context ==
"caller")
9086 else if (context ==
"base")
9089 error (
"evalin: CONTEXT must be \"caller\" or \"base\"");
9101 int parse_status = 0;
9104 parse_status, nargout);
9109 if (nargin > 2 && (parse_status != 0 ||
error_state))
9119 parse_status, nargout);
9126 error (
"evalin: CONTEXT must be a string");
9134 DEFUN (__parser_debug_flag__, args, nargout,
9136 @deftypefn {Built-in Function} {@var{old_val} =} __parser_debug_flag__ (@var{new_val}))\n\
9137 Undocumented internal function.\n\
9142 bool debug_flag = octave_debug;
9145 "__parser_debug_flag__");
9147 octave_debug = debug_flag;
9152 DEFUN (__parse_file__, args, ,
9154 @deftypefn {Built-in Function} {} __parse_file__ (@var{file}, @var{verbose})\n\
9155 Undocumented internal function.\n\
9160 int nargin = args.
length ();
9162 if (nargin == 1 || nargin == 2)
9164 std::string file = args(0).string_value ();
9168 size_t file_len = file.length ();
9170 if ((file_len > 4 && file.substr (file_len-4) ==
".oct")
9171 || (file_len > 4 && file.substr (file_len-4) ==
".mex")
9172 || (file_len > 2 && file.substr (file_len-2) ==
".m"))
9175 file = file.substr (0, file.find_last_of (
'.'));
9178 if (pos != std::string::npos)
9179 file = file.substr (pos+1);
9189 false,
"__parse_file__");
9195 error (
"__parse_file__: expecting file name as argument");