rocky
9aba1cc3af
Bytecode 1.x fixes
2022-04-30 20:36:43 -04:00
rocky
eba0d37d0f
Improve Python 1.x decompiling
...
Still has bugs, but is much better.
2022-04-30 05:54:22 -04:00
rocky
5e1ba2baa1
Split long lines in n_const_list
2022-04-28 18:03:15 -04:00
rocky
f35231a6f5
Correct bug in long literal replacement for 2.6-7
2022-04-28 17:28:09 -04:00
rocky
8e5faa933f
Handle long 2.x bytecode literals more efficiently
2022-04-27 13:47:56 -04:00
rocky
cfd6166d8d
Small doc corrections
2022-04-27 05:07:07 -04:00
rocky
152de50f90
Revise docstring explaiing pydisassemble
2022-04-26 18:12:26 -04:00
rocky
1c49eb5989
Revise what pydisassemble is about
2022-04-26 18:09:16 -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
8cdf741b62
Bugs in long-literal handlin
...
Move n_dict to n_actions and special case n_const_list.
Generalize build_collection out of 3.7+ and into all Pythons
2022-04-24 17:38:35 -04:00
rocky
371138cfbc
handle long literal constants faster
2022-04-24 13:11:20 -04:00
rocky
464801bcb3
Correct type annotation on decompile()
...
Fixes #391
2022-04-21 20:10:33 -04:00
rocky
433d7003e0
Add "transfrormd_by" param to SyntaxTree
...
This aligns code more with decompyle3
2022-04-21 05:25:14 -04:00
rocky
c88d9de316
Correct 3.7 "impor"t and "from .. import"
2022-04-20 20:03:28 -04:00
rocky
e2ff909603
Split off (semantic) nonterminal print actions
2022-04-19 16:42:48 -04:00
rocky
3662f3e8c6
Fold in some decompile changes
2022-04-17 12:20:03 -04:00
rocky
c806ef59c6
Update scanner demo code
2022-04-17 11:41:19 -04:00
rocky
f8ae674890
Split out comprehension code..
...
sync with decompile a little better
2022-04-17 10:52:56 -04:00
rocky
420d22c094
Correct for pypy 3.7
2022-04-15 08:36:42 -04:00
rocky
a26ac79d0f
Sync up decompyle3 customize37 somewhat
2022-04-15 08:22:45 -04:00
rocky
04510ac2f8
lambda formatting in f-string
...
In a formatted string using "lambda', we should not add "\n".
For example in:
f'{(lambda x:x)("8")!r}'
Adding a "\n" after "lambda x: x" will give an error message:
SyntaxError: f-string expression part cannot include a backslash
2022-04-12 16:49:58 -04:00
rocky
a1fe069c8c
Handle walrus operator
...
Or rather set precedence on call_stmt and expr_stmt
Adjust pytest test_single_compile so it works now
2022-04-12 05:21:13 -04:00
rocky
83ab85353b
Remove a reference to an unset local variable
...
See also https://github.com/rocky/python-uncompyle6/pull/388
2022-04-09 02:29:44 -04:00
rocky
9735453283
Small changes
...
test code for pysource and bump lastest testing Python versions
2022-04-01 03:11:59 -04:00
rocky
3d24de7ce5
__init__.py lint
2022-03-09 12:16:38 -05:00
rocky
82456c15e1
Reduce check type for 2.5 and update bug reporting
2022-03-05 04:55:11 -05:00
rocky
3490389a66
Correct some Python 2.6 chain compare bugs
2022-03-05 04:03:27 -05:00
rocky
d366248b47
Some small variable-name changes
2022-03-04 04:47:38 -05:00
rocky
6f112ec5b2
Ensure no parens on subscript slice
2022-03-03 21:05:47 -05:00
rocky
219cb0606a
MAKE_FUNCTION_8 -> MAKE_FUNCTION_CLOSURE
...
Clarity is important.
2022-02-27 10:29:53 -05:00
rocky
ce5207333f
Remove TABLE_R0 - it hasn't been used in a while
2022-02-27 10:18:57 -05:00
rocky
f2a70a2758
Sync with decompyle3 for async "for"
...
More work is needed though
2022-01-18 15:25:51 -05:00
rocky
5b5fa310d9
Partial 3.8 async "for" fixes
2022-01-18 13:08:17 -05:00
rocky
88c0c03ee4
setcomprehension_walk3 -> closure_walk
2022-01-14 07:50:39 -05:00
rocky
a381b4663b
Adapt for recent options changes in
...
-T option structure changed.
2022-01-09 16:01:32 -05:00
lostBeta
415cba6978
Fix version check comparison
2022-01-09 18:52:48 +02:00
rocky
15761acd0d
Revise options processing. Sync with decompyle3
...
We should now handle passing assembly options or functions and
subroutines more properly.
The "%P" and "%p" specifiers now allow lists of nonterminals like "%c"
and "%C" do.
version was bumped because top-level main parameter args change slightly.
2022-01-09 04:11:09 -05:00
rocky
deea74b6a8
ret_expr -> return_expr
...
This matches Python's AST a little more closely
2022-01-03 21:56:07 -05:00
rocky
3d5b6f4654
return_lambda -> return_expr_lambda
...
Except those places in 2.6ish code where it is simple a fancy RETURN_VALUE
2022-01-01 21:45:51 -05:00
rocky
203139eafa
Add tests, comment what's up with change..
...
and use isinstance()
2021-12-31 11:27:15 -05:00
dkw72n
d9de4ea245
Fix #377
2021-12-31 16:11:27 +08:00
rocky
165115289a
dict_unmap -> dict_unpack matches Python AST better
2021-12-26 19:03:58 -05:00
rocky
3234673422
mklambda -> lambda_body matches Python AST better
...
Note: we can't use "lambda" since that is a reserved word
2021-12-26 18:48:51 -05:00
rocky
23551ea70f
unmap_dict -> dict_doublestar ...
...
This matches Python's AST (Dict) better. Variations or specializations
of an AST name, e.g. "unmap" should come at the end, not the beginning.
2021-12-23 22:57:15 -05:00
rocky
30aad42aae
Sync with other versions
2021-12-23 16:46:25 -05:00
rocky
a3bc9bb32b
Add operator precedence to -T output
2021-12-23 16:11:25 -05:00