diff --git a/Doc/ref/ref5.tex b/Doc/ref/ref5.tex
index db98fe4..6b699bc 100644
--- a/Doc/ref/ref5.tex
+++ b/Doc/ref/ref5.tex
@@ -152,13 +152,22 @@
 square brackets:
 
 \begin{verbatim}
-list_display:   "[" [expression_list] "]"
+list_display:   "[" [expression_list [list_iter]] "]"
+list_iter:   list_for | list_if
+list_for:    "for" expression_list "in" testlist [list_iter]
+list_if:     "if" test [list_iter]
 \end{verbatim}
 
-A list display yields a new list object.  If it has no expression
-list, the list object has no items.  Otherwise, the elements of the
-expression list are evaluated from left to right and inserted in the
-list object in that order.
+A list display yields a new list object.  Its contents are specified
+by providing either a list of expressions or a list comprehension.
+When a comma-separated list of expressions is supplied, its elements are
+evaluated from left to right and placed into the list object in that
+order.  When a list comprehension is supplied, it consists of a
+single expression followed by one or more "for" or "if" clauses.  In this
+case, the elements of the new list are those that would be produced
+by considering each of the "for" or "if" clauses a block, nesting from
+left to right, and evaluating the expression to produce a list element
+each time the innermost block is reached.
 \obindex{list}
 \indexii{empty}{list}
 
diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index b53d6ea..f811932 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -1753,6 +1753,27 @@
 0
 \end{verbatim}
 
+\subsection{List Comprehensions}
+
+List comprehensions provide a concise way to create lists without resorting
+to use of the \func{map()} or \func{filter()} functions.  The resulting
+construct tends often to be clearer than use of those functions.
+
+\begin{verbatim}
+>>> spcs = ["  Apple", " Banana ", "Coco  nut  "]
+>>> print [s.strip() for s in spcs]
+['Apple', 'Banana', 'Coco  nut']
+>>> vec = [2, 4, 6]
+>>> print [3*x for x in vec]
+[6, 12, 18]
+>>> vec1 = [2, 4, 6]
+>>> vec2 = [4, 3, -9]
+>>> print [x*y for x in vec1 for y in vec2]
+[8, 6, -18, 16, 12, -36, 24, 18, -54]
+>>> print [x+y for x in vec1 for y in vec2]
+[6, 5, -7, 8, 7, -5, 10, 9, -3]
+\end{verbatim}
+
 \section{The \keyword{del} statement \label{del}}
 
 There is a way to remove an item from a list given its index instead
diff --git a/Grammar/Grammar b/Grammar/Grammar
index 57a39de..872ec81 100644
--- a/Grammar/Grammar
+++ b/Grammar/Grammar
@@ -74,7 +74,8 @@
 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 @@
 
 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]
diff --git a/Include/graminit.h b/Include/graminit.h
index ba66456..8bb1750 100644
--- a/Include/graminit.h
+++ b/Include/graminit.h
@@ -44,14 +44,18 @@
 #define factor 299
 #define power 300
 #define atom 301
-#define lambdef 302
-#define trailer 303
-#define subscriptlist 304
-#define subscript 305
-#define sliceop 306
-#define exprlist 307
-#define testlist 308
-#define dictmaker 309
-#define classdef 310
-#define arglist 311
-#define argument 312
+#define listmaker 302
+#define lambdef 303
+#define trailer 304
+#define subscriptlist 305
+#define subscript 306
+#define sliceop 307
+#define exprlist 308
+#define testlist 309
+#define dictmaker 310
+#define classdef 311
+#define arglist 312
+#define argument 313
+#define list_iter 314
+#define list_for 315
+#define list_if 316
diff --git a/Lib/test/output/test_grammar b/Lib/test/output/test_grammar
index 1926e4d..b075d35 100644
--- a/Lib/test/output/test_grammar
+++ b/Lib/test/output/test_grammar
@@ -45,3 +45,10 @@
 
 atoms
 classdef
+['Apple', 'Banana', 'Coco  nut']
+[3, 6, 9, 12, 15]
+[3, 4, 5]
+[(1, 'Apple'), (1, 'Banana'), (1, 'Coconut'), (2, 'Apple'), (2, 'Banana'), (2, 'Coconut'), (3, 'Apple'), (3, 'Banana'), (3, 'Coconut'), (4, 'Apple'), (4, 'Banana'), (4, 'Coconut'), (5, 'Apple'), (5, 'Banana'), (5, 'Coconut')]
+[(1, 'Banana'), (1, 'Coconut'), (2, 'Banana'), (2, 'Coconut'), (3, 'Banana'), (3, 'Coconut'), (4, 'Banana'), (4, 'Coconut'), (5, 'Banana'), (5, 'Coconut')]
+good: got a SyntaxError as expected
+[('Boeing', 'Airliner'), ('Boeing', 'Engine'), ('Ford', 'Engine'), ('Macdonalds', 'Cheeseburger')]
diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py
index fa09e8c..8eb5522 100644
--- a/Lib/test/test_grammar.py
+++ b/Lib/test/test_grammar.py
@@ -542,3 +542,43 @@
 	def meth1(self): pass
 	def meth2(self, arg): pass
 	def meth3(self, a1, a2): pass
