rocky
c119965d96
Small changes
2016-09-18 17:23:49 -04:00
rocky
03e8995d18
ret_cond adjustment for < 2.7 and ...
...
"<= 2.6" -> "< 2.7" since python 2.6's version is 2.6000001
2016-09-09 15:55:15 -04:00
rocky
318311818e
Python 2.6- try/except control flow detection
2016-09-05 04:02:37 -04:00
rocky
c7788e4545
disassemble -> ingest where appropriate
...
As part of tokenization for (de)parsing, we need to do something like a
disassembly, but is is really a little different.
Disassembly, strictly speaking, is done by the xdis module now.
What "ingestion" does is massage the instruction tokens to a form that is
more amenable for parsing.
In sum, ingestion is different than disassembly, although disassembly is
generally the first part of ingestion.
2016-09-04 11:43:02 -04:00
rocky
647248dfc8
A couple more 2.6 (and below) bugs fixed
...
* Detect "return None" inside if statement
* another case of triple ==, ==, ==
scanner2.py: detect_structure: descriminate more on parent type
2016-09-04 04:10:08 -04:00
rocky
75c718bc5c
Python 2.2..2.6 bug in a == b == c == d
...
Fix was to remove some come froms. Feels a little hacky though.
2016-09-03 10:05:55 -04:00
rocky
f1bb40f485
Python 2.6- bug: RETURN_ENDIF, POP_TOP ..
...
POP_TOP should be excluded as a potentional statement beginning
2016-09-02 21:08:44 -04:00
rocky
136f935e26
Fix Python 3.x named param and kwargs bug
2016-09-02 06:30:39 -04:00
rocky
f5eeed6759
2.6- bug: while..and: stmt - on one line
...
If 2.6 or before POP_BLOCK after a JUMP_IF_FALSE does not
constitute a new statement. The POP_BLOCK is really part
of the JUMP_IF_FALSE. In Python 2.7+ it's a single op.
2016-09-01 20:44:17 -04:00
rocky
6189ce3c04
Bug in 3.x detecting "if" structure and ...
...
scanner3.py: bug in 3.x detecting "if" structure
Make scanner2.py look more like scanner3.py
verify.py: add weak-verify which tests Pytyon syntax, but not code
2016-08-31 04:07:42 -04:00
rocky
31413be7a1
Python 2.2 doesn't have opcode LIST_APPEND
2016-08-16 12:45:43 -04:00
rocky
5ffd9b2be7
2.6 and 2.7 while1 grammar rule
...
Fixes issue #40
2016-07-27 13:19:42 -04:00
rocky
3a78332d59
tok.format -> tok.__str__; simplify pypy code
2016-07-27 09:26:39 -04:00
rocky
ecbbc7dfea
Custom PyPy rules for tryfinallysmt, assign{2,3}
2016-07-26 16:49:14 -04:00
rocky
6c5bd6289f
More PyPy grammar rules
...
* assert one and two-arg form
* trystmt
Simplify adding multiple grammar rules
2016-07-26 10:21:12 -04:00
rocky
04cc80b0d6
PyPy BUILD_MAP_n. Reinstate bytecode tests
2016-07-25 21:53:56 -04:00
rocky
a3e10db8dc
Handle PyPy CALL_METHOD op more correctly
...
Start testing pypy2.7 and 3.2 bytecodes
2016-07-25 13:05:54 -04:00
rocky
476eb50868
Handle PyPy JUMP_IF_NOT_DEBUG
...
Update README.rst to note PyPY and reorganize a little
2016-07-25 09:18:03 -04:00
rocky
285444e19a
Better assembly formatting of jump instructions
2016-07-25 00:36:39 -04:00
rocky
1c50e34c30
PyPy support
...
* Use proper PYPY 32 opcodes
* handle opcodes LOOKUP_METHOD and CALL_METHOD
* Administrative stuff for PyPy
2016-07-24 18:54:51 -04:00
rocky
ca9888ace4
Another 2.7 'continue' detection bug
2016-07-23 17:44:42 -04:00
rocky
21377f3b43
Merge branch 'master' into pypy
...
Conflicts:
uncompyle6/scanners/scanner2.py
2016-07-23 10:57:58 -04:00
rocky
a5f45f232d
2.7: Detect "continue" inside except
...
Fixes issue #38 .
This is a bit hacky. We need a more general "continue" detection.
2016-07-23 10:37:41 -04:00
rocky
7c4316d4fb
Start handling pypy 2.7
...
Need to understand whether we care compiling pypy.
Pypy 2.7 list comprehensions are different and use
its own opcode.
2016-07-21 02:58:50 -04:00
rocky
4a3a62d01b
Align disassembly output with xdis
...
align number of offset fields with xdis.
Show None type when we mean None, not ''
2016-07-17 14:00:00 -04:00
rocky
942b15e3c6
Suppress arg in dissassembly if there is none
2016-07-16 14:12:31 -04:00
rocky
0ee52aeeef
Isolate pseudo op IMPORT_NAME_CONT
...
I think this is a holdover from pre 2.3 days. Possibly it can be dropped altogether.
2016-07-14 21:05:09 -04:00
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