diff options
author | Benjamin Peterson <benjamin@python.org> | 2012-08-01 04:41:56 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2012-08-01 04:41:56 (GMT) |
commit | 481ae50ccd32a767fbe986803703f6c217fc76fc (patch) | |
tree | c0e5eb45eda03718e2b1893efe50741a9eab0e3f | |
parent | 0efcf99c9eebfd65f6dd7ecc5c94b1c340ad6513 (diff) | |
download | cpython-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/ACKS | 2 | ||||
-rw-r--r-- | Parser/asdl.py | 10 |
2 files changed, 3 insertions, 9 deletions
@@ -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_): |