+
+# list comprehension tests
+nums = [1, 2, 3, 4, 5]
+strs = ["Apple", "Banana", "Coconut"]
+spcs = ["  Apple", " Banana ", "Coco  nut  "]
+
+print [s.strip() for s in spcs]
+print [3 * x for x in nums]
+print [x for x in nums if x > 2]
+print [(i, s) for i in nums for s in strs]
+print [(i, s) for i in nums for s in [f for f in strs if "n" in f]]
+try:
+    eval("[i, s for i in nums for s in strs]")
+    print "FAIL: should have raised a SyntaxError!"
+except SyntaxError:
+    print "good: got a SyntaxError as expected"
+
+suppliers = [
+  (1, "Boeing"),
+  (2, "Ford"),
+  (3, "Macdonalds")
+]
+
+parts = [
+  (10, "Airliner"),
+  (20, "Engine"),
+  (30, "Cheeseburger")
+]
+
+suppart = [
+  (1, 10), (1, 20), (2, 20), (3, 30)
+]
+
+print [
+  (sname, pname)
+    for (sno, sname) in suppliers
+      for (pno, pname) in parts
+        for (sp_sno, sp_pno) in suppart
+          if sno == sp_sno and pno == sp_pno
+]
diff --git a/Python/compile.c b/Python/compile.c
index 395bd1e..6e4c548 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -294,6 +294,7 @@
 #ifdef PRIVATE_NAME_MANGLING
 	char *c_private;	/* for private name mangling */
 #endif
+	int c_tmpname;		/* temporary local name counter */
 };
 
 
@@ -368,8 +369,10 @@
 static int com_addname(struct compiling *, PyObject *);
 static void com_addopname(struct compiling *, int, node *);
 static void com_list(struct compiling *, node *, int);
+static void com_list_iter(struct compiling *, node *, node *, char *);
 static int com_argdefs(struct compiling *, node *);
 static int com_newlocal(struct compiling *, char *);
+static void com_assign(struct compiling *, node *, int);
 static PyCodeObject *icompile(struct _node *, struct compiling *);
 static PyCodeObject *jcompile(struct _node *, char *,
 			      struct compiling *);
@@ -419,6 +422,7 @@
 	c->c_last_addr = 0;
 	c->c_last_line = 0;
 	c-> c_lnotab_next = 0;
+	c->c_tmpname = 0;
 	return 1;
 	
   fail:
@@ -941,18 +945,116 @@
 }
 
 static void
