summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-08-01 04:41:56 (GMT)
committerBenjamin Peterson <benjamin@python.org>2012-08-01 04:41:56 (GMT)
commit481ae50ccd32a767fbe986803703f6c217fc76fc (patch)
treec0e5eb45eda03718e2b1893efe50741a9eab0e3f
parent0efcf99c9eebfd65f6dd7ecc5c94b1c340ad6513 (diff)
downloadcpython-481ae50ccd32a767fbe986803703f6c217fc76fc.zip
cpython-481ae50ccd32a767fbe986803703f6c217fc76fc.tar.gz
cpython-481ae50ccd32a767fbe986803703f6c217fc76fc.tar.bz2
construct fields in the right order (closes #15517)
Patch from Taihyun Hwang.
-rw-r--r--Misc/ACKS2
-rw-r--r--Parser/asdl.py10
2 files changed, 3 insertions, 9 deletions
diff --git a/Misc/ACKS b/Misc/ACKS
index 465b5c2..b255ed2 100644
--- 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
-
diff --git a/Parser/asdl.py b/Parser/asdl.py
index 01a8b5e..08aa05b 100644
--- a/Parser/asdl.py
+++ b/Parser/asdl.py
@@ -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_):