Commit Graph

237 Commits

Author SHA1 Message Date
rocky
bec88e4aaa Name phases "disassembly" and "tokenization" 2024-03-14 15:31:53 -04:00
rocky
2b8406e7a8 mark "psuedo ops" 2024-02-25 06:08:06 -05:00
rocky
8a1fd7e127 Keep optype info in token...
It is useful for ADD_VALUE
2024-02-24 17:41:32 -05:00
rocky
3e00880c1b remove double-quote preference here....
it is now done in xdis which is where it is better done
2024-02-18 08:21:07 -05:00
rocky
0a08b8d3fc Simplify double quote preference in string 2024-02-17 19:46:57 -05:00
rocky
3ef4ab4944 Prefer using double quote for strings 2024-02-17 12:57:48 -05:00
rocky
2886d2bd08 Track important changes to xdis
Annotation counts have changed.
EXTENDED_ARGS adjustment in instructions have been corrected.
2024-02-11 23:24:19 -05:00
rocky
454fac4adb Handle 3.3 MAKE_FUNCTION annotation args properly 2024-02-11 11:50:25 -05:00
rocky
dcc9d1a571 Fix spelling via "codespell" 2023-12-17 10:52:32 -05:00
rocky
227f494fa8 Double -a option show asm before tokenization 2023-07-04 07:13:54 -04:00
rocky
d6608712f1 correct fn name on older 3.x cross decompile...
Also black, lint, and isort some
2023-06-30 20:30:06 -04:00
rocky
4b296e1ead Correct generator function parsing for 3.3..3.5 2023-06-30 15:43:27 -04:00
rocky
9a7eb0ad0a try to be more honest about MAKE_{FUNCTION,CLOSURE} 2023-01-16 01:45:37 -05:00
rocky
42d26ccbd7 Bump version 2023-01-14 06:21:12 -05:00
rocky
090570cd34 3.4-3.5 MAKE_CLOSURE with annotate
Docs lie about annnotation args. Slight adjustment here.
More is probably needed.
2023-01-14 02:20:59 -05:00
rocky
cca015c5d6 Use LOAD_ARG in 3.6 2022-05-06 12:53:55 -04:00
rocky
cfd6166d8d Small doc corrections 2022-04-27 05:07:07 -04:00
rocky
c25fa61e33 Start handling BUILD_MAP (a class of dict) 2022-04-26 15:37:42 -04:00
rocky
d48801964c Use attr insead of pattrr for non-strings 2022-04-26 03:13:27 -04:00
rocky
4879a60ecc Some bugs creating token stream ..
from instructions.
2022-04-25 17:39:39 -04:00
rocky
bf58fb9cf2 WIP - extend fast long-literals into older Python3 2022-04-25 08:06:46 -04:00
rocky
c6642f5899 Revise "ingest" docstring 2022-04-25 07:42:56 -04:00
rocky
219cb0606a MAKE_FUNCTION_8 -> MAKE_FUNCTION_CLOSURE
Clarity is important.
2022-02-27 10:29:53 -05:00
rocky
f6f0e344d0 Python 3.6+ specialization 2021-11-03 02:23:19 -04:00
rocky
ed34bf9d4a use xdis.PYTHON3 not uncompyle.PYTHON3 2021-11-02 06:53:11 -04:00
rocky
c68b74a9c6 new dis - Python compisons involving tuples 2021-10-15 23:39:59 -04:00
rocky
5a83c7c643 Simplify imports again using xdis 4.6.0 2020-05-19 00:53:53 -04:00
rocky
31db2f3e04 Small typo 2020-05-18 23:29:33 -04:00
rocky
ff43565981 3.4-3.4 mixed "and"/"or" parsing ...
Fix by limiting more the bogus come from.
2020-05-18 05:33:57 -04:00
rocky
999eee4b5f More xdis upgrade fixes...
LOAD_CONST of unicode in 2.7- is the same thing as LOAD_STR.

I guess previously there was no unicode.
2020-04-18 22:26:24 -04:00
rocky
869e48877c Convert to use xdis 4.3.0 or greater 2020-04-16 08:41:53 -04:00
rocky
f6a13302fb Bugs introduced in last commit 2020-04-04 10:26:46 -04:00
rocky
e8e7d2086d whileelse in 3.6 sometimes has come froms...
also remove extra "L. " in token printing
2020-04-04 10:12:12 -04: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
ebb0342b38 WIP pypy3.6 handling 2019-10-28 13:20:51 -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
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
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
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
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
82fb9426af [WIP] - move forward a tad on Python 3.8 2019-03-28 12:10:08 -04:00