rocky
85ba8352ba
Port over some recent decompyle3 3.8 fixes
2022-06-26 04:26:15 -04:00
rocky
7f798541f0
Python 3.8 while and whileTrue loops
2022-06-16 15:42:51 -04:00
rocky
7fb483c566
Sync up with decompile3's 3.8 try/else handling
2022-06-08 12:49:23 -04:00
rocky
5c29b9a5e5
remove \n in lambda; 2.6 grammar cleanup
2022-05-14 20:28:24 -04:00
rocky
9b80663529
3.6 async hacking
2022-05-07 07:01:39 -04:00
rocky
dae00e9b0b
More 3.6 "async for"
2022-05-06 15:15:05 -04:00
rocky
cca015c5d6
Use LOAD_ARG in 3.6
2022-05-06 12:53:55 -04:00
rocky
cc47d61efa
Better 3.6 set comprehensions
2022-05-06 07:30:56 -04:00
rocky
92b8d9c508
Grammar lint adjustments
2022-05-06 03:02:30 -04:00
rocky
f5043408ec
Start rolling in LOAD_ARG for 3.7+
2022-05-06 02:41:02 -04:00
rocky
8576117d00
Fix More 3.6 async parsing
...
... all from 3.6 test_coroutines.py.
More bugs remain
2022-05-05 07:36:06 -04:00
rocky
c5efec1e6f
Fox some 3.6 async_forelse parsing
2022-05-05 07:09:39 -04:00
rocky
f9a1f6fcd9
Sync 3.7 async_forelse with decompyle3
2022-05-05 06:47:49 -04:00
rocky
c9f33edde4
Handle 3.6 "async for" better
2022-05-04 19:21:07 -04:00
rocky
9dd4a53ff8
Fix 3.6 async parsing
2022-05-04 04:27:38 -04:00
rocky
e94e9379c0
Bang on version 1.0-1.4 Python
2022-05-02 22:03:52 -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
8e5faa933f
Handle long 2.x bytecode literals more efficiently
2022-04-27 13:47:56 -04:00
rocky
c25fa61e33
Start handling BUILD_MAP (a class of dict)
2022-04-26 15:37:42 -04:00
rocky
bf58fb9cf2
WIP - extend fast long-literals into older Python3
2022-04-25 08:06:46 -04:00
rocky
371138cfbc
handle long literal constants faster
2022-04-24 13:11:20 -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
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
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
219cb0606a
MAKE_FUNCTION_8 -> MAKE_FUNCTION_CLOSURE
...
Clarity is important.
2022-02-27 10:29:53 -05:00
rocky
5b5fa310d9
Partial 3.8 async "for" fixes
2022-01-18 13:08:17 -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
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
da2314f5ae
Part of the decompye3 loop "continue" fixes
2021-12-17 16:13:09 -05:00
rocky
2ed211e0d4
Some PyPY 3.7 support
...
* Handle CALL_METHOD_KW
* adjust PyPY 3.7 assert stmts
* misc administrivia
2021-11-21 14:04:34 -05:00
rocky
8094f3bb12
Remove PYTHON3
2021-11-03 03:00:43 -04:00
rocky
ed34bf9d4a
use xdis.PYTHON3 not uncompyle.PYTHON3
2021-11-02 06:53:11 -04:00
rocky
41314f95bb
More Python version comparison adjustments
2021-10-19 16:30:56 -04:00
rocky
0645738775
Revise Python version comparisions
...
And set scanner.show_asm for 3.6
2021-10-19 05:54:54 -04:00
rocky
15efaffe8d
More Python version tuple comparison conversion
2021-10-16 11:41:22 -04:00
rocky
c68b74a9c6
new dis - Python compisons involving tuples
2021-10-15 23:39:59 -04:00
Bernd Lörwald
f2f49104ea
parsers: parse2: fix: also emit expr32 if count perfectly divisible by 1024
...
expr1024 requires expr32, but a build_count of 1024 would emit only the
expr1024 rule and rely on luck of it being emitted somewhere else.
Emit expr32 rule either if there is a expr32 use or a expr1024 use to avoid.
2020-12-28 01:42:42 +01:00
rocky
4bbdbe3894
Remove bogus async_with rule
2020-09-10 17:19:13 -04:00
rocky
8879708da7
del_stmt -> delete to match Python AST better
2020-09-02 07:14:56 -04:00
rocky
67c45467c3
little sync with decompyle3
...
Add another forelsestmt (found only in a loop)
Add precidence on walrus operator
2020-09-01 17:10:33 -04:00
rocky
024a81c053
Fix condition sense in except_handler.py reduction
2020-07-23 11:03:43 -04:00
rocky
5079164db2
Add reduce check for aug_assign1
2020-07-07 09:54:57 -04:00
rocky
815ae2c5cd
for/else detection for older 2.x Pythons
2020-07-06 18:38:14 -04:00
rocky
54932d36fa
Small tweaks...
...
add-test.py: wasn't handling optimize correctly. Handle python version better
parse27.py: dyslexia
01_for_else_try_else.py: bug in found in 1.4 anydbm.py which we will
address soon
2020-07-06 18:19:06 -04:00