2008/7/30 Guido van Rossum <[EMAIL PROTECTED]>: > On Wed, Jul 30, 2008 at 2:34 AM, Amaury Forgeot d'Arc > <[EMAIL PROTECTED]> wrote: > >> I hope this patch is simple enough for you: >> >> Index: Grammar/Grammar >> =================================================================== >> --- Grammar/Grammar (revision 65298) >> +++ Grammar/Grammar (working copy) >> @@ -113,7 +113,9 @@ >> >> classdef: 'class' NAME ['(' [arglist] ')'] ':' suite >> >> -arglist: (argument ',')* (argument [',']| '*' test [',' '**' test] | '**' >> test) >> +arglist: (argument ',')* (argument [','] >> + |'*' test (',' NAME '=' test)* [',' '**' test] >> + |'**' test) >> argument: test [comp_for] | test '=' test # Really [keyword '='] test >> >> comp_iter: comp_for | comp_if >> >> >> (and call pgen to rebuild the graminit.c) >> >> Positional arguments after the *args are explicitly disallowed: >> f(1, *[2, 3], 4, z=5) >> The syntax could make sense, but this would require more changes in >> the compiler, >> to properly order the parameters. > > Are you saying that after the above Grammar change, the code generator > already does the right thing for Raymond's code?
Yes! the ast builder simply collects items from the parenthesized sequence, and does not care about the ordering - except for an explicit "non-keyword arg after keyword arg". > Then I say go for it > -- but please do add new unit tests. Of course -- I was just requesting approval. I am working on a documentation patch as well, and filed http://bugs.python.org/issue3473 -- Amaury Forgeot d'Arc _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com