From 4e6e38358d511434684df24869e7408ee57ca4dc Mon Sep 17 00:00:00 2001 From: rocky Date: Thu, 14 Jul 2016 11:26:02 -0400 Subject: [PATCH] 3.x list comprehenions list_if_not, comp_ifnot bug Saw only list_if_not bug, but might also be applicable to comp_ifnot --- README.rst | 17 +++++++---------- test/bytecode_3.4/06_list_ifnot.pyc | Bin 0 -> 290 bytes test/bytecode_3.5/06_list_ifnot.pyc | Bin 290 -> 290 bytes uncompyle6/semantics/fragments.py | 4 ++++ uncompyle6/semantics/pysource.py | 6 +++++- 5 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 test/bytecode_3.4/06_list_ifnot.pyc diff --git a/README.rst b/README.rst index 033b2f55..7c03a9d5 100644 --- a/README.rst +++ b/README.rst @@ -84,17 +84,14 @@ for usage help. Known Bugs/Restrictions ----------------------- -Python 2 deparsing decompiles each and all the Python 2.3 to 2.7.10 -installed packages I have on my system. Later distributions average -about 200 files. +Python 2 deparsing decompiles and verifies each and all the Python 2.6.9 +to 2.7.11 installed packages I have on my system. Later distributions +average about 200 files. At this point, 2.7 decompilation is +better than uncompyle2. A number of bugs have been fixed. -More than 90% of the 2.7 files verify ok Some of these failures may be -bugs in the verification process. At this point, 2.7 decompilation is -better than uncompyle2. A number of bugs have been fixed over what was -in uncompyle2. - -That said, I'd like the decompilation process still feels a little bit -hacky in certain places and we still get parse errors too often. +For Python 3.4.2 bytecode, there is one verification error that needs +addressing. There are still a couple of parse errors on 2.3.7 and +2.4.6. Removing 3.5 verification errors still remains. There are a few constructs that still need to be added to Python 3.5. Python 3.6 changes things drastically by using word codes rather than diff --git a/test/bytecode_3.4/06_list_ifnot.pyc b/test/bytecode_3.4/06_list_ifnot.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0d52466102759e796a0628fa5c829b2f41d64030 GIT binary patch literal 290 zcmaFI!^?HU!z;Xlfq~&M5W@izkmUfx#j-#moq-{WfguHm7#Ug^7*ZJ+T$&jfq8J%c zm>7aJnUfiTYCr&_i3NzAfw))+NB}j~FfhbQFw`L=&t78Ipsq~;Z8=I7}f zn8oL07MH|lrsd_A=oM7{;<5qpL5l2HK@I@9hLfR)4M_QEGDWfFCFZ6U8{J|B(+FE2 YERc>{95%W6DWy57b|6oH^|LVo01pg1uK)l5 literal 0 HcmV?d00001 diff --git a/test/bytecode_3.5/06_list_ifnot.pyc b/test/bytecode_3.5/06_list_ifnot.pyc index 8ca0449e66535764c67182c502aecab27e42752e..e0c41b19041a29b42e2bd229190a668aa074c92a 100644 GIT binary patch delta 16 XcmZ3)w1|majF*?|hKJWic4