Message109699
+!. I had to do a very similar refactoring recently when trying to fix the parser module to understand keyword-only arguments and annotations.
Taking keyword-only arguments into account, I think the replacement needs to be:
varargslist: (vfpdef ['=' test] (',' vfpdef ['=' test])* [','
['*' [vfpdef] (',' vfpdef ['=' test])* [',' '**' vfpdef] | '**' vfpdef]]
| '*' [vfpdef] (',' vfpdef ['=' test])* [',' '**' vfpdef] | '**' vfpdef)
and the analogous replacement needs to be made in the production for 'typedargslist', too.
BTW, I'm a bit surprised that the grammar doesn't allow for trailing commas after keyword-only arguments: that is,
def f(a, b,): ... is fine, but
def f(*, a, b,): ... is a SyntaxError |
|
Date |
User |
Action |
Args |
2010-07-09 09:28:07 | mark.dickinson | set | recipients:
+ mark.dickinson, nnorwitz, dalke, ncoghlan |
2010-07-09 09:28:07 | mark.dickinson | set | messageid: <1278667687.35.0.586829328207.issue2009@psf.upfronthosting.co.za> |
2010-07-09 09:28:04 | mark.dickinson | link | issue2009 messages |
2010-07-09 09:28:04 | mark.dickinson | create | |
|