rocky
edbbefb57d
Start to remove crud in control-flow detection for 3.7+
2019-12-09 18:28:57 -05:00
rocky
daab1e8610
Start to tolerate 3.9 (in pydisassemble)
2019-12-09 12:20:00 -05:00
rocky
eba5226a04
Typos: decompyle3 -> uncompyle6
2019-12-08 18:05:37 -05:00
rocky
c6ddefcef5
Merging in recent 3.7 and 3.8 improvements from decompyle6
...
This rebases 3.7, 3.8 ...decompilation off of 3.7ish rather than a 3.4
base.
Add more 3.7 and 3.8 tests
2019-12-08 17:54:59 -05:00
rocky
ca7f483dbb
Better test coverage of operators (in 2.7 and 3.0)
2019-11-18 18:10:58 -05:00
rocky
dbf2729f76
expand 3.0 "continue" detection
2019-11-16 12:23:09 -05:00
rocky
047e27c966
3.0 assert2...
...
Not like other 3.x due to the lack of POP_JUMP_IF
2019-11-16 09:10:14 -05:00
rocky
09cc0d775a
Pypy 3.3 tolerance and ...
...
Remove some duplicate grammar rules
2019-11-10 13:34:51 -05:00
rocky
ebb0342b38
WIP pypy3.6 handling
2019-10-28 13:20:51 -04:00
rocky
0b3d6b8add
Get ready for release 3.5.0
2019-10-12 19:53:17 -04:00
rocky
24afe072b7
LOAD_CONST -> LOAD_CODE where appropriate
2019-06-19 14:43:07 -04:00
rocky
e2d7f01298
Handle 2-arg asserts in 3.6+ish
...
Changed files have also been reformatted via the blacken formatter
2019-06-18 22:09:16 -04:00
rocky
002720988c
Formatting in < 3.0 is different for name ops
2019-06-11 14:08:50 -04:00
rocky
08f23567a6
Nicer assembly display...
...
Fewer extraneous quotes and remove pattrs that don't mean anything.
Base more on OP poperties like varargs and NAME_OPS
2019-06-11 12:44:29 -04:00
rocky
5981c7eae9
Fix LOAD_STR messing up docstring comparision
2019-06-11 10:33:49 -04:00
rocky
9811c5bc42
Nicer assembly output
2019-06-09 12:21:45 -04:00
rocky
fd5f4fa5b8
Nicer LOAD_STR assembly output
2019-06-09 09:53:21 -04:00
rocky
622d6f849c
Merge branch 'master' into string-const
2019-06-09 01:20:53 -04:00
rocky
117b4ff4f1
Add kwonly parsing.
...
* annotation parsing for kwonly args is missing.
* Start filling out runnable tests. More work is needed on tests.
* refresh incorrect bytecode_3.3_run/15_assert.pyc
2019-06-08 15:29:18 -04:00
rocky
44d7cbcf6f
LOAD_CONST->LOAD_STR for Python 3.x
2019-06-08 02:28:27 -04:00
rocky
46acb74745
Only add forward-jumping COME_FROM in 3.6+
...
Is this a repeat commit?
2019-05-14 06:28:29 -04:00
rocky
44e1288e2f
Less dishonest COME_FROMs
...
Addresses all of the problems seen in 3.7 datetime.py.
However we limit COME_FROMs only to forward jumps, not back (which in the case of Python code right now means looping) jumps.
2019-05-13 23:15:55 -04:00
rocky
b94cce7b12
Revise format string handling
...
fstring_single{1,2} -> format_value{1,2} to match Python AST names
better
2019-05-13 09:40:32 -04:00
rocky
86dd321256
Accept x0ret's suggestion for 3.6+ if detection..
...
in the presense of a try block.
Fixes #229
2019-05-10 19:36:16 -04:00
rocky
af816c9e60
Administrivia
2019-05-03 23:25:25 -04:00
rocky
e2c5a79346
Add pypy3.6 scanner
2019-05-02 06:46:07 -04:00
rocky
fac365f216
Better fstring handling for FORMAT_VALUE | 0x4
2019-04-30 23:05:47 -04:00
rocky
a981db884c
Pypy 3.6 tolerance
2019-04-30 05:12:42 -04:00
rocky
05db6194ec
Use up right 3.x opcodes in jump detection...
...
A small but pervasive, and I guess important change. More correct COME_FROMs
are now coming out. A number of grammar changes then in 3.0, 3.5, and 3.8
2019-04-23 05:14:29 -04:00
rocky
b4c66d4307
Was missing some 3.7 and 3.7 semantic actions...
...
Possibly some as a result of the last refactor?
2019-04-15 08:11:31 -04:00
rocky
9b550b9dda
PEP E225 with a nod to Deepcommit
2019-04-14 06:11:16 -04:00
rocky
5e1340a2fc
3.8 exception handling
2019-04-11 12:09:24 -04:00
rocky
7f65a8a6dd
3.8 SETUP_EXCEPT removal workaround; reinstate option -c | --compile
2019-04-11 07:19:35 -04:00
rocky
8b65cc7275
Small changes - bump required xdis version
2019-04-09 21:45:28 -04:00
rocky
82fb9426af
[WIP] - move forward a tad on Python 3.8
2019-03-28 12:10:08 -04:00
rocky
98b91db8e6
Another 3.6->3.7 typo (in comment this time)
2019-03-28 11:22:07 -04:00
rocky
ce3f815b08
opcode import typo
2019-03-28 11:16:06 -04:00
rocky
cd64156708
Fix else detection bug in Python 3.6+
2019-03-23 08:57:34 -04:00
rocky
dcad6cf6ce
Fix if return boundary in 3.6+
...
Fixes #209
2019-03-10 05:59:15 -04:00
cclauss
6cbaef4ba5
Travis CI: Run more f-string tests on Python 3.7
2019-01-12 20:24:08 +01:00
rocky
a2321773d7
Fix Python 3.x try/else detection
...
Fixes #155
2019-01-01 22:50:28 -05:00
rocky
acd0e5fea6
Note weirdness in try/else
2019-01-01 09:40:59 -05:00
rocky
a7ceedb62c
Python 3.6+ control flow
2018-12-15 09:17:54 -05:00
rocky
616e5c82f6
Reinstat expr32 and expr1024 rules...
...
to speed up handling long literal lists. See also issue #188
Update issue forms to simplfy via putting instructions as comments.
2018-09-19 20:14:42 -04:00
rocky
c6b3e20b47
Remove some of the 3.0 3.x instruction hackiness
2018-06-24 18:23:38 -04:00
rocky
4cbd136635
Make Python 3.0 control flow more like 3.x
2018-06-24 12:56:43 -04:00
rocky
fb31fe1f35
Another Python 3.0 (while) parse bug
2018-06-23 05:48:14 -04:00
rocky
1350f4c899
Some bugs...
...
Python 3 compiling Python 2 tolerance. Fixes issue #180 .
pytest test_grammar.py and validate.py fixes for 3.6 testing
2018-06-22 21:06:54 -04:00
rocky
b7942bc5f2
Add Python 1.3 decompilation ..
...
Reduced checking via "make check-short"
2018-06-13 12:26:21 -04:00
rocky
d32e67891b
More 3.0 bug fixing and tollerance and...
...
add some 1.4 bytecode tests
2018-06-12 12:19:43 -04:00