Issue #14741: Fix missing support for ellipsis in parser module.

This commit is contained in:
Mark Dickinson 2012-05-07 17:24:04 +01:00
parent 11c1dee183
commit da029fb293
3 changed files with 5 additions and 5 deletions

View file

@ -106,6 +106,8 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase):
self.check_expr("lambda x, *y, **z: 0") self.check_expr("lambda x, *y, **z: 0")
self.check_expr("(x for x in range(10))") self.check_expr("(x for x in range(10))")
self.check_expr("foo(x for x in range(10))") self.check_expr("foo(x for x in range(10))")
self.check_expr("...")
self.check_expr("a[...]")
def test_simple_expression(self): def test_simple_expression(self):
# expr_stmt # expr_stmt

View file

@ -61,6 +61,8 @@ Core and Builtins
Library Library
------- -------
- Issue #14741: Fix missing support for Ellipsis ('...') in parser module.
- Issue #14697: Fix missing support for set displays and set comprehensions in - Issue #14697: Fix missing support for set displays and set comprehensions in
parser module. parser module.

View file

@ -2389,17 +2389,13 @@ validate_atom(node *tree)
break; break;
case NAME: case NAME:
case NUMBER: case NUMBER:
case ELLIPSIS:
res = (nch == 1); res = (nch == 1);
break; break;
case STRING: case STRING:
for (pos = 1; res && (pos < nch); ++pos) for (pos = 1; res && (pos < nch); ++pos)
res = validate_ntype(CHILD(tree, pos), STRING); res = validate_ntype(CHILD(tree, pos), STRING);
break; break;
case DOT:
res = (nch == 3 &&
validate_ntype(CHILD(tree, 1), DOT) &&
validate_ntype(CHILD(tree, 2), DOT));
break;
default: default:
res = 0; res = 0;
break; break;