diff options
author | Thomas Wouters <thomas@python.org> | 2000-08-11 22:15:52 (GMT) |
---|---|---|
committer | Thomas Wouters <thomas@python.org> | 2000-08-11 22:15:52 (GMT) |
commit | 0be5aab04d2f441323e8a7681f79137d26fd2e30 (patch) | |
tree | 67b542d99a3b0ddf62427b2b05a25dafa13437cc /Python/compile.c | |
parent | a8d7341f63fc73f46eb997c2b9481ce0d35069ae (diff) | |
download | cpython-0be5aab04d2f441323e8a7681f79137d26fd2e30.zip cpython-0be5aab04d2f441323e8a7681f79137d26fd2e30.tar.gz cpython-0be5aab04d2f441323e8a7681f79137d26fd2e30.tar.bz2 |
Merge UNPACK_LIST and UNPACK_TUPLE into a single UNPACK_SEQUENCE, since they
did the same anyway.
I'm not sure what to do with Tools/compiler/compiler/* -- that isn't part of
distutils, is it ? Should it try to be compatible with old bytecode version ?
Diffstat (limited to 'Python/compile.c')
-rw-r--r-- | Python/compile.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/Python/compile.c b/Python/compile.c index 49e5863..395bd1e 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1729,27 +1729,14 @@ com_assign_trailer(struct compiling *c, node *n, int assigning) } static void -com_assign_tuple(struct compiling *c, node *n, int assigning) +com_assign_sequence(struct compiling *c, node *n, int assigning) { int i; if (TYPE(n) != testlist) REQ(n, exprlist); if (assigning) { i = (NCH(n)+1)/2; - com_addoparg(c, UNPACK_TUPLE, i); - com_push(c, i-1); - } - for (i = 0; i < NCH(n); i += 2) - com_assign(c, CHILD(n, i), assigning); -} - -static void -com_assign_list(struct compiling *c, node *n, int assigning) -{ - int i; - if (assigning) { - i = (NCH(n)+1)/2; - com_addoparg(c, UNPACK_LIST, i); + com_addoparg(c, UNPACK_SEQUENCE, i); com_push(c, i-1); } for (i = 0; i < NCH(n); i += 2) @@ -1775,7 +1762,7 @@ com_assign(struct compiling *c, node *n, int assigning) case exprlist: case testlist: if (NCH(n) > 1) { - com_assign_tuple(c, n, assigning); + com_assign_sequence(c, n, assigning); return; } n = CHILD(n, 0); @@ -1843,7 +1830,7 @@ com_assign(struct compiling *c, node *n, int assigning) "can't assign to []"); return; } - com_assign_list(c, n, assigning); + com_assign_sequence(c, n, assigning); return; case NAME: com_assign_name(c, CHILD(n, 0), assigning); @@ -2869,7 +2856,7 @@ com_fplist(struct compiling *c, node *n) } else { int i = (NCH(n)+1)/2; - com_addoparg(c, UNPACK_TUPLE, i); + com_addoparg(c, UNPACK_SEQUENCE, i); com_push(c, i-1); for (i = 0; i < NCH(n); i += 2) com_fpdef(c, CHILD(n, i)); |