-com_list_constructor(struct compiling *c, node *n)
+com_list_for(struct compiling *c, node *n, node *e, char *t)
 {
-	int len;
-	int i;
-	if (TYPE(n) != testlist)
-		REQ(n, exprlist);
-	/* exprlist: expr (',' expr)* [',']; likewise for testlist */
-	len = (NCH(n) + 1) / 2;
-	for (i = 0; i < NCH(n); i += 2)
-		com_node(c, CHILD(n, i));
-	com_addoparg(c, BUILD_LIST, len);
-	com_pop(c, len-1);
+	PyObject *v;
+	int anchor = 0;
+	int save_begin = c->c_begin;
+
+	/* list_iter: for v in expr [list_iter] */
+	com_node(c, CHILD(n, 3)); /* expr */
+	v = PyInt_FromLong(0L);
+	if (v == NULL)
+		c->c_errors++;
+	com_addoparg(c, LOAD_CONST, com_addconst(c, v));
+	com_push(c, 1);
+	Py_XDECREF(v);
+	c->c_begin = c->c_nexti;
+	com_addoparg(c, SET_LINENO, n->n_lineno);
+	com_addfwref(c, FOR_LOOP, &anchor);
+	com_push(c, 1);
+	com_assign(c, CHILD(n, 1), OP_ASSIGN);
+	c->c_loops++;
+	com_list_iter(c, n, e, t);
+	c->c_loops--;
+	com_addoparg(c, JUMP_ABSOLUTE, c->c_begin);
+	c->c_begin = save_begin;
+	com_backpatch(c, anchor);
+	com_pop(c, 2); /* FOR_LOOP has popped these */
+}  
+
+static void
+com_list_if(struct compiling *c, node *n, node *e, char *t)
+{
+	int anchor = 0;
+	int a = 0;
+	/* list_iter: 'if' test [list_iter] */
+	com_addoparg(c, SET_LINENO, n->n_lineno);
+	com_node(c, CHILD(n, 1));
+	com_addfwref(c, JUMP_IF_FALSE, &a);
+	com_addbyte(c, POP_TOP);
+	com_pop(c, 1);
+	com_list_iter(c, n, e, t);
+	com_addfwref(c, JUMP_FORWARD, &anchor);
+	com_backpatch(c, a);
+	/* We jump here with an extra entry which we now pop */
+	com_addbyte(c, POP_TOP);
+	com_backpatch(c, anchor);
+}
+
+static void
+com_list_iter(struct compiling *c,
+	      node *p,		/* parent of list_iter node */
+	      node *e,		/* element expression node */
+	      char *t		/* name of result list temp local */)
+{
+	/* list_iter is the last child in a listmaker, list_for, or list_if */
+	node *n = CHILD(p, NCH(p)-1);
+	if (TYPE(n) == list_iter) {
+		n = CHILD(n, 0);
+		switch (TYPE(n)) {
+		case list_for: 
+			com_list_for(c, n, e, t);
+			break;
+		case list_if:
+			com_list_if(c, n, e, t);
+			break;
+		default:
+			com_error(c, PyExc_SystemError,
+				  "invalid list_iter node type");
+		}
+	}
+	else {
+		com_addopnamestr(c, LOAD_NAME, t);
+		com_push(c, 1);
+		com_node(c, e);
+		com_addoparg(c, CALL_FUNCTION, 1);
+		com_addbyte(c, POP_TOP);
+		com_pop(c, 2);
+	}
+}
+
+static void
+com_list_comprehension(struct compiling *c, node *n)
+{
+	/* listmaker: test list_iter */
+	char tmpname[12];
+	sprintf(tmpname, "__%d__", ++c->c_tmpname);
+	com_addoparg(c, BUILD_LIST, 0);
+	com_addbyte(c, DUP_TOP); /* leave the result on the stack */
+	com_push(c, 2);
+	com_addopnamestr(c, LOAD_ATTR, "append");
+	com_addopnamestr(c, STORE_NAME, tmpname);
+	com_pop(c, 1);
+	com_list_iter(c, n, CHILD(n, 0), tmpname);
+	com_addopnamestr(c, DELETE_NAME, tmpname);
+	--c->c_tmpname;
+}
+
+static void
+com_listmaker(struct compiling *c, node *n)
+{
+	/* listmaker: test ( list_iter | (',' test)* [','] ) */
+	if (TYPE(CHILD(n, 1)) == list_iter)
+		com_list_comprehension(c, n);
+	else {
+		int len = 0;
+		int i;
+		for (i = 0; i < NCH(n); i += 2, len++)
+			com_node(c, CHILD(n, i));
+		com_addoparg(c, BUILD_LIST, len);
+		com_pop(c, len-1);
+	}
 }
 
 static void
@@ -990,18 +1092,18 @@
 		else
 			com_node(c, CHILD(n, 1));
 		break;
-	case LSQB:
+	case LSQB: /* '[' [listmaker] ']' */
 		if (TYPE(CHILD(n, 1)) == RSQB) {
 			com_addoparg(c, BUILD_LIST, 0);
 			com_push(c, 1);
 		}
 		else
-			com_list_constructor(c, CHILD(n, 1));
+			com_listmaker(c, CHILD(n, 1));
 		break;
 	case LBRACE: /* '{' [dictmaker] '}' */
 		com_addoparg(c, BUILD_MAP, 0);
 		com_push(c, 1);
-		if (TYPE(CHILD(n, 1)) != RBRACE)
+		if (TYPE(CHILD(n, 1)) == dictmaker)
 			com_dictmaker(c, CHILD(n, 1));
 		break;
 	case BACKQUOTE:
@@ -1744,6 +1846,19 @@
 }
 
 static void
