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
rocky
ef59b9c304
Forelse reduction checks on 2.6
2020-07-06 10:09:42 -04:00
rocky
084e183577
Add reduce check for 2.7 except_handler range
2020-07-05 22:18:07 -04:00
rocky
4007b8b702
Back off "or" check using instructions vs opcodes
2020-06-27 11:44:23 -04:00
rocky
598b58796d
Back off buggy "or" check
2020-06-27 11:33:46 -04:00
rocky
357f28dd89
Add "comp_if_not" for 2.6-
2020-06-27 11:16:47 -04:00
rocky
5cc572147a
Handle more ifelse reduction rules patterns
2020-06-27 09:10:48 -04:00
rocky
d357898bbf
Towards fixing a 3.8 try except-as bug
2020-06-15 06:03:28 -04:00
rocky
02f502c40a
New grammar rule often imples expanded reduce rule
2020-06-12 21:12:02 -04:00
rocky
e14675c2dc
Handle 3.7+ "else" branch removal...
...
As seen in _cmp() of python3.8/distutils/version.py with optimization -O2
2020-06-12 13:18:33 -04:00
rocky
7deeee8502
Push "with" grammar improvements back to 3.6
2020-06-04 05:53:21 -04:00
rocky
9acb3cf068
Fix bug in 3.8 with .. as
2020-06-04 05:24:22 -04:00
rocky
7fa851765d
Regularize "or" so args are in 1..2 and ...
...
correct "return None" semantic action
2020-05-18 22:55:26 -04:00
rocky
d7c3b8454b
3.8 needs call_stmt -> call
...
Simplify/regularize how "return" works
2020-05-18 22:26:18 -04:00
rocky
4365022f40
Adapt decompyle3's 3.8 try/return grammar rules
2020-05-17 10:18:10 -04:00
rocky
b94c649776
3.7 change rule to match op "or" expr's
2020-05-14 21:32:45 -04:00
rocky
5233a0716b
Correct wong class names in super()
2020-05-08 05:59:20 -04:00
rocky
3e1300eb23
Bugs in nested async for...
...
* Generalize asyc_for rule
Fix bug in picking out comprehension iterator in async for
* fix bug in getting expression in such a comprehension
* Add %[n]{%x} pattern to template_engine()
2020-04-29 10:12:54 -04:00
rocky
ab6b12be56
Small fixes in fragment parser
2020-04-21 19:58:03 -04:00
rocky
5bd97aa756
lint
2020-04-21 13:49:05 -04:00
rocky
5237d704fa
Remove stray debug stmt
2020-04-20 23:13:06 -04:00