Merged revisions 72924 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72924 | georg.brandl | 2009-05-25 23:02:56 +0200 (Mo, 25 Mai 2009) | 6 lines
Allow multiple context managers in one with statement, as proposed
in http://codereview.appspot.com/53094 and accepted by Guido.
The construct is transformed into multiple With AST nodes so that
there should be no problems with the semantics.
........
diff --git a/Python/graminit.c b/Python/graminit.c
index 4c159bc..1bea8a6 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -911,42 +911,43 @@
{99, 1},
};
static arc arcs_41_1[1] = {
- {24, 2},
+ {100, 2},
};
static arc arcs_41_2[2] = {
- {100, 3},
- {25, 4},
+ {30, 1},
+ {25, 3},
};
static arc arcs_41_3[1] = {
- {25, 4},
+ {26, 4},
};
static arc arcs_41_4[1] = {
- {26, 5},
+ {0, 4},
};
-static arc arcs_41_5[1] = {
- {0, 5},
-};
-static state states_41[6] = {
+static state states_41[5] = {
{1, arcs_41_0},
{1, arcs_41_1},
{2, arcs_41_2},
{1, arcs_41_3},
{1, arcs_41_4},
- {1, arcs_41_5},
};
static arc arcs_42_0[1] = {
- {80, 1},
+ {24, 1},
};
-static arc arcs_42_1[1] = {
- {101, 2},
+static arc arcs_42_1[2] = {
+ {80, 2},
+ {0, 1},
};
static arc arcs_42_2[1] = {
- {0, 2},
+ {101, 3},
};
-static state states_42[3] = {
+static arc arcs_42_3[1] = {
+ {0, 3},
+};
+static state states_42[4] = {
{1, arcs_42_0},
- {1, arcs_42_1},
+ {2, arcs_42_1},
{1, arcs_42_2},
+ {1, arcs_42_3},
};
static arc arcs_43_0[1] = {
{102, 1},
@@ -1810,10 +1811,10 @@
"\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
{296, "try_stmt", 0, 13, states_40,
"\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"},
- {297, "with_stmt", 0, 6, states_41,
+ {297, "with_stmt", 0, 5, states_41,
"\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000"},
- {298, "with_var", 0, 3, states_42,
- "\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000"},
+ {298, "with_item", 0, 4, states_42,
+ "\000\040\040\200\000\000\000\000\000\040\000\000\000\040\004\000\000\103\050\037\000"},
{299, "except_clause", 0, 5, states_43,
"\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000"},
{300, "suite", 0, 5, states_44,