@@ -23,7 +23,7 @@ eval_input: testlist NEWLINE* ENDMARKER
2323
2424funcdef: 'def' NAME parameters ':' suite
2525parameters: '(' [varargslist] ')'
26- varargslist: (fpdef ['=' test] ',')* ('*' NAME [',' '*' '*' NAME] | '*' '*' NAME) | fpdef ['=' test] (',' fpdef ['=' test])* [',']
26+ varargslist: (fpdef ['=' test] ',')* ('*' NAME [',' ('**'|'*' '*') NAME] | ('**'|'*' '*') NAME) | fpdef ['=' test] (',' fpdef ['=' test])* [',']
2727fpdef: NAME | '(' fplist ')'
2828fplist: fpdef (',' fpdef)* [',']
2929
@@ -70,11 +70,12 @@ and_expr: shift_expr ('&' shift_expr)*
7070shift_expr: arith_expr (('<<'|'>>') arith_expr)*
7171arith_expr: term (('+'|'-') term)*
7272term: factor (('*'|'/'|'%') factor)*
73- factor: ('+'|'-'|'~') factor | atom trailer*
73+ factor: ('+'|'-'|'~') factor | power
74+ power: atom trailer* ('**' factor)*
7475atom: '(' [testlist] ')' | '[' [testlist] ']' | '{' [dictmaker] '}' | '`' testlist '`' | NAME | NUMBER | STRING+
7576lambdef: 'lambda' [varargslist] ':' test
7677trailer: '(' [arglist] ')' | '[' subscript ']' | '.' NAME
77- subscript: test | [test] ':' [test]
78+ subscript: test (',' test)* [','] | [test] ':' [test]
7879exprlist: expr (',' expr)* [',']
7980testlist: test (',' test)* [',']
8081dictmaker: test ':' test (',' test ':' test)* [',']
0 commit comments