VALIDATER(subscriptlist); VALIDATER(sliceop);
VALIDATER(exprlist); VALIDATER(dictmaker);
VALIDATER(arglist); VALIDATER(argument);
-VALIDATER(listmaker);
+VALIDATER(listmaker); VALIDATER(yield_stmt);
#undef VALIDATER
}
+/* yield_stmt: 'yield' testlist
+ */
+static int
+validate_yield_stmt(node *tree)
+{
+ return (validate_ntype(tree, yield_stmt)
+ && validate_numnodes(tree, 2, "yield_stmt")
+ && validate_name(CHILD(tree, 0), "yield")
+ && validate_testlist(CHILD(tree, 1)));
+}
+
+
static int
validate_import_as_name(node *tree)
{
res = (validate_numnodes(tree, 1, "flow_stmt")
&& ((TYPE(CHILD(tree, 0)) == break_stmt)
|| (TYPE(CHILD(tree, 0)) == continue_stmt)
+ || (TYPE(CHILD(tree, 0)) == yield_stmt)
|| (TYPE(CHILD(tree, 0)) == return_stmt)
|| (TYPE(CHILD(tree, 0)) == raise_stmt)));
if (res)
else if (nch == 1)
err_string("illegal flow_stmt type");
break;
+ case yield_stmt:
+ res = validate_yield_stmt(tree);
+ break;
/*
* Compound statements.
*/