From: Mark Dickinson Date: Mon, 12 Jul 2010 14:14:18 +0000 (+0000) Subject: Issue #2009: refactor varargslist and typedargslist productions to make them more... X-Git-Tag: v3.2a1~210 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c50d117084feff310a901763c112d6d9e2df2bd;p=python Issue #2009: refactor varargslist and typedargslist productions to make them more friendly for third-party parsers. --- diff --git a/Grammar/Grammar b/Grammar/Grammar index 7d63e23135..89f4c3614e 100644 --- a/Grammar/Grammar +++ b/Grammar/Grammar @@ -24,13 +24,13 @@ decorators: decorator+ decorated: decorators (classdef | funcdef) funcdef: 'def' NAME parameters ['->' test] ':' suite parameters: '(' [typedargslist] ')' -typedargslist: ((tfpdef ['=' test] ',')* - ('*' [tfpdef] (',' tfpdef ['=' test])* [',' '**' tfpdef] | '**' tfpdef) - | tfpdef ['=' test] (',' tfpdef ['=' test])* [',']) +typedargslist: (tfpdef ['=' test] (',' tfpdef ['=' test])* [',' + ['*' [tfpdef] (',' tfpdef ['=' test])* [',' '**' tfpdef] | '**' tfpdef]] + | '*' [tfpdef] (',' tfpdef ['=' test])* [',' '**' tfpdef] | '**' tfpdef) tfpdef: NAME [':' test] -varargslist: ((vfpdef ['=' test] ',')* - ('*' [vfpdef] (',' vfpdef ['=' test])* [',' '**' vfpdef] | '**' vfpdef) - | vfpdef ['=' test] (',' vfpdef ['=' test])* [',']) +varargslist: (vfpdef ['=' test] (',' vfpdef ['=' test])* [',' + ['*' [vfpdef] (',' vfpdef ['=' test])* [',' '**' vfpdef] | '**' vfpdef]] + | '*' [vfpdef] (',' vfpdef ['=' test])* [',' '**' vfpdef] | '**' vfpdef) vfpdef: NAME stmt: simple_stmt | compound_stmt