X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/1c6b3a3a6fbc50b651d4ac34247903041d3f6329..7f033136ac5e0e5bf6cf322dd60b4a92050eedc4:/src/blib2to3/Grammar.txt

diff --git a/src/blib2to3/Grammar.txt b/src/blib2to3/Grammar.txt
index 600712c..1de5416 100644
--- a/src/blib2to3/Grammar.txt
+++ b/src/blib2to3/Grammar.txt
@@ -109,7 +109,7 @@ compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef
 async_stmt: ASYNC (funcdef | with_stmt | for_stmt)
 if_stmt: 'if' namedexpr_test ':' suite ('elif' namedexpr_test ':' suite)* ['else' ':' suite]
 while_stmt: 'while' namedexpr_test ':' suite ['else' ':' suite]
-for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
+for_stmt: 'for' exprlist 'in' testlist_star_expr ':' suite ['else' ':' suite]
 try_stmt: ('try' ':' suite
            ((except_clause ':' suite)+
 	    ['else' ':' suite]
@@ -118,7 +118,7 @@ try_stmt: ('try' ':' suite
 with_stmt: 'with' asexpr_test (',' asexpr_test)*  ':' suite
 
 # NB compile.c makes sure that the default except clause is last
-except_clause: 'except' [test [(',' | 'as') test]]
+except_clause: 'except' ['*'] [test [(',' | 'as') test]]
 suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
 
 # Backward compatibility cruft to support:
@@ -187,7 +187,7 @@ arglist: argument (',' argument)* [',']
 argument: ( test [comp_for] |
             test ':=' test |
             test 'as' test |
-            test '=' test |
+            test '=' asexpr_test |
 	    '**' test |
             '*' test )
 
@@ -247,5 +247,5 @@ subject_expr: (namedexpr_test|star_expr) (',' (namedexpr_test|star_expr))* [',']
 # cases
 case_block: "case" patterns [guard] ':' suite
 guard: 'if' namedexpr_test
-patterns: pattern ['as' pattern]
-pattern: (expr|star_expr) (',' (expr|star_expr))* [',']
+patterns: pattern (',' pattern)* [',']
+pattern: (expr|star_expr) ['as' expr]