[Python-Dev] problem with genexp (original) (raw)
Jiwon Seo seojiwon at gmail.com
Tue Feb 21 00:55:19 CET 2006
- Previous message: [Python-Dev] bytes.from_hex() [Was: PEP 332 revival in coordination with pep 349?]
- Next message: [Python-Dev] problem with genexp
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Regarding this Grammar change; (last October) from argument: [test '=' ] test [gen_for] to argument: test [gen_for] | test '=' test ['(' gen_for ')']
- to raise error for "bar(a = i for i in range(10)) )"
I think we should change it to argument: test [gen_for] | test '=' test
instead of argument: test [gen_for] | test '=' test ['(' gen_for ')']
that is, without ['(' gen_for ')'] . We don't need that extra term, because "test" itself includes generator expressions - with all those parensises. Actually with that extra ['(' gen_for ')'] , foo(a= 10 (for y in 'a')) is grammartically correct ; although that error seems to be checked elsewhere.
I tested without ['(' gen_for ')'] , and worked fine passing Lib/test/test_genexps.py
-Jiwon
On 10/20/05, Neal Norwitz <nnorwitz at gmail.com> wrote:
On 10/16/05, Neal Norwitz <nnorwitz at gmail.com> wrote: > On 10/10/05, Neal Norwitz <nnorwitz at gmail.com> wrote: > > There's a problem with genexp's that I think really needs to get > > fixed. See http://python.org/sf/1167751 the details are below. This > > code: > > > > >>> foo(a = i for i in range(10)) > > > > I agree with the bug report that the code should either raise a > > SyntaxError or do the right thing. > > The change to Grammar/Grammar below seems to fix the problem and all > the tests pass. Can anyone comment on whether this fix is > correct/appropriate? Is there a better way to fix the problem?
Since no one responded other than Jiwon, I checked in this change. I did not backport it since what was syntactically correct in 2.4.2 would raise an error in 2.4.3. I'm not sure which is worse. I'll leave it up to Anthony whether this should be backported. BTW, the change was the same regardless of old code vs. new AST code. n
Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/seojiwon%40gmail.com
- Previous message: [Python-Dev] bytes.from_hex() [Was: PEP 332 revival in coordination with pep 349?]
- Next message: [Python-Dev] problem with genexp
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]