diff options
author | Benjamin Peterson <benjamin@python.org> | 2014-04-10 04:23:18 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2014-04-10 04:23:18 (GMT) |
commit | 0654be18b387cbd136bfb62d77849111a954b58b (patch) | |
tree | 18bfb8fa836b396f43e28ccf8ec59d2eb6b9ab06 /Lib | |
parent | 4ab92c800a6f2b75743d4a0b4dfd9995723f3647 (diff) | |
download | cpython-0654be18b387cbd136bfb62d77849111a954b58b.zip cpython-0654be18b387cbd136bfb62d77849111a954b58b.tar.gz cpython-0654be18b387cbd136bfb62d77849111a954b58b.tar.bz2 |
teach 2to3 about 'yield from'
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/lib2to3/Grammar.txt | 3 | ||||
-rw-r--r-- | Lib/lib2to3/tests/test_parser.py | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/Lib/lib2to3/Grammar.txt b/Lib/lib2to3/Grammar.txt index bc084e9..e667bcd 100644 --- a/Lib/lib2to3/Grammar.txt +++ b/Lib/lib2to3/Grammar.txt @@ -155,4 +155,5 @@ testlist1: test (',' test)* # not used in grammar, but may appear in "node" passed from Parser to Compiler encoding_decl: NAME -yield_expr: 'yield' [testlist] +yield_expr: 'yield' [yield_arg] +yield_arg: 'from' test | testlist diff --git a/Lib/lib2to3/tests/test_parser.py b/Lib/lib2to3/tests/test_parser.py index 83682b7..b64469c 100644 --- a/Lib/lib2to3/tests/test_parser.py +++ b/Lib/lib2to3/tests/test_parser.py @@ -54,6 +54,13 @@ class TestMatrixMultiplication(GrammarTest): self.validate("a @= b") +class TestYieldFrom(GrammarTest): + def test_matrix_multiplication_operator(self): + self.validate("yield from x") + self.validate("(yield from x) + y") + self.invalid_syntax("yield from") + + class TestRaiseChanges(GrammarTest): def test_2x_style_1(self): self.validate("raise") |