• Home
  • Raw
  • Download

Lines Matching full:tree

17  *  Unlike the prior interface, the ability to give a parse tree
133 "unrecognized parse tree node type"); in node2tuple()
192 PyDoc_STR("Creates a list-tree representation of this ST.")},
194 PyDoc_STR("Creates a tuple-tree representation of this ST.")},
227 "Intermediate representation of a Python parse tree.",
438 * This function creates code objects from the parse tree represented by
448 char* str = "<syntax-tree>"; in parser_compilest()
623 * Two aspects can be broken out in this code: creating a node tree from
633 static int validate_expr_tree(node *tree);
634 static int validate_file_input(node *tree);
635 static int validate_encoding_decl(node *tree);
656 node *tree; in parser_tuple2st() local
669 * Convert the tree to the internal form before checking it. in parser_tuple2st()
671 tree = build_node_tree(tuple); in parser_tuple2st()
672 if (tree != 0) { in parser_tuple2st()
673 int start_sym = TYPE(tree); in parser_tuple2st()
676 if (validate_expr_tree(tree)) in parser_tuple2st()
677 st = parser_newstobject(tree, PyST_EXPR); in parser_tuple2st()
679 PyNode_Free(tree); in parser_tuple2st()
683 if (validate_file_input(tree)) in parser_tuple2st()
684 st = parser_newstobject(tree, PyST_SUITE); in parser_tuple2st()
686 PyNode_Free(tree); in parser_tuple2st()
690 if (validate_encoding_decl(tree)) in parser_tuple2st()
691 st = parser_newstobject(tree, PyST_SUITE); in parser_tuple2st()
693 PyNode_Free(tree); in parser_tuple2st()
697 PyNode_Free(tree); in parser_tuple2st()
698 err_string("parse tree does not use a valid start symbol"); in parser_tuple2st()
732 * the tree, otherwise, 0. Any required exception will be specified already,
888 "Illegal syntax-tree; cannot start with terminal symbol."); in build_node_tree()
982 #define VALIDATER(n) static int validate_##n(node *tree)
1072 validate_repeating_list(node *tree, int ntype, int (*vfunc)(node *), in validate_repeating_list() argument
1075 int nch = NCH(tree); in validate_repeating_list()
1076 int res = (nch && validate_ntype(tree, ntype) in validate_repeating_list()
1077 && vfunc(CHILD(tree, 0))); in validate_repeating_list()
1080 (void) validate_numnodes(tree, 1, name); in validate_repeating_list()
1083 res = validate_comma(CHILD(tree, --nch)); in validate_repeating_list()
1087 res = (validate_comma(CHILD(tree, pos)) in validate_repeating_list()
1088 && vfunc(CHILD(tree, pos + 1))); in validate_repeating_list()
1101 validate_class(node *tree) in validate_class() argument
1103 int nch = NCH(tree); in validate_class()
1104 int res = (validate_ntype(tree, classdef) && in validate_class()
1108 res = (validate_name(CHILD(tree, 0), "class") in validate_class()
1109 && validate_ntype(CHILD(tree, 1), NAME) in validate_class()
1110 && validate_colon(CHILD(tree, nch - 2)) in validate_class()
1111 && validate_suite(CHILD(tree, nch - 1))); in validate_class()
1114 (void) validate_numnodes(tree, 4, "class"); in validate_class()
1119 res = ((validate_lparen(CHILD(tree, 2)) && in validate_class()
1120 validate_testlist(CHILD(tree, 3)) && in validate_class()
1121 validate_rparen(CHILD(tree, 4)))); in validate_class()
1124 res = (validate_lparen(CHILD(tree,2)) && in validate_class()
1125 validate_rparen(CHILD(tree,3))); in validate_class()
1136 validate_if(node *tree) in validate_if() argument
1138 int nch = NCH(tree); in validate_if()
1139 int res = (validate_ntype(tree, if_stmt) in validate_if()
1141 && validate_name(CHILD(tree, 0), "if") in validate_if()
1142 && validate_test(CHILD(tree, 1)) in validate_if()
1143 && validate_colon(CHILD(tree, 2)) in validate_if()
1144 && validate_suite(CHILD(tree, 3))); in validate_if()
1148 res = (validate_name(CHILD(tree, nch - 3), "else") in validate_if()
1149 && validate_colon(CHILD(tree, nch - 2)) in validate_if()
1150 && validate_suite(CHILD(tree, nch - 1))); in validate_if()
1154 (void) validate_numnodes(tree, 4, "if"); in validate_if()
1157 res = validate_numnodes(tree, 0, "if"); in validate_if()
1162 res = (validate_name(CHILD(tree, j), "elif") in validate_if()
1163 && validate_colon(CHILD(tree, j + 2)) in validate_if()
1164 && validate_test(CHILD(tree, j + 1)) in validate_if()
1165 && validate_suite(CHILD(tree, j + 3))); in validate_if()
1178 validate_parameters(node *tree) in validate_parameters() argument
1180 int nch = NCH(tree); in validate_parameters()
1181 int res = validate_ntype(tree, parameters) && ((nch == 2) || (nch == 3)); in validate_parameters()
1184 res = (validate_lparen(CHILD(tree, 0)) in validate_parameters()
1185 && validate_rparen(CHILD(tree, nch - 1))); in validate_parameters()
1187 res = validate_varargslist(CHILD(tree, 1)); in validate_parameters()
1190 (void) validate_numnodes(tree, 2, "parameters"); in validate_parameters()
1203 validate_suite(node *tree) in validate_suite() argument
1205 int nch = NCH(tree); in validate_suite()
1206 int res = (validate_ntype(tree, suite) && ((nch == 1) || (nch >= 4))); in validate_suite()
1209 res = validate_simple_stmt(CHILD(tree, 0)); in validate_suite()
1212 res = (validate_newline(CHILD(tree, 0)) in validate_suite()
1213 && validate_indent(CHILD(tree, 1)) in validate_suite()
1214 && validate_stmt(CHILD(tree, 2)) in validate_suite()
1215 && validate_dedent(CHILD(tree, nch - 1))); in validate_suite()
1221 res = validate_stmt(CHILD(tree, i)); in validate_suite()
1224 res = validate_numnodes(tree, 4, "suite"); in validate_suite()
1231 validate_testlist(node *tree) in validate_testlist() argument
1233 return (validate_repeating_list(tree, testlist, in validate_testlist()
1239 validate_testlist1(node *tree) in validate_testlist1() argument
1241 return (validate_repeating_list(tree, testlist1, in validate_testlist1()
1247 validate_testlist_safe(node *tree) in validate_testlist_safe() argument
1249 return (validate_repeating_list(tree, testlist_safe, in validate_testlist_safe()
1257 validate_varargslist_trailer(node *tree, int start) in validate_varargslist_trailer() argument
1259 int nch = NCH(tree); in validate_varargslist_trailer()
1267 sym = TYPE(CHILD(tree, start)); in validate_varargslist_trailer()
1273 res = validate_name(CHILD(tree, start+1), NULL); in validate_varargslist_trailer()
1275 res = (validate_name(CHILD(tree, start+1), NULL) in validate_varargslist_trailer()
1276 && validate_comma(CHILD(tree, start+2)) in validate_varargslist_trailer()
1277 && validate_doublestar(CHILD(tree, start+3)) in validate_varargslist_trailer()
1278 && validate_name(CHILD(tree, start+4), NULL)); in validate_varargslist_trailer()
1285 res = validate_name(CHILD(tree, start+1), NULL); in validate_varargslist_trailer()
1303 validate_varargslist(node *tree) in validate_varargslist() argument
1305 int nch = NCH(tree); in validate_varargslist()
1306 int res = validate_ntype(tree, varargslist) && (nch != 0); in validate_varargslist()
1315 sym = TYPE(CHILD(tree, 0)); in validate_varargslist()
1320 res = validate_varargslist_trailer(tree, 0); in validate_varargslist()
1324 sym = TYPE(CHILD(tree, nch-1)); in validate_varargslist()
1333 res = validate_fpdef(CHILD(tree, i)); in validate_varargslist()
1335 if (res && TYPE(CHILD(tree, i)) == EQUAL && (i+2 <= nch)) { in validate_varargslist()
1336 res = (validate_equal(CHILD(tree, i)) in validate_varargslist()
1337 && validate_test(CHILD(tree, i+1))); in validate_varargslist()
1342 res = validate_comma(CHILD(tree, i)); in validate_varargslist()
1345 && (TYPE(CHILD(tree, i)) == DOUBLESTAR in validate_varargslist()
1346 || TYPE(CHILD(tree, i)) == STAR)) in validate_varargslist()
1354 res = validate_varargslist_trailer(tree, i); in validate_varargslist()
1362 res = validate_comma(CHILD(tree, nch-1)); in validate_varargslist()
1370 res = validate_fpdef(CHILD(tree, 0)); in validate_varargslist()
1372 if (res && (i+2 <= nch) && TYPE(CHILD(tree, i)) == EQUAL) { in validate_varargslist()
1373 res = (validate_equal(CHILD(tree, i)) in validate_varargslist()
1374 && validate_test(CHILD(tree, i+1))); in validate_varargslist()
1382 res = (validate_comma(CHILD(tree, i)) in validate_varargslist()
1383 && validate_fpdef(CHILD(tree, i+1))); in validate_varargslist()
1385 if (res && (nch - i) >= 2 && TYPE(CHILD(tree, i)) == EQUAL) { in validate_varargslist()
1386 res = (validate_equal(CHILD(tree, i)) in validate_varargslist()
1387 && validate_test(CHILD(tree, i+1))); in validate_varargslist()
1404 validate_list_iter(node *tree) in validate_list_iter() argument
1406 int res = (validate_ntype(tree, list_iter) in validate_list_iter()
1407 && validate_numnodes(tree, 1, "list_iter")); in validate_list_iter()
1408 if (res && TYPE(CHILD(tree, 0)) == list_for) in validate_list_iter()
1409 res = validate_list_for(CHILD(tree, 0)); in validate_list_iter()
1411 res = validate_list_if(CHILD(tree, 0)); in validate_list_iter()
1419 validate_comp_iter(node *tree) in validate_comp_iter() argument
1421 int res = (validate_ntype(tree, comp_iter) in validate_comp_iter()
1422 && validate_numnodes(tree, 1, "comp_iter")); in validate_comp_iter()
1423 if (res && TYPE(CHILD(tree, 0)) == comp_for) in validate_comp_iter()
1424 res = validate_comp_for(CHILD(tree, 0)); in validate_comp_iter()
1426 res = validate_comp_if(CHILD(tree, 0)); in validate_comp_iter()
1434 validate_list_for(node *tree) in validate_list_for() argument
1436 int nch = NCH(tree); in validate_list_for()
1440 res = validate_list_iter(CHILD(tree, 4)); in validate_list_for()
1442 res = validate_numnodes(tree, 4, "list_for"); in validate_list_for()
1445 res = (validate_name(CHILD(tree, 0), "for") in validate_list_for()
1446 && validate_exprlist(CHILD(tree, 1)) in validate_list_for()
1447 && validate_name(CHILD(tree, 2), "in") in validate_list_for()
1448 && validate_testlist_safe(CHILD(tree, 3))); in validate_list_for()
1456 validate_comp_for(node *tree) in validate_comp_for() argument
1458 int nch = NCH(tree); in validate_comp_for()
1462 res = validate_comp_iter(CHILD(tree, 4)); in validate_comp_for()
1464 res = validate_numnodes(tree, 4, "comp_for"); in validate_comp_for()
1467 res = (validate_name(CHILD(tree, 0), "for") in validate_comp_for()
1468 && validate_exprlist(CHILD(tree, 1)) in validate_comp_for()
1469 && validate_name(CHILD(tree, 2), "in") in validate_comp_for()
1470 && validate_or_test(CHILD(tree, 3))); in validate_comp_for()
1478 validate_list_if(node *tree) in validate_list_if() argument
1480 int nch = NCH(tree); in validate_list_if()
1484 res = validate_list_iter(CHILD(tree, 2)); in validate_list_if()
1486 res = validate_numnodes(tree, 2, "list_if"); in validate_list_if()
1489 res = (validate_name(CHILD(tree, 0), "if") in validate_list_if()
1490 && validate_old_test(CHILD(tree, 1))); in validate_list_if()
1498 validate_comp_if(node *tree) in validate_comp_if() argument
1500 int nch = NCH(tree); in validate_comp_if()
1504 res = validate_comp_iter(CHILD(tree, 2)); in validate_comp_if()
1506 res = validate_numnodes(tree, 2, "comp_if"); in validate_comp_if()
1509 res = (validate_name(CHILD(tree, 0), "if") in validate_comp_if()
1510 && validate_old_test(CHILD(tree, 1))); in validate_comp_if()
1522 validate_fpdef(node *tree) in validate_fpdef() argument
1524 int nch = NCH(tree); in validate_fpdef()
1525 int res = validate_ntype(tree, fpdef); in validate_fpdef()
1529 res = validate_ntype(CHILD(tree, 0), NAME); in validate_fpdef()
1531 res = (validate_lparen(CHILD(tree, 0)) in validate_fpdef()
1532 && validate_fplist(CHILD(tree, 1)) in validate_fpdef()
1533 && validate_rparen(CHILD(tree, 2))); in validate_fpdef()
1535 res = validate_numnodes(tree, 1, "fpdef"); in validate_fpdef()
1542 validate_fplist(node *tree) in validate_fplist() argument
1544 return (validate_repeating_list(tree, fplist, in validate_fplist()
1553 validate_stmt(node *tree) in validate_stmt() argument
1555 int res = (validate_ntype(tree, stmt) in validate_stmt()
1556 && validate_numnodes(tree, 1, "stmt")); in validate_stmt()
1559 tree = CHILD(tree, 0); in validate_stmt()
1561 if (TYPE(tree) == simple_stmt) in validate_stmt()
1562 res = validate_simple_stmt(tree); in validate_stmt()
1564 res = validate_compound_stmt(tree); in validate_stmt()
1574 validate_simple_stmt(node *tree) in validate_simple_stmt() argument
1576 int nch = NCH(tree); in validate_simple_stmt()
1577 int res = (validate_ntype(tree, simple_stmt) in validate_simple_stmt()
1579 && validate_small_stmt(CHILD(tree, 0)) in validate_simple_stmt()
1580 && validate_newline(CHILD(tree, nch - 1))); in validate_simple_stmt()
1583 res = validate_numnodes(tree, 2, "simple_stmt"); in validate_simple_stmt()
1586 res = validate_semi(CHILD(tree, --nch)); in validate_simple_stmt()
1591 res = (validate_semi(CHILD(tree, i)) in validate_simple_stmt()
1592 && validate_small_stmt(CHILD(tree, i + 1))); in validate_simple_stmt()
1599 validate_small_stmt(node *tree) in validate_small_stmt() argument
1601 int nch = NCH(tree); in validate_small_stmt()
1602 int res = validate_numnodes(tree, 1, "small_stmt"); in validate_small_stmt()
1605 int ntype = TYPE(CHILD(tree, 0)); in validate_small_stmt()
1616 res = validate_node(CHILD(tree, 0)); in validate_small_stmt()
1626 TYPE(CHILD(tree, 0))); in validate_small_stmt()
1636 validate_compound_stmt(node *tree) in validate_compound_stmt() argument
1638 int res = (validate_ntype(tree, compound_stmt) in validate_compound_stmt()
1639 && validate_numnodes(tree, 1, "compound_stmt")); in validate_compound_stmt()
1645 tree = CHILD(tree, 0); in validate_compound_stmt()
1646 ntype = TYPE(tree); in validate_compound_stmt()
1655 res = validate_node(tree); in validate_compound_stmt()
1659 "Illegal compound statement type: %d.", TYPE(tree)); in validate_compound_stmt()
1665 validate_yield_or_testlist(node *tree) in validate_yield_or_testlist() argument
1667 if (TYPE(tree) == yield_expr) in validate_yield_or_testlist()
1668 return validate_yield_expr(tree); in validate_yield_or_testlist()
1670 return validate_testlist(tree); in validate_yield_or_testlist()
1674 validate_expr_stmt(node *tree) in validate_expr_stmt() argument
1677 int nch = NCH(tree); in validate_expr_stmt()
1678 int res = (validate_ntype(tree, expr_stmt) in validate_expr_stmt()
1680 && validate_testlist(CHILD(tree, 0))); in validate_expr_stmt()
1683 && TYPE(CHILD(tree, 1)) == augassign) { in validate_expr_stmt()
1684 res = validate_numnodes(CHILD(tree, 1), 1, "augassign") in validate_expr_stmt()
1685 && validate_yield_or_testlist(CHILD(tree, 2)); in validate_expr_stmt()
1688 char *s = STR(CHILD(CHILD(tree, 1), 0)); in validate_expr_stmt()
1708 res = validate_equal(CHILD(tree, j)) in validate_expr_stmt()
1709 && validate_yield_or_testlist(CHILD(tree, j + 1)); in validate_expr_stmt()
1721 validate_print_stmt(node *tree) in validate_print_stmt() argument
1723 int nch = NCH(tree); in validate_print_stmt()
1724 int res = (validate_ntype(tree, print_stmt) in validate_print_stmt()
1726 && validate_name(CHILD(tree, 0), "print")); in validate_print_stmt()
1729 int sym = TYPE(CHILD(tree, 1)); in validate_print_stmt()
1734 res = validate_test(CHILD(tree, i++)); in validate_print_stmt()
1737 res = validate_numnodes(tree, 3, "print_stmt"); in validate_print_stmt()
1739 res = (validate_ntype(CHILD(tree, i), RIGHTSHIFT) in validate_print_stmt()
1740 && validate_test(CHILD(tree, i+1))); in validate_print_stmt()
1748 res = (validate_comma(CHILD(tree, i)) in validate_print_stmt()
1749 && validate_test(CHILD(tree, i+1))); in validate_print_stmt()
1754 res = validate_numnodes(tree, i, "print_stmt"); in validate_print_stmt()
1756 res = validate_comma(CHILD(tree, i)); in validate_print_stmt()
1764 validate_del_stmt(node *tree) in validate_del_stmt() argument
1766 return (validate_numnodes(tree, 2, "del_stmt") in validate_del_stmt()
1767 && validate_name(CHILD(tree, 0), "del") in validate_del_stmt()
1768 && validate_exprlist(CHILD(tree, 1))); in validate_del_stmt()
1773 validate_return_stmt(node *tree) in validate_return_stmt() argument
1775 int nch = NCH(tree); in validate_return_stmt()
1776 int res = (validate_ntype(tree, return_stmt) in validate_return_stmt()
1778 && validate_name(CHILD(tree, 0), "return")); in validate_return_stmt()
1781 res = validate_testlist(CHILD(tree, 1)); in validate_return_stmt()
1788 validate_raise_stmt(node *tree) in validate_raise_stmt() argument
1790 int nch = NCH(tree); in validate_raise_stmt()
1791 int res = (validate_ntype(tree, raise_stmt) in validate_raise_stmt()
1795 res = validate_name(CHILD(tree, 0), "raise"); in validate_raise_stmt()
1797 res = validate_test(CHILD(tree, 1)); in validate_raise_stmt()
1799 res = (validate_comma(CHILD(tree, 2)) in validate_raise_stmt()
1800 && validate_test(CHILD(tree, 3))); in validate_raise_stmt()
1802 res = (validate_comma(CHILD(tree, 4)) in validate_raise_stmt()
1803 && validate_test(CHILD(tree, 5))); in validate_raise_stmt()
1807 (void) validate_numnodes(tree, 2, "raise"); in validate_raise_stmt()
1809 res = (validate_comma(CHILD(tree, 2)) in validate_raise_stmt()
1810 && validate_test(CHILD(tree, 3))); in validate_raise_stmt()
1819 validate_yield_expr(node *tree) in validate_yield_expr() argument
1821 int nch = NCH(tree); in validate_yield_expr()
1822 int res = (validate_ntype(tree, yield_expr) in validate_yield_expr()
1824 && validate_name(CHILD(tree, 0), "yield")); in validate_yield_expr()
1827 res = validate_testlist(CHILD(tree, 1)); in validate_yield_expr()
1836 validate_yield_stmt(node *tree) in validate_yield_stmt() argument
1838 return (validate_ntype(tree, yield_stmt) in validate_yield_stmt()
1839 && validate_numnodes(tree, 1, "yield_stmt") in validate_yield_stmt()
1840 && validate_yield_expr(CHILD(tree, 0))); in validate_yield_stmt()
1845 validate_import_as_name(node *tree) in validate_import_as_name() argument
1847 int nch = NCH(tree); in validate_import_as_name()
1848 int ok = validate_ntype(tree, import_as_name); in validate_import_as_name()
1852 ok = validate_name(CHILD(tree, 0), NULL); in validate_import_as_name()
1854 ok = (validate_name(CHILD(tree, 0), NULL) in validate_import_as_name()
1855 && validate_name(CHILD(tree, 1), "as") in validate_import_as_name()
1856 && validate_name(CHILD(tree, 2), NULL)); in validate_import_as_name()
1858 ok = validate_numnodes(tree, 3, "import_as_name"); in validate_import_as_name()
1867 validate_dotted_name(node *tree) in validate_dotted_name() argument
1869 int nch = NCH(tree); in validate_dotted_name()
1870 int res = (validate_ntype(tree, dotted_name) in validate_dotted_name()
1872 && validate_name(CHILD(tree, 0), NULL)); in validate_dotted_name()
1876 res = (validate_dot(CHILD(tree, i)) in validate_dotted_name()
1877 && validate_name(CHILD(tree, i+1), NULL)); in validate_dotted_name()
1886 validate_dotted_as_name(node *tree) in validate_dotted_as_name() argument
1888 int nch = NCH(tree); in validate_dotted_as_name()
1889 int res = validate_ntype(tree, dotted_as_name); in validate_dotted_as_name()
1893 res = validate_dotted_name(CHILD(tree, 0)); in validate_dotted_as_name()
1895 res = (validate_dotted_name(CHILD(tree, 0)) in validate_dotted_as_name()
1896 && validate_name(CHILD(tree, 1), "as") in validate_dotted_as_name()
1897 && validate_name(CHILD(tree, 2), NULL)); in validate_dotted_as_name()
1909 validate_dotted_as_names(node *tree) in validate_dotted_as_names() argument
1911 int nch = NCH(tree); in validate_dotted_as_names()
1912 int res = is_odd(nch) && validate_dotted_as_name(CHILD(tree, 0)); in validate_dotted_as_names()
1916 res = (validate_comma(CHILD(tree, i)) in validate_dotted_as_names()
1917 && validate_dotted_as_name(CHILD(tree, i + 1))); in validate_dotted_as_names()
1924 validate_import_as_names(node *tree) in validate_import_as_names() argument
1926 int nch = NCH(tree); in validate_import_as_names()
1927 int res = validate_import_as_name(CHILD(tree, 0)); in validate_import_as_names()
1931 res = (validate_comma(CHILD(tree, i)) in validate_import_as_names()
1932 && validate_import_as_name(CHILD(tree, i + 1))); in validate_import_as_names()
1939 validate_import_name(node *tree) in validate_import_name() argument
1941 return (validate_ntype(tree, import_name) in validate_import_name()
1942 && validate_numnodes(tree, 2, "import_name") in validate_import_name()
1943 && validate_name(CHILD(tree, 0), "import") in validate_import_name()
1944 && validate_dotted_as_names(CHILD(tree, 1))); in validate_import_name()
1951 count_from_dots(node *tree) in count_from_dots() argument
1954 for (i = 1; i < NCH(tree); i++) in count_from_dots()
1955 if (TYPE(CHILD(tree, i)) != DOT) in count_from_dots()
1964 validate_import_from(node *tree) in validate_import_from() argument
1966 int nch = NCH(tree); in validate_import_from()
1967 int ndots = count_from_dots(tree); in validate_import_from()
1968 int havename = (TYPE(CHILD(tree, ndots + 1)) == dotted_name); in validate_import_from()
1970 int res = validate_ntype(tree, import_from) in validate_import_from()
1973 && validate_name(CHILD(tree, 0), "from") in validate_import_from()
1974 && (!havename || validate_dotted_name(CHILD(tree, ndots + 1))) in validate_import_from()
1975 && validate_name(CHILD(tree, offset + 1), "import"); in validate_import_from()
1977 if (res && TYPE(CHILD(tree, offset + 2)) == LPAR) in validate_import_from()
1979 && validate_lparen(CHILD(tree, offset + 2)) in validate_import_from()
1980 && validate_import_as_names(CHILD(tree, offset + 3)) in validate_import_from()
1981 && validate_rparen(CHILD(tree, offset + 4))); in validate_import_from()
1982 else if (res && TYPE(CHILD(tree, offset + 2)) != STAR) in validate_import_from()
1983 res = validate_import_as_names(CHILD(tree, offset + 2)); in validate_import_from()
1990 validate_import_stmt(node *tree) in validate_import_stmt() argument
1992 int nch = NCH(tree); in validate_import_stmt()
1993 int res = validate_numnodes(tree, 1, "import_stmt"); in validate_import_stmt()
1996 int ntype = TYPE(CHILD(tree, 0)); in validate_import_stmt()
1999 res = validate_node(CHILD(tree, 0)); in validate_import_stmt()
2009 TYPE(CHILD(tree, 0))); in validate_import_stmt()
2018 validate_global_stmt(node *tree) in validate_global_stmt() argument
2021 int nch = NCH(tree); in validate_global_stmt()
2022 int res = (validate_ntype(tree, global_stmt) in validate_global_stmt()
2029 res = (validate_name(CHILD(tree, 0), "global") in validate_global_stmt()
2030 && validate_ntype(CHILD(tree, 1), NAME)); in validate_global_stmt()
2032 res = (validate_comma(CHILD(tree, j)) in validate_global_stmt()
2033 && validate_ntype(CHILD(tree, j + 1), NAME)); in validate_global_stmt()
2044 validate_exec_stmt(node *tree) in validate_exec_stmt() argument
2046 int nch = NCH(tree); in validate_exec_stmt()
2047 int res = (validate_ntype(tree, exec_stmt) in validate_exec_stmt()
2049 && validate_name(CHILD(tree, 0), "exec") in validate_exec_stmt()
2050 && validate_expr(CHILD(tree, 1))); in validate_exec_stmt()
2055 res = (validate_name(CHILD(tree, 2), "in") in validate_exec_stmt()
2056 && validate_test(CHILD(tree, 3))); in validate_exec_stmt()
2058 res = (validate_comma(CHILD(tree, 4)) in validate_exec_stmt()
2059 && validate_test(CHILD(tree, 5))); in validate_exec_stmt()
2070 validate_assert_stmt(node *tree) in validate_assert_stmt() argument
2072 int nch = NCH(tree); in validate_assert_stmt()
2073 int res = (validate_ntype(tree, assert_stmt) in validate_assert_stmt()
2075 && (validate_name(CHILD(tree, 0), "assert")) in validate_assert_stmt()
2076 && validate_test(CHILD(tree, 1))); in validate_assert_stmt()
2081 res = (validate_comma(CHILD(tree, 2)) in validate_assert_stmt()
2082 && validate_test(CHILD(tree, 3))); in validate_assert_stmt()
2089 validate_while(node *tree) in validate_while() argument
2091 int nch = NCH(tree); in validate_while()
2092 int res = (validate_ntype(tree, while_stmt) in validate_while()
2094 && validate_name(CHILD(tree, 0), "while") in validate_while()
2095 && validate_test(CHILD(tree, 1)) in validate_while()
2096 && validate_colon(CHILD(tree, 2)) in validate_while()
2097 && validate_suite(CHILD(tree, 3))); in validate_while()
2100 res = (validate_name(CHILD(tree, 4), "else") in validate_while()
2101 && validate_colon(CHILD(tree, 5)) in validate_while()
2102 && validate_suite(CHILD(tree, 6))); in validate_while()
2109 validate_for(node *tree) in validate_for() argument
2111 int nch = NCH(tree); in validate_for()
2112 int res = (validate_ntype(tree, for_stmt) in validate_for()
2114 && validate_name(CHILD(tree, 0), "for") in validate_for()
2115 && validate_exprlist(CHILD(tree, 1)) in validate_for()
2116 && validate_name(CHILD(tree, 2), "in") in validate_for()
2117 && validate_testlist(CHILD(tree, 3)) in validate_for()
2118 && validate_colon(CHILD(tree, 4)) in validate_for()
2119 && validate_suite(CHILD(tree, 5))); in validate_for()
2122 res = (validate_name(CHILD(tree, 6), "else") in validate_for()
2123 && validate_colon(CHILD(tree, 7)) in validate_for()
2124 && validate_suite(CHILD(tree, 8))); in validate_for()
2137 validate_try(node *tree) in validate_try() argument
2139 int nch = NCH(tree); in validate_try()
2141 int res = (validate_ntype(tree, try_stmt) in validate_try()
2145 res = (validate_name(CHILD(tree, 0), "try") in validate_try()
2146 && validate_colon(CHILD(tree, 1)) in validate_try()
2147 && validate_suite(CHILD(tree, 2)) in validate_try()
2148 && validate_colon(CHILD(tree, nch - 2)) in validate_try()
2149 && validate_suite(CHILD(tree, nch - 1))); in validate_try()
2152 if (TYPE(CHILD(tree, nch - 3)) != except_clause) in validate_try()
2153 name = STR(CHILD(tree, nch - 3)); in validate_try()
2159 if (res && (TYPE(CHILD(tree, pos)) == NAME) && in validate_try()
2160 (strcmp(STR(CHILD(tree, pos)), "finally") == 0)) { in validate_try()
2161 res = (validate_numnodes(tree, 6, "try/finally") in validate_try()
2162 && validate_colon(CHILD(tree, 4)) in validate_try()
2163 && validate_suite(CHILD(tree, 5))); in validate_try()
2167 while (res && pos < nch && (TYPE(CHILD(tree, pos)) == except_clause)) { in validate_try()
2168 res = (validate_except_clause(CHILD(tree, pos)) in validate_try()
2169 && validate_colon(CHILD(tree, pos + 1)) in validate_try()
2170 && validate_suite(CHILD(tree, pos + 2))); in validate_try()
2174 if (res && pos < nch && (TYPE(CHILD(tree, pos)) == NAME) && in validate_try()
2175 (strcmp(STR(CHILD(tree, pos)), "else") == 0)) { in validate_try()
2176 res = (validate_colon(CHILD(tree, pos + 1)) in validate_try()
2177 && validate_suite(CHILD(tree, pos + 2))); in validate_try()
2182 res = (validate_name(CHILD(tree, pos), "finally") in validate_try()
2183 && validate_numnodes(tree, pos + 3, "try/except/finally") in validate_try()
2184 && validate_colon(CHILD(tree, pos + 1)) in validate_try()
2185 && validate_suite(CHILD(tree, pos + 2))); in validate_try()
2192 validate_except_clause(node *tree) in validate_except_clause() argument
2194 int nch = NCH(tree); in validate_except_clause()
2195 int res = (validate_ntype(tree, except_clause) in validate_except_clause()
2197 && validate_name(CHILD(tree, 0), "except")); in validate_except_clause()
2200 res = validate_test(CHILD(tree, 1)); in validate_except_clause()
2202 if (TYPE(CHILD(tree, 2)) == NAME) in validate_except_clause()
2203 res = validate_name(CHILD(tree, 2), "as"); in validate_except_clause()
2205 res = validate_comma(CHILD(tree, 2)); in validate_except_clause()
2206 res = res && validate_test(CHILD(tree, 3)); in validate_except_clause()
2213 validate_test(node *tree) in validate_test() argument
2215 int nch = NCH(tree); in validate_test()
2216 int res = validate_ntype(tree, test) && is_odd(nch); in validate_test()
2218 if (res && (TYPE(CHILD(tree, 0)) == lambdef)) in validate_test()
2220 && validate_lambdef(CHILD(tree, 0))); in validate_test()
2222 res = validate_or_test(CHILD(tree, 0)); in validate_test()
2224 validate_name(CHILD(tree, 1), "if") && in validate_test()
2225 validate_or_test(CHILD(tree, 2)) && in validate_test()
2226 validate_name(CHILD(tree, 3), "else") && in validate_test()
2227 validate_test(CHILD(tree, 4))))); in validate_test()
2233 validate_old_test(node *tree) in validate_old_test() argument
2235 int nch = NCH(tree); in validate_old_test()
2236 int res = validate_ntype(tree, old_test) && (nch == 1); in validate_old_test()
2238 if (res && (TYPE(CHILD(tree, 0)) == old_lambdef)) in validate_old_test()
2239 res = (validate_old_lambdef(CHILD(tree, 0))); in validate_old_test()
2241 res = (validate_or_test(CHILD(tree, 0))); in validate_old_test()
2247 validate_or_test(node *tree) in validate_or_test() argument
2249 int nch = NCH(tree); in validate_or_test()
2250 int res = validate_ntype(tree, or_test) && is_odd(nch); in validate_or_test()
2254 res = validate_and_test(CHILD(tree, 0)); in validate_or_test()
2256 res = (validate_name(CHILD(tree, pos), "or") in validate_or_test()
2257 && validate_and_test(CHILD(tree, pos + 1))); in validate_or_test()
2264 validate_and_test(node *tree) in validate_and_test() argument
2267 int nch = NCH(tree); in validate_and_test()
2268 int res = (validate_ntype(tree, and_test) in validate_and_test()
2270 && validate_not_test(CHILD(tree, 0))); in validate_and_test()
2273 res = (validate_name(CHILD(tree, pos), "and") in validate_and_test()
2274 && validate_not_test(CHILD(tree, 0))); in validate_and_test()
2281 validate_not_test(node *tree) in validate_not_test() argument
2283 int nch = NCH(tree); in validate_not_test()
2284 int res = validate_ntype(tree, not_test) && ((nch == 1) || (nch == 2)); in validate_not_test()
2288 res = (validate_name(CHILD(tree, 0), "not") in validate_not_test()
2289 && validate_not_test(CHILD(tree, 1))); in validate_not_test()
2291 res = validate_comparison(CHILD(tree, 0)); in validate_not_test()
2298 validate_comparison(node *tree) in validate_comparison() argument
2301 int nch = NCH(tree); in validate_comparison()
2302 int res = (validate_ntype(tree, comparison) in validate_comparison()
2304 && validate_expr(CHILD(tree, 0))); in validate_comparison()
2307 res = (validate_comp_op(CHILD(tree, pos)) in validate_comparison()
2308 && validate_expr(CHILD(tree, pos + 1))); in validate_comparison()
2315 validate_comp_op(node *tree) in validate_comp_op() argument
2318 int nch = NCH(tree); in validate_comp_op()
2320 if (!validate_ntype(tree, comp_op)) in validate_comp_op()
2327 tree = CHILD(tree, 0); in validate_comp_op()
2328 switch (TYPE(tree)) { in validate_comp_op()
2339 res = ((strcmp(STR(tree), "in") == 0) in validate_comp_op()
2340 || (strcmp(STR(tree), "is") == 0)); in validate_comp_op()
2343 "illegal operator '%s'", STR(tree)); in validate_comp_op()
2351 else if ((res = validate_numnodes(tree, 2, "comp_op")) != 0) { in validate_comp_op()
2352 res = (validate_ntype(CHILD(tree, 0), NAME) in validate_comp_op()
2353 && validate_ntype(CHILD(tree, 1), NAME) in validate_comp_op()
2354 && (((strcmp(STR(CHILD(tree, 0)), "is") == 0) in validate_comp_op()
2355 && (strcmp(STR(CHILD(tree, 1)), "not") == 0)) in validate_comp_op()
2356 || ((strcmp(STR(CHILD(tree, 0)), "not") == 0) in validate_comp_op()
2357 && (strcmp(STR(CHILD(tree, 1)), "in") == 0)))); in validate_comp_op()
2366 validate_expr(node *tree) in validate_expr() argument
2369 int nch = NCH(tree); in validate_expr()
2370 int res = (validate_ntype(tree, expr) in validate_expr()
2372 && validate_xor_expr(CHILD(tree, 0))); in validate_expr()
2375 res = (validate_xor_expr(CHILD(tree, j)) in validate_expr()
2376 && validate_vbar(CHILD(tree, j - 1))); in validate_expr()
2383 validate_xor_expr(node *tree) in validate_xor_expr() argument
2386 int nch = NCH(tree); in validate_xor_expr()
2387 int res = (validate_ntype(tree, xor_expr) in validate_xor_expr()
2389 && validate_and_expr(CHILD(tree, 0))); in validate_xor_expr()
2392 res = (validate_circumflex(CHILD(tree, j - 1)) in validate_xor_expr()
2393 && validate_and_expr(CHILD(tree, j))); in validate_xor_expr()
2400 validate_and_expr(node *tree) in validate_and_expr() argument
2403 int nch = NCH(tree); in validate_and_expr()
2404 int res = (validate_ntype(tree, and_expr) in validate_and_expr()
2406 && validate_shift_expr(CHILD(tree, 0))); in validate_and_expr()
2409 res = (validate_ampersand(CHILD(tree, pos)) in validate_and_expr()
2410 && validate_shift_expr(CHILD(tree, pos + 1))); in validate_and_expr()
2417 validate_chain_two_ops(node *tree, int (*termvalid)(node *), int op1, int op2) in validate_chain_two_ops() argument
2420 int nch = NCH(tree); in validate_chain_two_ops()
2422 && (*termvalid)(CHILD(tree, 0))); in validate_chain_two_ops()
2425 if (TYPE(CHILD(tree, pos)) != op1) in validate_chain_two_ops()
2426 res = validate_ntype(CHILD(tree, pos), op2); in validate_chain_two_ops()
2428 res = (*termvalid)(CHILD(tree, pos + 1)); in validate_chain_two_ops()
2435 validate_shift_expr(node *tree) in validate_shift_expr() argument
2437 return (validate_ntype(tree, shift_expr) in validate_shift_expr()
2438 && validate_chain_two_ops(tree, validate_arith_expr, in validate_shift_expr()
2444 validate_arith_expr(node *tree) in validate_arith_expr() argument
2446 return (validate_ntype(tree, arith_expr) in validate_arith_expr()
2447 && validate_chain_two_ops(tree, validate_term, PLUS, MINUS)); in validate_arith_expr()
2452 validate_term(node *tree) in validate_term() argument
2455 int nch = NCH(tree); in validate_term()
2456 int res = (validate_ntype(tree, term) in validate_term()
2458 && validate_factor(CHILD(tree, 0))); in validate_term()
2461 res = (((TYPE(CHILD(tree, pos)) == STAR) in validate_term()
2462 || (TYPE(CHILD(tree, pos)) == SLASH) in validate_term()
2463 || (TYPE(CHILD(tree, pos)) == DOUBLESLASH) in validate_term()
2464 || (TYPE(CHILD(tree, pos)) == PERCENT)) in validate_term()
2465 && validate_factor(CHILD(tree, pos + 1))); in validate_term()
2476 validate_factor(node *tree) in validate_factor() argument
2478 int nch = NCH(tree); in validate_factor()
2479 int res = (validate_ntype(tree, factor) in validate_factor()
2481 && ((TYPE(CHILD(tree, 0)) == PLUS) in validate_factor()
2482 || (TYPE(CHILD(tree, 0)) == MINUS) in validate_factor()
2483 || (TYPE(CHILD(tree, 0)) == TILDE)) in validate_factor()
2484 && validate_factor(CHILD(tree, 1))) in validate_factor()
2486 && validate_power(CHILD(tree, 0))))); in validate_factor()
2496 validate_power(node *tree) in validate_power() argument
2499 int nch = NCH(tree); in validate_power()
2500 int res = (validate_ntype(tree, power) && (nch >= 1) in validate_power()
2501 && validate_atom(CHILD(tree, 0))); in validate_power()
2503 while (res && (pos < nch) && (TYPE(CHILD(tree, pos)) == trailer)) in validate_power()
2504 res = validate_trailer(CHILD(tree, pos++)); in validate_power()
2511 res = (validate_doublestar(CHILD(tree, pos)) in validate_power()
2512 && validate_factor(CHILD(tree, pos + 1))); in validate_power()
2519 validate_atom(node *tree) in validate_atom() argument
2522 int nch = NCH(tree); in validate_atom()
2523 int res = validate_ntype(tree, atom); in validate_atom()
2526 res = validate_numnodes(tree, nch+1, "atom"); in validate_atom()
2528 switch (TYPE(CHILD(tree, 0))) { in validate_atom()
2531 && (validate_rparen(CHILD(tree, nch - 1)))); in validate_atom()
2534 if (TYPE(CHILD(tree, 1))==yield_expr) in validate_atom()
2535 res = validate_yield_expr(CHILD(tree, 1)); in validate_atom()
2537 res = validate_testlist_comp(CHILD(tree, 1)); in validate_atom()
2542 res = validate_ntype(CHILD(tree, 1), RSQB); in validate_atom()
2544 res = (validate_listmaker(CHILD(tree, 1)) in validate_atom()
2545 && validate_ntype(CHILD(tree, 2), RSQB)); in validate_atom()
2553 && validate_ntype(CHILD(tree, nch - 1), RBRACE)); in validate_atom()
2556 res = validate_dictorsetmaker(CHILD(tree, 1)); in validate_atom()
2560 && validate_testlist1(CHILD(tree, 1)) in validate_atom()
2561 && validate_ntype(CHILD(tree, 2), BACKQUOTE)); in validate_atom()
2569 res = validate_ntype(CHILD(tree, pos), STRING); in validate_atom()
2584 validate_listmaker(node *tree) in validate_listmaker() argument
2586 int nch = NCH(tree); in validate_listmaker()
2592 ok = validate_test(CHILD(tree, 0)); in validate_listmaker()
2597 if (nch == 2 && TYPE(CHILD(tree, 1)) == list_for) in validate_listmaker()
2598 ok = validate_list_for(CHILD(tree, 1)); in validate_listmaker()
2603 ok = (validate_comma(CHILD(tree, i)) in validate_listmaker()
2604 && validate_test(CHILD(tree, i+1))); in validate_listmaker()
2608 ok = validate_comma(CHILD(tree, i)); in validate_listmaker()
2621 validate_testlist_comp(node *tree) in validate_testlist_comp() argument
2623 int nch = NCH(tree); in validate_testlist_comp()
2629 ok = validate_test(CHILD(tree, 0)); in validate_testlist_comp()
2635 if (nch == 2 && TYPE(CHILD(tree, 1)) == comp_for) in validate_testlist_comp()
2636 ok = validate_comp_for(CHILD(tree, 1)); in validate_testlist_comp()
2641 ok = (validate_comma(CHILD(tree, i)) in validate_testlist_comp()
2642 && validate_test(CHILD(tree, i+1))); in validate_testlist_comp()
2646 ok = validate_comma(CHILD(tree, i)); in validate_testlist_comp()
2659 validate_decorator(node *tree) in validate_decorator() argument
2662 int nch = NCH(tree); in validate_decorator()
2663 ok = (validate_ntype(tree, decorator) && in validate_decorator()
2665 validate_at(CHILD(tree, 0)) && in validate_decorator()
2666 validate_dotted_name(CHILD(tree, 1)) && in validate_decorator()
2667 validate_newline(RCHILD(tree, -1))); in validate_decorator()
2670 ok = (validate_lparen(CHILD(tree, 2)) && in validate_decorator()
2671 validate_rparen(RCHILD(tree, -2))); in validate_decorator()
2674 ok = validate_arglist(CHILD(tree, 3)); in validate_decorator()
2684 validate_decorators(node *tree) in validate_decorators() argument
2687 nch = NCH(tree); in validate_decorators()
2688 ok = validate_ntype(tree, decorators) && nch >= 1; in validate_decorators()
2691 ok = validate_decorator(CHILD(tree, i)); in validate_decorators()
2700 validate_with_item(node *tree) in validate_with_item() argument
2702 int nch = NCH(tree); in validate_with_item()
2703 int ok = (validate_ntype(tree, with_item) in validate_with_item()
2705 && validate_test(CHILD(tree, 0))); in validate_with_item()
2707 ok = (validate_name(CHILD(tree, 1), "as") in validate_with_item()
2708 && validate_expr(CHILD(tree, 2))); in validate_with_item()
2717 validate_with_stmt(node *tree) in validate_with_stmt() argument
2720 int nch = NCH(tree); in validate_with_stmt()
2721 int ok = (validate_ntype(tree, with_stmt) in validate_with_stmt()
2723 && validate_name(CHILD(tree, 0), "with") in validate_with_stmt()
2724 && validate_colon(RCHILD(tree, -2)) in validate_with_stmt()
2725 && validate_suite(RCHILD(tree, -1))); in validate_with_stmt()
2727 ok = validate_with_item(CHILD(tree, i)); in validate_with_stmt()
2737 validate_funcdef(node *tree) in validate_funcdef() argument
2739 int nch = NCH(tree); in validate_funcdef()
2740 int ok = (validate_ntype(tree, funcdef) in validate_funcdef()
2742 && validate_name(RCHILD(tree, -5), "def") in validate_funcdef()
2743 && validate_ntype(RCHILD(tree, -4), NAME) in validate_funcdef()
2744 && validate_colon(RCHILD(tree, -2)) in validate_funcdef()
2745 && validate_parameters(RCHILD(tree, -3)) in validate_funcdef()
2746 && validate_suite(RCHILD(tree, -1))); in validate_funcdef()
2755 validate_decorated(node *tree) in validate_decorated() argument
2757 int nch = NCH(tree); in validate_decorated()
2758 int ok = (validate_ntype(tree, decorated) in validate_decorated()
2760 && validate_decorators(RCHILD(tree, -2))); in validate_decorated()
2761 if (TYPE(RCHILD(tree, -1)) == funcdef) in validate_decorated()
2762 ok = ok && validate_funcdef(RCHILD(tree, -1)); in validate_decorated()
2764 ok = ok && validate_class(RCHILD(tree, -1)); in validate_decorated()
2769 validate_lambdef(node *tree) in validate_lambdef() argument
2771 int nch = NCH(tree); in validate_lambdef()
2772 int res = (validate_ntype(tree, lambdef) in validate_lambdef()
2774 && validate_name(CHILD(tree, 0), "lambda") in validate_lambdef()
2775 && validate_colon(CHILD(tree, nch - 2)) in validate_lambdef()
2776 && validate_test(CHILD(tree, nch - 1))); in validate_lambdef()
2779 res = validate_varargslist(CHILD(tree, 1)); in validate_lambdef()
2781 (void) validate_numnodes(tree, 3, "lambdef"); in validate_lambdef()
2788 validate_old_lambdef(node *tree) in validate_old_lambdef() argument
2790 int nch = NCH(tree); in validate_old_lambdef()
2791 int res = (validate_ntype(tree, old_lambdef) in validate_old_lambdef()
2793 && validate_name(CHILD(tree, 0), "lambda") in validate_old_lambdef()
2794 && validate_colon(CHILD(tree, nch - 2)) in validate_old_lambdef()
2795 && validate_test(CHILD(tree, nch - 1))); in validate_old_lambdef()
2798 res = validate_varargslist(CHILD(tree, 1)); in validate_old_lambdef()
2800 (void) validate_numnodes(tree, 3, "old_lambdef"); in validate_old_lambdef()
2811 validate_arglist(node *tree) in validate_arglist() argument
2813 int nch = NCH(tree); in validate_arglist()
2819 return validate_numnodes(tree, nch + 1, "arglist"); in validate_arglist()
2823 if (TYPE(CHILD(tree, i)) == argument) { in validate_arglist()
2824 node *ch = CHILD(tree, i); in validate_arglist()
2835 ok = (validate_argument(CHILD(tree, i)) in validate_arglist()
2836 && validate_comma(CHILD(tree, i+1))); in validate_arglist()
2847 int sym = TYPE(CHILD(tree, i)); in validate_arglist()
2850 ok = validate_argument(CHILD(tree, i)); in validate_arglist()
2858 ok = validate_star(CHILD(tree, i)); in validate_arglist()
2860 ok = validate_test(CHILD(tree, i+1)); in validate_arglist()
2862 ok = (validate_test(CHILD(tree, i+1)) in validate_arglist()
2863 && validate_comma(CHILD(tree, i+2)) in validate_arglist()
2864 && validate_doublestar(CHILD(tree, i+3)) in validate_arglist()
2865 && validate_test(CHILD(tree, i+4))); in validate_arglist()
2873 ok = (validate_doublestar(CHILD(tree, i)) in validate_arglist()
2874 && validate_test(CHILD(tree, i+1))); in validate_arglist()
2895 validate_argument(node *tree) in validate_argument() argument
2897 int nch = NCH(tree); in validate_argument()
2898 int res = (validate_ntype(tree, argument) in validate_argument()
2900 && validate_test(CHILD(tree, 0))); in validate_argument()
2903 res = validate_comp_for(CHILD(tree, 1)); in validate_argument()
2905 res = (validate_equal(CHILD(tree, 1)) in validate_argument()
2906 && validate_test(CHILD(tree, 2))); in validate_argument()
2918 validate_trailer(node *tree) in validate_trailer() argument
2920 int nch = NCH(tree); in validate_trailer()
2921 int res = validate_ntype(tree, trailer) && ((nch == 2) || (nch == 3)); in validate_trailer()
2924 switch (TYPE(CHILD(tree, 0))) { in validate_trailer()
2926 res = validate_rparen(CHILD(tree, nch - 1)); in validate_trailer()
2928 res = validate_arglist(CHILD(tree, 1)); in validate_trailer()
2931 res = (validate_numnodes(tree, 3, "trailer") in validate_trailer()
2932 && validate_subscriptlist(CHILD(tree, 1)) in validate_trailer()
2933 && validate_ntype(CHILD(tree, 2), RSQB)); in validate_trailer()
2936 res = (validate_numnodes(tree, 2, "trailer") in validate_trailer()
2937 && validate_ntype(CHILD(tree, 1), NAME)); in validate_trailer()
2945 (void) validate_numnodes(tree, 2, "trailer"); in validate_trailer()
2956 validate_subscriptlist(node *tree) in validate_subscriptlist() argument
2958 return (validate_repeating_list(tree, subscriptlist, in validate_subscriptlist()
2968 validate_subscript(node *tree) in validate_subscript() argument
2971 int nch = NCH(tree); in validate_subscript()
2972 int res = validate_ntype(tree, subscript) && (nch >= 1) && (nch <= 4); in validate_subscript()
2979 if (TYPE(CHILD(tree, 0)) == DOT) in validate_subscript()
2981 return (validate_numnodes(tree, 3, "subscript") in validate_subscript()
2982 && validate_dot(CHILD(tree, 0)) in validate_subscript()
2983 && validate_dot(CHILD(tree, 1)) in validate_subscript()
2984 && validate_dot(CHILD(tree, 2))); in validate_subscript()
2986 if (TYPE(CHILD(tree, 0)) == test) in validate_subscript()
2987 res = validate_test(CHILD(tree, 0)); in validate_subscript()
2989 res = validate_colon(CHILD(tree, 0)); in validate_subscript()
2996 if ((TYPE(CHILD(tree, 0)) != COLON) || (nch == 4)) { in validate_subscript()
2997 res = validate_test(CHILD(tree, 0)); in validate_subscript()
3001 res = validate_colon(CHILD(tree, offset)); in validate_subscript()
3005 if (TYPE(CHILD(tree, offset)) == test) { in validate_subscript()
3006 res = validate_test(CHILD(tree, offset)); in validate_subscript()
3011 res = validate_sliceop(CHILD(tree, offset)); in validate_subscript()
3019 validate_sliceop(node *tree) in validate_sliceop() argument
3021 int nch = NCH(tree); in validate_sliceop()
3022 int res = ((nch == 1) || validate_numnodes(tree, 2, "sliceop")) in validate_sliceop()
3023 && validate_ntype(tree, sliceop); in validate_sliceop()
3025 res = validate_numnodes(tree, 1, "sliceop"); in validate_sliceop()
3028 res = validate_colon(CHILD(tree, 0)); in validate_sliceop()
3030 res = validate_test(CHILD(tree, 1)); in validate_sliceop()
3037 validate_exprlist(node *tree) in validate_exprlist() argument
3039 return (validate_repeating_list(tree, exprlist, in validate_exprlist()
3051 validate_dictorsetmaker(node *tree) in validate_dictorsetmaker() argument
3053 int nch = NCH(tree); in validate_dictorsetmaker()
3054 int ok = validate_ntype(tree, dictorsetmaker); in validate_dictorsetmaker()
3060 if (ok && (nch == 1 || TYPE(CHILD(tree, 1)) == COMMA)) { in validate_dictorsetmaker()
3064 ok = validate_test(CHILD(tree, i++)); in validate_dictorsetmaker()
3066 ok = (validate_comma(CHILD(tree, i)) in validate_dictorsetmaker()
3067 && validate_test(CHILD(tree, i+1))); in validate_dictorsetmaker()
3072 else if (ok && TYPE(CHILD(tree, 1)) == comp_for) { in validate_dictorsetmaker()
3076 ok = (validate_test(CHILD(tree, 0)) in validate_dictorsetmaker()
3077 && validate_comp_for(CHILD(tree, 1))); in validate_dictorsetmaker()
3079 else if (ok && NCH(tree) > 3 && TYPE(CHILD(tree, 3)) == comp_for) { in validate_dictorsetmaker()
3083 ok = (validate_test(CHILD(tree, 0)) in validate_dictorsetmaker()
3084 && validate_colon(CHILD(tree, 1)) in validate_dictorsetmaker()
3085 && validate_test(CHILD(tree, 2)) in validate_dictorsetmaker()
3086 && validate_comp_for(CHILD(tree, 3))); in validate_dictorsetmaker()
3093 ok = (validate_test(CHILD(tree, i)) in validate_dictorsetmaker()
3094 && validate_colon(CHILD(tree, i+1)) in validate_dictorsetmaker()
3095 && validate_test(CHILD(tree, i+2))); in validate_dictorsetmaker()
3104 ok = (validate_comma(CHILD(tree, i)) in validate_dictorsetmaker()
3105 && validate_test(CHILD(tree, i+1)) in validate_dictorsetmaker()
3106 && validate_colon(CHILD(tree, i+2)) in validate_dictorsetmaker()
3107 && validate_test(CHILD(tree, i+3))); in validate_dictorsetmaker()
3114 ok = validate_comma(CHILD(tree, i)); in validate_dictorsetmaker()
3126 validate_eval_input(node *tree) in validate_eval_input() argument
3129 int nch = NCH(tree); in validate_eval_input()
3130 int res = (validate_ntype(tree, eval_input) in validate_eval_input()
3132 && validate_testlist(CHILD(tree, 0)) in validate_eval_input()
3133 && validate_ntype(CHILD(tree, nch - 1), ENDMARKER)); in validate_eval_input()
3136 res = validate_ntype(CHILD(tree, pos), NEWLINE); in validate_eval_input()
3143 validate_node(node *tree) in validate_node() argument
3149 while (res && (tree != 0)) { in validate_node()
3150 nch = NCH(tree); in validate_node()
3152 switch (TYPE(tree)) { in validate_node()
3157 res = validate_funcdef(tree); in validate_node()
3160 res = validate_with_stmt(tree); in validate_node()
3163 res = validate_class(tree); in validate_node()
3166 res = validate_decorated(tree); in validate_node()
3169 * "Trivial" parse tree nodes. in validate_node()
3173 res = validate_stmt(tree); in validate_node()
3180 res = validate_small_stmt(tree); in validate_node()
3183 res = (validate_numnodes(tree, 1, "flow_stmt") in validate_node()
3184 && ((TYPE(CHILD(tree, 0)) == break_stmt) in validate_node()
3185 || (TYPE(CHILD(tree, 0)) == continue_stmt) in validate_node()
3186 || (TYPE(CHILD(tree, 0)) == yield_stmt) in validate_node()
3187 || (TYPE(CHILD(tree, 0)) == return_stmt) in validate_node()
3188 || (TYPE(CHILD(tree, 0)) == raise_stmt))); in validate_node()
3190 next = CHILD(tree, 0); in validate_node()
3195 res = validate_yield_stmt(tree); in validate_node()
3201 res = validate_simple_stmt(tree); in validate_node()
3204 res = validate_compound_stmt(tree); in validate_node()
3210 res = validate_expr_stmt(tree); in validate_node()
3213 res = validate_print_stmt(tree); in validate_node()
3216 res = validate_del_stmt(tree); in validate_node()
3219 res = (validate_numnodes(tree, 1, "pass") in validate_node()
3220 && validate_name(CHILD(tree, 0), "pass")); in validate_node()
3223 res = (validate_numnodes(tree, 1, "break") in validate_node()
3224 && validate_name(CHILD(tree, 0), "break")); in validate_node()
3227 res = (validate_numnodes(tree, 1, "continue") in validate_node()
3228 && validate_name(CHILD(tree, 0), "continue")); in validate_node()
3231 res = validate_return_stmt(tree); in validate_node()
3234 res = validate_raise_stmt(tree); in validate_node()
3237 res = validate_import_stmt(tree); in validate_node()
3240 res = validate_import_name(tree); in validate_node()
3243 res = validate_import_from(tree); in validate_node()
3246 res = validate_global_stmt(tree); in validate_node()
3249 res = validate_exec_stmt(tree); in validate_node()
3252 res = validate_assert_stmt(tree); in validate_node()
3255 res = validate_if(tree); in validate_node()
3258 res = validate_while(tree); in validate_node()
3261 res = validate_for(tree); in validate_node()
3264 res = validate_try(tree); in validate_node()
3267 res = validate_suite(tree); in validate_node()
3273 res = validate_testlist(tree); in validate_node()
3276 res = validate_yield_expr(tree); in validate_node()
3279 res = validate_testlist1(tree); in validate_node()
3282 res = validate_test(tree); in validate_node()
3285 res = validate_and_test(tree); in validate_node()
3288 res = validate_not_test(tree); in validate_node()
3291 res = validate_comparison(tree); in validate_node()
3294 res = validate_exprlist(tree); in validate_node()
3297 res = validate_comp_op(tree); in validate_node()
3300 res = validate_expr(tree); in validate_node()
3303 res = validate_xor_expr(tree); in validate_node()
3306 res = validate_and_expr(tree); in validate_node()
3309 res = validate_shift_expr(tree); in validate_node()
3312 res = validate_arith_expr(tree); in validate_node()
3315 res = validate_term(tree); in validate_node()
3318 res = validate_factor(tree); in validate_node()
3321 res = validate_power(tree); in validate_node()
3324 res = validate_atom(tree); in validate_node()
3333 tree = next; in validate_node()
3340 validate_expr_tree(node *tree) in validate_expr_tree() argument
3342 int res = validate_eval_input(tree); in validate_expr_tree()
3355 validate_file_input(node *tree) in validate_file_input() argument
3358 int nch = NCH(tree) - 1; in validate_file_input()
3360 && validate_ntype(CHILD(tree, nch), ENDMARKER)); in validate_file_input()
3363 if (TYPE(CHILD(tree, j)) == stmt) in validate_file_input()
3364 res = validate_stmt(CHILD(tree, j)); in validate_file_input()
3366 res = validate_newline(CHILD(tree, j)); in validate_file_input()
3379 validate_encoding_decl(node *tree) in validate_encoding_decl() argument
3381 int nch = NCH(tree); in validate_encoding_decl()
3383 && validate_file_input(CHILD(tree, 0))); in validate_encoding_decl()
3433 PyDoc_STR("Creates a tuple-tree representation of an ST.")},
3435 PyDoc_STR("Creates a list-tree representation of an ST.")},
3449 PyDoc_STR("Creates an ST object from a tree representation.")},
3451 PyDoc_STR("Creates an ST object from a tree representation.")},
3453 PyDoc_STR("Creates a tuple-tree representation of an ST.")},
3455 PyDoc_STR("Creates a list-tree representation of an ST.")},
3457 PyDoc_STR("Creates an ST object from a tree representation.")},
3459 PyDoc_STR("Creates an ST object from a tree representation.")},