]> granicus.if.org Git - python/commitdiff
construct fields in the right order (closes #15517)
authorBenjamin Peterson <benjamin@python.org>
Wed, 1 Aug 2012 04:41:56 +0000 (21:41 -0700)
committerBenjamin Peterson <benjamin@python.org>
Wed, 1 Aug 2012 04:41:56 +0000 (21:41 -0700)
Patch from Taihyun Hwang.

Misc/ACKS
Parser/asdl.py

index 465b5c298c0cad2867ec853d6656ed5b6163b630..b255ed2ba2cadd772daf522e78ec07efde3cfdd9 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -476,6 +476,7 @@ Michael Hudson
 Jim Hugunin
 Greg Humphreys
 Eric Huss
+Taihyun Hwang
 Jeremy Hylton
 Gerhard Häring
 Fredrik Håård
@@ -1174,4 +1175,3 @@ Uwe Zessin
 Kai Zhu
 Tarek Ziadé
 Peter Åstrand
-
index 01a8b5ebf7e904539dd63fc9d6598d8b8ea29c1a..08aa05b897c89ff0a6212aeceaf8160c4334fcf1 100644 (file)
@@ -156,15 +156,11 @@ class ASDLParser(spark.GenericParser, object):
         if id.value != "attributes":
             raise ASDLSyntaxError(id.lineno,
                                   msg="expected attributes, found %s" % id)
-        if attributes:
-            attributes.reverse()
         return Sum(sum, attributes)
 
     def p_product(self, info):
         " product ::= ( fields ) "
         _0, fields, _1 = info
-        # XXX can't I just construct things in the right order?
-        fields.reverse()
         return Product(fields)
 
     def p_sum_0(self, constructor):
@@ -188,8 +184,6 @@ class ASDLParser(spark.GenericParser, object):
     def p_constructor_1(self, info):
         " constructor ::= Id ( fields ) "
         id, _0, fields, _1 = info
-        # XXX can't I just construct things in the right order?
-        fields.reverse()
         return Constructor(id, fields)
 
     def p_fields_0(self, field):
@@ -197,8 +191,8 @@ class ASDLParser(spark.GenericParser, object):
         return [field[0]]
 
     def p_fields_1(self, info):
-        " fields ::= field , fields "
-        field, _, fields = info
+        " fields ::= fields , field "
+        fields, _, field = info
         return fields + [field]
 
     def p_field_0(self, type_):