diff options
author | Skip Montanaro <skip@pobox.com> | 2000-08-12 18:09:51 +0000 |
---|---|---|
committer | Skip Montanaro <skip@pobox.com> | 2000-08-12 18:09:51 +0000 |
commit | dd090c340ef908c8051372761dd265b3f7d92180 (patch) | |
tree | 93b0613ce213a0e33a5055e626015ab29f528fae /Grammar | |
parent | be544c3f10af27590163f23521c582dd9eb42c2c (diff) | |
download | cpython-dd090c340ef908c8051372761dd265b3f7d92180.tar.gz |
list comprehensions. see
http://sourceforge.net/patch/?func=detailpatch&patch_id=100654&group_id=5470
for details.
Diffstat (limited to 'Grammar')
-rw-r--r-- | Grammar/Grammar | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Grammar/Grammar b/Grammar/Grammar index 57a39de2f0..872ec81b6d 100644 --- a/Grammar/Grammar +++ b/Grammar/Grammar @@ -74,7 +74,8 @@ arith_expr: term (('+'|'-') term)* term: factor (('*'|'/'|'%') factor)* factor: ('+'|'-'|'~') factor | power power: atom trailer* ('**' factor)* -atom: '(' [testlist] ')' | '[' [testlist] ']' | '{' [dictmaker] '}' | '`' testlist '`' | NAME | NUMBER | STRING+ +atom: '(' [testlist] ')' | '[' [listmaker] ']' | '{' [dictmaker] '}' | '`' testlist '`' | NAME | NUMBER | STRING+ +listmaker: test ( list_iter | (',' test)* [','] ) lambdef: 'lambda' [varargslist] ':' test trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME subscriptlist: subscript (',' subscript)* [','] @@ -88,3 +89,7 @@ classdef: 'class' NAME ['(' testlist ')'] ':' suite arglist: (argument ',')* (argument [',']| '*' test [',' '**' test] | '**' test) argument: [test '='] test # Really [keyword '='] test + +list_iter: list_for | list_if +list_for: 'for' exprlist 'in' testlist [list_iter] +list_if: 'if' test [list_iter] |