rocky
0be3fc657b
Sync with 3.3-3.5 branch
2022-11-04 00:49:24 -04:00
rocky
d0a98bdbc6
Correct 3.0 list comprehension parsing
2022-11-04 00:42:50 -04:00
rocky
5b3ea47bac
Correct long-literals for Python 2.7
2022-10-16 19:33:51 -04:00
rocky
0c7427069e
strings need quotes in ADD_VALUE instructions
2022-09-30 03:33:47 -04:00
rocky
3bd3029169
Confused == with =
2022-09-29 20:08:07 -04:00
rocky
8c85260852
Lint-like changes from VSCode
...
Also allow 3.11 to run this
2022-09-21 08:29:06 -04:00
rocky
62b816c60b
Correct a signature return
2022-09-21 02:08:08 -04:00
rocky
d0f173a620
Lint from pycharm
2022-09-21 01:53:56 -04:00
rocky
7c3aff19af
"async for"s can has pass blocks
2022-09-21 00:27:40 -04:00
rocky
be9af85e16
Hande Python 3.5 make_function() semantic action
...
Fixes #409
2022-09-21 00:19:37 -04:00
rocky
600688a65d
Sync with decompyle3
2022-09-17 10:54:09 -04:00
rocky
a68f440d6f
Sync with decompyle3
...
Better PyPy 3.7 tolerance
2022-09-17 01:59:42 -04:00
rocky
5a4136a7f6
Some limited support for 3.8 "=" specifier
2022-07-06 13:00:52 -04:00
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
fa9cc4c669
Correct 2.5-7 relative import formatting
2022-05-14 19:35:24 -04:00
rocky
656a9aa290
Bugs in 2.x relative import '.' and 1.x bytecode
2022-05-14 17:46:48 -04:00
rocky
021810bb2c
Correct 2.x formatting "slice2" nonterminal
2022-05-14 16:54:50 -04:00
rocky
87fb83de08
Add missing 3.7 "import_from37" template
2022-05-14 02:59:15 -04:00
rocky
9b80663529
3.6 async hacking
2022-05-07 07:01:39 -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
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
d62310f799
Correct 3.6ish dictionary literals printing
2022-05-03 12:19:43 -04:00
rocky
e94e9379c0
Bang on version 1.0-1.4 Python
2022-05-02 22:03:52 -04:00
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
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
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
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
f8ae674890
Split out comprehension code..
...
sync with decompile a little better
2022-04-17 10:52:56 -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
9735453283
Small changes
...
test code for pysource and bump lastest testing Python versions
2022-04-01 03:11:59 -04:00
rocky
d366248b47
Some small variable-name changes
2022-03-04 04:47:38 -05:00