rocky
7b7a9fa4cf
Python 3.4 assertion handling. Improve verify
...
3.4 has jump optimization like 3.5.
verify.py: show mismatch on verification mismatch
2016-07-14 05:20:30 -04:00
rocky
f571f6dfce
Revert recent 2.x code which fail verification
2016-07-10 20:06:05 -04:00
rocky
59ba8a65cd
Structure detection bugs +
...
Had borked 3.4 grammar rules in
previous refactor
2016-07-10 19:21:55 -04:00
rocky
9c2f48ca4a
DRY and clean up code a little
2016-07-10 08:39:50 -04:00
rocky
44dba42a40
Remove JA. Use standard JUMP_ABSOLUTE instead
2016-07-10 08:21:17 -04:00
rocky
52b71bb01a
Python 3 better CONTINUE op classification
...
Also document what's up with JUMP_ABSOLUTE
classification
2016-07-10 06:47:34 -04:00
rocky
e31f829a56
Python 2.4 generator expressions and gen_comp_body
2016-07-08 18:00:13 -04:00
rocky
61535a010d
<2.5 grammar customizations for imports and loops
2016-07-08 17:26:14 -04:00
rocky
e020f8f9a9
2.5/2.6 RETURN_VALUE bug
2016-07-08 12:02:28 -04:00
rocky
06023c247d
while1 bug in 2.6 and 2.7
2016-07-07 13:08:00 -04:00
rocky
0b6108801d
<2.6 make sure jump back on loops is really "back"
2016-07-07 11:43:26 -04:00
rocky
42f26c3ffd
<2.7 lack of POP_IF_ adjustment in detect_structure
2016-07-07 10:04:21 -04:00
rocky
8b305f78f4
2.6 POP_TOP and POP_JUMP_IF bugs
2016-07-07 07:03:20 -04:00
rocky
72c781258f
2.6 bug in handling jumps to jumps
2016-07-06 21:27:50 -04:00
rocky
aa65b098a4
< 2.7 bug in not distinguishing raise from assert
2016-07-06 19:52:02 -04:00
rocky
a34f1fcd7a
Merge branch 'master' of github.com:rocky/python-uncompyle6
...
Conflicts:
uncompyle6/parsers/parse26.py
2016-07-03 12:08:37 -04:00
rocky
974b11ff55
Another 2.6 while stmt. Clean up grammar a little
2016-07-03 10:50:19 -04:00
rocky
4d9d659cfa
2.6 improper tagging of RETURN_END_IF
2016-07-03 04:33:43 -04:00
rocky
da9aeecc60
<= 2.6 weird jump out of try block
...
Allow COME_FROMs to appare via JUMP_FORWARD in
tey/except blocks
2016-06-30 06:21:13 -04:00
R. Bernstein
1ce1cf87a4
Merge pull request #33 from rocky/python-2.6
...
Python 2.6
2016-06-29 20:42:53 -04:00
rocky
ae980e4f64
Base 2.5 off of 2.6. Some other small bugs.
2016-06-28 03:31:32 -04:00
rocky
622f83970b
JUMP_IF_{TRUE,FALSE}_OR_OP fixes
2016-06-27 17:15:21 -04:00
rocky
fa84f4277a
WIP deal with JUMP_IF_{TRUE,FALSE} vs with POP version
2016-06-24 20:06:10 -04:00
rocky
fa7d8f955a
WIP Python-2.6 but don't remove opcodes
...
The scheme for turning 2.6 bytecode into 2.7 psuedo bytecode
I think is a lose.
I won't work for fragment handling.
Instead, change the grammar and syntax rules
This also has the benefits:
* We see how code generation changed over releases
by looking at grammar and semantic rules rather
than arbitrary code
* We can better assocate with what's running
(in a sense this is a restatement of broken fragment
handling)
* With the right structure in place we are in a better position to
handle 2.5, 2.4, etc. That is, after a while, the incremental changes
to get say from python 2.3 bytecode to python 2.7 are great.
Conflicts:
uncompyle6/parsers/astnode.py
2016-06-24 18:15:59 -04:00
rocky
fe8000e02a
Small misfeature disassemble showasm parameter use
2016-06-24 15:05:14 -04:00
rocky
4fa68b8894
2.6 compatibility
2016-06-24 10:36:36 -04:00
rocky
36b7521597
Small formating changes ...
...
and premonition of 2.6 byteocde work
2016-06-24 09:47:45 -04:00
rocky
982a6010a1
WIP 2.6 redo bytecode handling
...
Don't try to convert 2.6 bytecode to 2.7 psuedo bytecode.
Instead adjust grammar and semantic actions.
Down the line we should to segregate version changes in
semantic code better.
2016-06-24 09:23:30 -04:00
rocky
480e6a125f
Add Python 3.5 yield from and ...
...
* fragments.py: Handle pass stmt sometimes
* scanners: regularize Python 2 scanners some
* test/test_pyenvlib.py: add python 3.5.1 option
2016-06-22 13:08:11 -04:00
rocky
1a83c849dc
Python 3 needs Python2's RETURN_END_IF
...
Make python2 and python3 scanner look more the same
2016-06-20 22:12:29 -04:00
rocky
80cfe62f36
For Python 3: add LOAD_CLASSDEREF op
2016-06-20 13:04:21 -04:00
rocky
ebcb1d08f4
Limited support for Python 2.3
2016-06-03 10:20:52 -04:00
rocky
eefbc40eef
option to show asm and DRY.
...
Get ready for some 2.3 support
2016-06-03 09:25:20 -04:00
rocky
167f5af5e6
Misc refactorings
2016-06-02 16:58:42 -04:00
rocky
69bb74c86e
DRY scanner25 and scanner26 more
2016-05-29 22:18:36 -04:00
rocky
ead41d7a96
Bang again on Python 2.5 and 2.6 scanners
2016-05-29 19:13:57 -04:00
rocky
bb2e9c0d31
bang on scanner2{5,6}
2016-05-29 18:44:07 -04:00
rocky
58fd0f7fe5
Start to DRY 2.6 scanner
...
Note: can't use xdis 2.6 opcode until another xdis release.
2016-05-29 05:05:48 -04:00
rocky
cd7ccdc872
Remove use of 2.7 globals by using self.opc
2016-05-29 04:00:43 -04:00
rocky
e70e7bfc16
Start to DRY Python 2 scanners...
...
Get 2.7 opcodes from xdis.
2016-05-28 19:34:12 -04:00