diff Python/graminit.c @ 33166:2e8d2bdd33de legacy-trunk

This is Mark Russell's patch: [ 1009560 ] Fix @decorator evaluation order From the description: Changes in this patch: - Change Grammar/Grammar to require newlines between adjacent decorators. - Fix order of evaluation of decorators in the C (compile.c) and python (Lib/compiler/pycodegen.py) compilers - Add better order of evaluation check to test_decorators.py (test_eval_order) - Update the decorator documentation in the reference manual (improve description of evaluation order and update syntax description) and the comment: Used Brett's evaluation order (see http://mail.python.org/pipermail/python-dev/2004-August/047835.html) (I'm checking this in for Anthony who was having problems getting SF to talk to him)
author Michael W. Hudson <mwh@python.net>
date Tue, 17 Aug 2004 17:29:16 +0000
parents c7e03cf8333e
children f7474d31ba3f
line wrap: on
line diff
--- a/Python/graminit.c	Tue Aug 17 16:37:12 2004 +0000
+++ b/Python/graminit.c	Tue Aug 17 17:29:16 2004 +0000
@@ -51,41 +51,40 @@
 };
 static arc arcs_3_2[2] = {
 	{13, 3},
-	{0, 2},
+	{2, 4},
 };
 static arc arcs_3_3[2] = {
-	{14, 4},
-	{15, 5},
+	{14, 5},
+	{15, 6},
 };
 static arc arcs_3_4[1] = {
-	{15, 5},
+	{0, 4},
 };
 static arc arcs_3_5[1] = {
-	{0, 5},
+	{15, 6},
 };
-static state states_3[6] = {
+static arc arcs_3_6[1] = {
+	{2, 4},
+};
+static state states_3[7] = {
 	{1, arcs_3_0},
 	{1, arcs_3_1},
 	{2, arcs_3_2},
 	{2, arcs_3_3},
 	{1, arcs_3_4},
 	{1, arcs_3_5},
+	{1, arcs_3_6},
 };
 static arc arcs_4_0[1] = {
 	{10, 1},
 };
 static arc arcs_4_1[2] = {
-	{2, 2},
 	{10, 1},
+	{0, 1},
 };
-static arc arcs_4_2[2] = {
-	{10, 1},
-	{0, 2},
-};
-static state states_4[3] = {
+static state states_4[2] = {
 	{1, arcs_4_0},
 	{2, arcs_4_1},
-	{2, arcs_4_2},
 };
 static arc arcs_5_0[2] = {
 	{16, 1},
@@ -1618,9 +1617,9 @@
 	 "\204\050\014\000\000\000\200\012\176\231\040\007\040\000\000\206\220\064\041\000"},
 	{258, "eval_input", 0, 3, states_2,
 	 "\000\040\010\000\000\000\000\000\000\000\000\000\040\000\000\206\220\064\001\000"},
-	{259, "decorator", 0, 6, states_3,
+	{259, "decorator", 0, 7, states_3,
 	 "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{260, "decorators", 0, 3, states_4,
+	{260, "decorators", 0, 2, states_4,
 	 "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{261, "funcdef", 0, 7, states_5,
 	 "\000\010\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},