From e66c8c7c127370ab7d0055f98053caad48cbc135 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Mon, 19 Mar 2007 18:56:50 +0000 Subject: "from ... import x" should not be a syntax error... make import_stmt accept ELLIPSes and DOTs. --- Python/ast.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Python/ast.c') diff --git a/Python/ast.c b/Python/ast.c index 8180b4224d..777c00ec0b 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -2406,8 +2406,8 @@ ast_for_import_stmt(struct compiling *c, const node *n) /* import_stmt: import_name | import_from import_name: 'import' dotted_as_names - import_from: 'from' ('.'* dotted_name | '.') 'import' - ('*' | '(' import_as_names ')' | import_as_names) + import_from: 'from' (('.' | '...')* dotted_name | ('.' | '...')+) + 'import' ('*' | '(' import_as_names ')' | import_as_names) */ int lineno; int col_offset; @@ -2445,6 +2445,10 @@ ast_for_import_stmt(struct compiling *c, const node *n) mod = alias_for_import_name(c, CHILD(n, idx)); idx++; break; + } else if (TYPE(CHILD(n, idx)) == ELLIPSIS) { + /* three consecutive dots are tokenized as one ELLIPSIS */ + ndots += 3; + continue; } else if (TYPE(CHILD(n, idx)) != DOT) { break; } -- cgit v1.2.1