+com_assign_list(struct compiling *c, node *n, int assigning)
+{
+	int i;
+	if (assigning) {
+		i = (NCH(n)+1)/2;
+		com_addoparg(c, UNPACK_SEQUENCE, i);
+		com_push(c, i-1);
+	}
+	for (i = 0; i < NCH(n); i += 2)
+		com_assign(c, CHILD(n, i), assigning);
+}
+
+static void
 com_assign_name(struct compiling *c, node *n, int assigning)
 {
 	REQ(n, NAME);
diff --git a/Python/graminit.c b/Python/graminit.c
index 35d8de4..82b01bc 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -896,23 +896,23 @@
 static arc arcs_45_0[7] = {
 	{16, 1},
 	{109, 2},
-	{111, 3},
-	{114, 4},
+	{112, 3},
+	{115, 4},
 	{12, 5},
-	{115, 5},
-	{116, 6},
+	{116, 5},
+	{117, 6},
 };
 static arc arcs_45_1[2] = {
 	{9, 7},
 	{18, 5},
 };
 static arc arcs_45_2[2] = {
-	{9, 8},
-	{110, 5},
+	{110, 8},
+	{111, 5},
 };
 static arc arcs_45_3[2] = {
-	{112, 9},
-	{113, 5},
+	{113, 9},
+	{114, 5},
 };
 static arc arcs_45_4[1] = {
 	{9, 10},
@@ -921,20 +921,20 @@
 	{0, 5},
 };
 static arc arcs_45_6[2] = {
-	{116, 6},
+	{117, 6},
 	{0, 6},
 };
 static arc arcs_45_7[1] = {
 	{18, 5},
 };
 static arc arcs_45_8[1] = {
-	{110, 5},
+	{111, 5},
 };
 static arc arcs_45_9[1] = {
-	{113, 5},
+	{114, 5},
 };
 static arc arcs_45_10[1] = {
-	{114, 5},
+	{115, 5},
 };
 static state states_45[11] = {
 	{7, arcs_45_0},
@@ -950,153 +950,163 @@
 	{1, arcs_45_10},
 };
 static arc arcs_46_0[1] = {
-	{117, 1},
+	{21, 1},
 };
-static arc arcs_46_1[2] = {
-	{17, 2},
-	{14, 3},
+static arc arcs_46_1[3] = {
+	{118, 2},
+	{22, 3},
+	{0, 1},
 };
 static arc arcs_46_2[1] = {
-	{14, 3},
+	{0, 2},
 };
-static arc arcs_46_3[1] = {
+static arc arcs_46_3[2] = {
 	{21, 4},
+	{0, 3},
 };
-static arc arcs_46_4[1] = {
+static arc arcs_46_4[2] = {
+	{22, 3},
 	{0, 4},
 };
 static state states_46[5] = {
 	{1, arcs_46_0},
-	{2, arcs_46_1},
+	{3, arcs_46_1},
 	{1, arcs_46_2},
-	{1, arcs_46_3},
-	{1, arcs_46_4},
+	{2, arcs_46_3},
+	{2, arcs_46_4},
 };
-static arc arcs_47_0[3] = {
-	{16, 1},
-	{109, 2},
-	{52, 3},
+static arc arcs_47_0[1] = {
+	{119, 1},
 };
 static arc arcs_47_1[2] = {
-	{118, 4},
-	{18, 5},
+	{17, 2},
+	{14, 3},
 };
 static arc arcs_47_2[1] = {
-	{119, 6},
+	{14, 3},
 };
 static arc arcs_47_3[1] = {
-	{12, 5},
+	{21, 4},
 };
 static arc arcs_47_4[1] = {
-	{18, 5},
+	{0, 4},
 };
-static arc arcs_47_5[1] = {
-	{0, 5},
-};
-static arc arcs_47_6[1] = {
-	{110, 5},
-};
-static state states_47[7] = {
-	{3, arcs_47_0},
+static state states_47[5] = {
+	{1, arcs_47_0},
 	{2, arcs_47_1},
 	{1, arcs_47_2},
 	{1, arcs_47_3},
 	{1, arcs_47_4},
-	{1, arcs_47_5},
-	{1, arcs_47_6},
 };
-static arc arcs_48_0[1] = {
-	{120, 1},
+static arc arcs_48_0[3] = {
+	{16, 1},
+	{109, 2},
+	{52, 3},
 };
 static arc arcs_48_1[2] = {
+	{120, 4},
+	{18, 5},
+};
+static arc arcs_48_2[1] = {
+	{121, 6},
+};
+static arc arcs_48_3[1] = {
+	{12, 5},
+};
+static arc arcs_48_4[1] = {
+	{18, 5},
+};
+static arc arcs_48_5[1] = {
+	{0, 5},
+};
+static arc arcs_48_6[1] = {
+	{111, 5},
+};
+static state states_48[7] = {
+	{3, arcs_48_0},
+	{2, arcs_48_1},
+	{1, arcs_48_2},
+	{1, arcs_48_3},
+	{1, arcs_48_4},
+	{1, arcs_48_5},
+	{1, arcs_48_6},
+};
+static arc arcs_49_0[1] = {
+	{122, 1},
+};
+static arc arcs_49_1[2] = {
 	{22, 2},
 	{0, 1},
 };
-static arc arcs_48_2[2] = {
-	{120, 1},
+static arc arcs_49_2[2] = {
+	{122, 1},
 	{0, 2},
 };
-static state states_48[3] = {
-	{1, arcs_48_0},
-	{2, arcs_48_1},
-	{2, arcs_48_2},
+static state states_49[3] = {
+	{1, arcs_49_0},
+	{2, arcs_49_1},
+	{2, arcs_49_2},
 };
-static arc arcs_49_0[3] = {
+static arc arcs_50_0[3] = {
 	{52, 1},
 	{21, 2},
 	{14, 3},
 };
-static arc arcs_49_1[1] = {
+static arc arcs_50_1[1] = {
 	{52, 4},
 };
-static arc arcs_49_2[2] = {
+static arc arcs_50_2[2] = {
 	{14, 3},
 	{0, 2},
 };
-static arc arcs_49_3[3] = {
+static arc arcs_50_3[3] = {
 	{21, 5},
-	{121, 6},
+	{123, 6},
 	{0, 3},
 };
-static arc arcs_49_4[1] = {
+static arc arcs_50_4[1] = {
 	{52, 6},
 };
-static arc arcs_49_5[2] = {
-	{121, 6},
+static arc arcs_50_5[2] = {
+	{123, 6},
 	{0, 5},
 };
-static arc arcs_49_6[1] = {
+static arc arcs_50_6[1] = {
 	{0, 6},
 };
-static state states_49[7] = {
-	{3, arcs_49_0},
-	{1, arcs_49_1},
-	{2, arcs_49_2},
-	{3, arcs_49_3},
-	{1, arcs_49_4},
-	{2, arcs_49_5},
-	{1, arcs_49_6},
+static state states_50[7] = {
+	{3, arcs_50_0},
+	{1, arcs_50_1},
+	{2, arcs_50_2},
+	{3, arcs_50_3},
+	{1, arcs_50_4},
+	{2, arcs_50_5},
+	{1, arcs_50_6},
 };
-static arc arcs_50_0[1] = {
+static arc arcs_51_0[1] = {
 	{14, 1},
 };
-static arc arcs_50_1[2] = {
+static arc arcs_51_1[2] = {
 	{21, 2},
 	{0, 1},
 };
-static arc arcs_50_2[1] = {
-	{0, 2},
-};
-static state states_50[3] = {
-	{1, arcs_50_0},
-	{2, arcs_50_1},
-	{1, arcs_50_2},
-};
-static arc arcs_51_0[1] = {
-	{55, 1},
-};
-static arc arcs_51_1[2] = {
-	{22, 2},
-	{0, 1},
-};
-static arc arcs_51_2[2] = {
-	{55, 1},
+static arc arcs_51_2[1] = {
 	{0, 2},
 };
 static state states_51[3] = {
 	{1, arcs_51_0},
 	{2, arcs_51_1},
-	{2, arcs_51_2},
+	{1, arcs_51_2},
 };
 static arc arcs_52_0[1] = {
-	{21, 1},
+	{55, 1},
 };
 static arc arcs_52_1[2] = {
 	{22, 2},
 	{0, 1},
 };
 static arc arcs_52_2[2] = {
-	{21, 1},
+	{55, 1},
 	{0, 2},
 };
 static state states_52[3] = {
@@ -1107,129 +1117,202 @@
 static arc arcs_53_0[1] = {
 	{21, 1},
 };
-static arc arcs_53_1[1] = {
+static arc arcs_53_1[2] = {
+	{22, 2},
+	{0, 1},
+};
+static arc arcs_53_2[2] = {
+	{21, 1},
+	{0, 2},
+};
+static state states_53[3] = {
+	{1, arcs_53_0},
+	{2, arcs_53_1},
+	{2, arcs_53_2},
+};
+static arc arcs_54_0[1] = {
+	{21, 1},
+};
+static arc arcs_54_1[1] = {
 	{14, 2},
 };
-static arc arcs_53_2[1] = {
+static arc arcs_54_2[1] = {
 	{21, 3},
 };
-static arc arcs_53_3[2] = {
+static arc arcs_54_3[2] = {
 	{22, 4},
 	{0, 3},
 };
-static arc arcs_53_4[2] = {
+static arc arcs_54_4[2] = {
 	{21, 1},
 	{0, 4},
 };
-static state states_53[5] = {
-	{1, arcs_53_0},
-	{1, arcs_53_1},
-	{1, arcs_53_2},
-	{2, arcs_53_3},
-	{2, arcs_53_4},
+static state states_54[5] = {
+	{1, arcs_54_0},
+	{1, arcs_54_1},
+	{1, arcs_54_2},
+	{2, arcs_54_3},
+	{2, arcs_54_4},
 };
-static arc arcs_54_0[1] = {
-	{122, 1},
+static arc arcs_55_0[1] = {
+	{124, 1},
 };
-static arc arcs_54_1[1] = {
+static arc arcs_55_1[1] = {
 	{12, 2},
 };
-static arc arcs_54_2[2] = {
+static arc arcs_55_2[2] = {
 	{16, 3},
 	{14, 4},
 };
-static arc arcs_54_3[1] = {
+static arc arcs_55_3[1] = {
 	{9, 5},
 };
-static arc arcs_54_4[1] = {
+static arc arcs_55_4[1] = {
 	{15, 6},
 };
-static arc arcs_54_5[1] = {
+static arc arcs_55_5[1] = {
 	{18, 7},
 };
-static arc arcs_54_6[1] = {
-	{0, 6},
-};
-static arc arcs_54_7[1] = {
-	{14, 4},
-};
-static state states_54[8] = {
-	{1, arcs_54_0},
-	{1, arcs_54_1},
-	{2, arcs_54_2},
-	{1, arcs_54_3},
-	{1, arcs_54_4},
-	{1, arcs_54_5},
-	{1, arcs_54_6},
-	{1, arcs_54_7},
-};
-static arc arcs_55_0[3] = {
-	{123, 1},
-	{23, 2},
-	{24, 3},
-};
-static arc arcs_55_1[2] = {
-	{22, 4},
-	{0, 1},
-};
-static arc arcs_55_2[1] = {
-	{21, 5},
-};
-static arc arcs_55_3[1] = {
-	{21, 6},
-};
-static arc arcs_55_4[4] = {
-	{123, 1},
-	{23, 2},
-	{24, 3},
-	{0, 4},
-};
-static arc arcs_55_5[2] = {
-	{22, 7},
-	{0, 5},
-};
 static arc arcs_55_6[1] = {
 	{0, 6},
 };
 static arc arcs_55_7[1] = {
-	{24, 3},
+	{14, 4},
 };
 static state states_55[8] = {
-	{3, arcs_55_0},
-	{2, arcs_55_1},
-	{1, arcs_55_2},
+	{1, arcs_55_0},
+	{1, arcs_55_1},
+	{2, arcs_55_2},
 	{1, arcs_55_3},
-	{4, arcs_55_4},
-	{2, arcs_55_5},
+	{1, arcs_55_4},
+	{1, arcs_55_5},
 	{1, arcs_55_6},
 	{1, arcs_55_7},
 };
-static arc arcs_56_0[1] = {
-	{21, 1},
+static arc arcs_56_0[3] = {
+	{125, 1},
+	{23, 2},
+	{24, 3},
 };
 static arc arcs_56_1[2] = {
-	{20, 2},
+	{22, 4},
 	{0, 1},
 };
 static arc arcs_56_2[1] = {
-	{21, 3},
+	{21, 5},
 };
 static arc arcs_56_3[1] = {
-	{0, 3},
+	{21, 6},
 };
-static state states_56[4] = {
-	{1, arcs_56_0},
+static arc arcs_56_4[4] = {
+	{125, 1},
+	{23, 2},
+	{24, 3},
+	{0, 4},
+};
+static arc arcs_56_5[2] = {
+	{22, 7},
+	{0, 5},
+};
+static arc arcs_56_6[1] = {
+	{0, 6},
+};
+static arc arcs_56_7[1] = {
+	{24, 3},
+};
+static state states_56[8] = {
+	{3, arcs_56_0},
 	{2, arcs_56_1},
 	{1, arcs_56_2},
 	{1, arcs_56_3},
+	{4, arcs_56_4},
+	{2, arcs_56_5},
+	{1, arcs_56_6},
+	{1, arcs_56_7},
 };
-static dfa dfas[57] = {
+static arc arcs_57_0[1] = {
+	{21, 1},
+};
+static arc arcs_57_1[2] = {
+	{20, 2},
+	{0, 1},
+};
+static arc arcs_57_2[1] = {
+	{21, 3},
+};
+static arc arcs_57_3[1] = {
+	{0, 3},
+};
+static state states_57[4] = {
+	{1, arcs_57_0},
+	{2, arcs_57_1},
+	{1, arcs_57_2},
+	{1, arcs_57_3},
+};
+static arc arcs_58_0[2] = {
+	{126, 1},
+	{127, 1},
+};
+static arc arcs_58_1[1] = {
+	{0, 1},
+};
+static state states_58[2] = {
+	{2, arcs_58_0},
+	{1, arcs_58_1},
+};
+static arc arcs_59_0[1] = {
+	{67, 1},
+};
+static arc arcs_59_1[1] = {
+	{39, 2},
+};
+static arc arcs_59_2[1] = {
+	{56, 3},
+};
+static arc arcs_59_3[1] = {
+	{9, 4},
+};
+static arc arcs_59_4[2] = {
+	{118, 5},
+	{0, 4},
+};
+static arc arcs_59_5[1] = {
+	{0, 5},
+};
+static state states_59[6] = {
+	{1, arcs_59_0},
+	{1, arcs_59_1},
+	{1, arcs_59_2},
+	{1, arcs_59_3},
+	{2, arcs_59_4},
+	{1, arcs_59_5},
+};
+static arc arcs_60_0[1] = {
+	{63, 1},
+};
+static arc arcs_60_1[1] = {
+	{21, 2},
+};
+static arc arcs_60_2[2] = {
+	{118, 3},
+	{0, 2},
+};
+static arc arcs_60_3[1] = {
+	{0, 3},
+};
+static state states_60[4] = {
+	{1, arcs_60_0},
+	{1, arcs_60_1},
+	{2, arcs_60_2},
+	{1, arcs_60_3},
+};
+static dfa dfas[61] = {
 	{256, "single_input", 0, 3, states_0,
-	 "\004\030\001\000\140\341\153\202\034\200\000\000\060\242\074\004"},
+	 "\004\030\001\000\140\341\153\202\034\200\000\000\060\042\271\020"},
 	{257, "file_input", 0, 2, states_1,
-	 "\204\030\001\000\140\341\153\202\034\200\000\000\060\242\074\004"},
+	 "\204\030\001\000\140\341\153\202\034\200\000\000\060\042\271\020"},
 	{258, "eval_input", 0, 3, states_2,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\271\000"},
 	{259, "funcdef", 0, 6, states_3,
 	 "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{260, "parameters", 0, 4, states_4,
@@ -1241,13 +1324,13 @@
 	{263, "fplist", 0, 3, states_7,
 	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{264, "stmt", 0, 2, states_8,
-	 "\000\030\001\000\140\341\153\202\034\200\000\000\060\242\074\004"},
+	 "\000\030\001\000\140\341\153\202\034\200\000\000\060\042\271\020"},
 	{265, "simple_stmt", 0, 4, states_9,
-	 "\000\020\001\000\140\341\153\002\000\200\000\000\060\242\074\000"},
+	 "\000\020\001\000\140\341\153\002\000\200\000\000\060\042\271\000"},
 	{266, "small_stmt", 0, 2, states_10,
-	 "\000\020\001\000\140\341\153\002\000\200\000\000\060\242\074\000"},
+	 "\000\020\001\000\140\341\153\002\000\200\000\000\060\042\271\000"},
 	{267, "expr_stmt", 0, 2, states_11,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\271\000"},
 	{268, "print_stmt", 0, 3, states_12,
 	 "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
 	{269, "del_stmt", 0, 3, states_13,
@@ -1275,7 +1358,7 @@
 	{280, "assert_stmt", 0, 5, states_24,
 	 "\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000"},
 	{281, "compound_stmt", 0, 2, states_25,
-	 "\000\010\000\000\000\000\000\200\034\000\000\000\000\000\000\004"},
+	 "\000\010\000\000\000\000\000\200\034\000\000\000\000\000\000\020"},
 	{282, "if_stmt", 0, 8, states_26,
 	 "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
 	{283, "while_stmt", 0, 8, states_27,
@@ -1287,59 +1370,67 @@
 	{286, "except_clause", 0, 5, states_30,
 	 "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000"},
 	{287, "suite", 0, 5, states_31,
-	 "\004\020\001\000\140\341\153\002\000\200\000\000\060\242\074\000"},
+	 "\004\020\001\000\140\341\153\002\000\200\000\000\060\042\271\000"},
 	{288, "test", 0, 4, states_32,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\271\000"},
 	{289, "and_test", 0, 2, states_33,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\071\000"},
 	{290, "not_test", 0, 3, states_34,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\071\000"},
 	{291, "comparison", 0, 2, states_35,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{292, "comp_op", 0, 4, states_36,
 	 "\000\000\000\000\000\000\000\001\000\200\374\003\000\000\000\000"},
 	{293, "expr", 0, 2, states_37,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{294, "xor_expr", 0, 2, states_38,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{295, "and_expr", 0, 2, states_39,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{296, "shift_expr", 0, 2, states_40,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{297, "arith_expr", 0, 2, states_41,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{298, "term", 0, 2, states_42,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{299, "factor", 0, 3, states_43,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
 	{300, "power", 0, 4, states_44,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\240\034\000"},
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\040\071\000"},
 	{301, "atom", 0, 11, states_45,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\240\034\000"},
-	{302, "lambdef", 0, 5, states_46,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000"},
-	{303, "trailer", 0, 7, states_47,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\040\071\000"},
+	{302, "listmaker", 0, 5, states_46,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\271\000"},
+	{303, "lambdef", 0, 5, states_47,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"},
+	{304, "trailer", 0, 7, states_48,
 	 "\000\000\001\000\000\000\020\000\000\000\000\000\000\040\000\000"},
-	{304, "subscriptlist", 0, 3, states_48,
-	 "\000\120\001\000\000\000\020\000\000\200\000\000\060\242\074\000"},
-	{305, "subscript", 0, 7, states_49,
-	 "\000\120\001\000\000\000\020\000\000\200\000\000\060\242\074\000"},
-	{306, "sliceop", 0, 3, states_50,
+	{305, "subscriptlist", 0, 3, states_49,
+	 "\000\120\001\000\000\000\020\000\000\200\000\000\060\042\271\000"},
+	{306, "subscript", 0, 7, states_50,
+	 "\000\120\001\000\000\000\020\000\000\200\000\000\060\042\271\000"},
+	{307, "sliceop", 0, 3, states_51,
 	 "\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{307, "exprlist", 0, 3, states_51,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\242\034\000"},
-	{308, "testlist", 0, 3, states_52,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
-	{309, "dictmaker", 0, 5, states_53,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
-	{310, "classdef", 0, 8, states_54,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"},
-	{311, "arglist", 0, 8, states_55,
-	 "\000\020\201\001\000\000\000\000\000\200\000\000\060\242\074\000"},
-	{312, "argument", 0, 4, states_56,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
+	{308, "exprlist", 0, 3, states_52,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\042\071\000"},
+	{309, "testlist", 0, 3, states_53,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\271\000"},
+	{310, "dictmaker", 0, 5, states_54,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\271\000"},
+	{311, "classdef", 0, 8, states_55,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020"},
+	{312, "arglist", 0, 8, states_56,
+	 "\000\020\201\001\000\000\000\000\000\200\000\000\060\042\271\000"},
+	{313, "argument", 0, 4, states_57,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\042\271\000"},
+	{314, "list_iter", 0, 2, states_58,
+	 "\000\000\000\000\000\000\000\200\010\000\000\000\000\000\000\000"},
+	{315, "list_for", 0, 6, states_59,
+	 "\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000"},
+	{316, "list_if", 0, 4, states_60,
+	 "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
 };
-static label labels[124] = {
+static label labels[128] = {
 	{0, "EMPTY"},
 	{256, 0},
 	{4, 0},
@@ -1349,7 +1440,7 @@
 	{264, 0},
 	{0, 0},
 	{258, 0},
-	{308, 0},
+	{309, 0},
 	{259, 0},
 	{1, "def"},
 	{1, 0},
@@ -1379,7 +1470,7 @@
 	{280, 0},
 	{1, "print"},
 	{1, "del"},
-	{307, 0},
+	{308, 0},
 	{1, "pass"},
 	{272, 0},
 	{273, 0},
@@ -1402,7 +1493,7 @@
 	{283, 0},
 	{284, 0},
 	{285, 0},
-	{310, 0},
+	{311, 0},
 	{1, "if"},
 	{1, "elif"},
 	{1, "else"},
@@ -1416,7 +1507,7 @@
 	{6, 0},
 	{289, 0},
 	{1, "or"},
-	{302, 0},
+	{303, 0},
 	{290, 0},
 	{1, "and"},
 	{1, "not"},
@@ -1448,26 +1539,30 @@
 	{32, 0},
 	{300, 0},
 	{301, 0},
-	{303, 0},
+	{304, 0},
 	{9, 0},
+	{302, 0},
 	{10, 0},
 	{26, 0},
-	{309, 0},
+	{310, 0},
 	{27, 0},
 	{25, 0},
 	{2, 0},
 	{3, 0},
+	{314, 0},
 	{1, "lambda"},
-	{311, 0},
-	{304, 0},
+	{312, 0},
 	{305, 0},
 	{306, 0},
+	{307, 0},
 	{1, "class"},
-	{312, 0},
+	{313, 0},
+	{315, 0},
+	{316, 0},
 };
 grammar _PyParser_Grammar = {
-	57,
+	61,
 	dfas,
-	{124, labels},
+	{128, labels},
 	256
 };
