Commit 3c033230 authored by Guido van Rossum's avatar Guido van Rossum

Fis SF bug #442647: not all forms of legal future statements were

parsed correctly.  Now they are.
parent e31c2eeb
...@@ -175,15 +175,21 @@ future_hack(parser_state *ps) ...@@ -175,15 +175,21 @@ future_hack(parser_state *ps)
{ {
node *n = ps->p_stack.s_top->s_parent; node *n = ps->p_stack.s_top->s_parent;
node *ch; node *ch;
int i;
if (strcmp(STR(CHILD(n, 0)), "from") != 0) if (strcmp(STR(CHILD(n, 0)), "from") != 0)
return; return;
ch = CHILD(n, 1); ch = CHILD(n, 1);
if (strcmp(STR(CHILD(ch, 0)), "__future__") != 0) if (strcmp(STR(CHILD(ch, 0)), "__future__") != 0)
return; return;
ch = CHILD(n, 3); for (i = 3; i < NCH(n); i += 2) {
if (NCH(ch) == 1 && strcmp(STR(CHILD(ch, 0)), "generators") == 0) ch = CHILD(n, i);
ps->p_generators = 1; if (NCH(ch) >= 1 && TYPE(CHILD(ch, 0)) == NAME &&
strcmp(STR(CHILD(ch, 0)), "generators") == 0) {
ps->p_generators = 1;
break;
}
}
} }
int int
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment