rocky
f8ae674890
Split out comprehension code..
...
sync with decompile a little better
2022-04-17 10:52:56 -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
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
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
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
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
rocky
b3aaff0201
Sync pysource with decompyle3
2021-12-18 03:03:50 -05:00
rocky
16c900ff1d
Propagate show_asm debug option down to functions
2021-12-17 06:07:18 -05:00
rocky
8094f3bb12
Remove PYTHON3
2021-11-03 03:00:43 -04:00
rocky
1bcd21a6f4
More version conversion bugs
2021-10-23 10:04:58 -04:00
rocky
c68b74a9c6
new dis - Python compisons involving tuples
2021-10-15 23:39:59 -04:00
rocky
cfbb25df3d
Fix some small bugs
2021-07-08 05:40:43 -04:00
rocky
8eb4d6a576
Fix bit rot in fragments.py
...
build_ast() added a code argument
n_dict(): was out of sync with corresponding pysource routine
pysource.py: small doc typo
2020-09-04 19:30:48 -04:00
rocky
8879708da7
del_stmt -> delete to match Python AST better
2020-09-02 07:14:56 -04:00
rocky
71c17c4e53
Fragment api changed...
...
sync with pysource.
Simplify pysource a little
2020-08-23 19:27:52 -04:00
rocky
024a81c053
Fix condition sense in except_handler.py reduction
2020-07-23 11:03:43 -04:00
rocky
a215ee2f00
Use "co_consts" in docstring detection.
...
Note: this is an upheaval because we need to pass "code" or at least
"code.co_consts" to the docstring detection routine
2020-07-21 10:31:07 -04:00
rocky
0f80c38530
Better doc string detection
...
A bug in 2.7 test_descr.py revealed a problem with the way we were
detecting docstrings.
__doc__ = DocDescr()
was getting confused with a docstring.
This program also reveals other bugs in 3.2+ but we'll deal with that
in another commit.
2020-07-19 20:31:50 -04:00
rocky
11be90758f
Workaround bug detecting MAKE_FUNCTION docstrings
2020-06-26 07:17:31 -04:00
rocky
5a83c7c643
Simplify imports again using xdis 4.6.0
2020-05-19 00:53:53 -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
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
869e48877c
Convert to use xdis 4.3.0 or greater
2020-04-16 08:41:53 -04:00
rocky
5c6365d8a1
Go over "yield" and other precedence
2020-04-09 20:27:07 -04:00
rocky
a616e1e1c7
"withstmt" -> "with" and fix async for
2020-04-01 09:48:34 -04:00
rocky
e2d349f781
Handle nested async for in for...
...
and Better async comprehension detection.
Still more work is needed. See commented-out section in
test/simple_source/bug37/02_async_for_generator.py
2020-03-31 12:05:39 -04:00
rocky
63d6054640
One more ParserError() upgrade
2020-03-31 10:29:52 -04:00
rocky
5fde4f2e05
Show token number in parser error listing...
...
But only if -g is given
2020-03-31 10:12:52 -04:00
rocky
946d74ad36
Fix bug in 3.0 name module detection
2020-02-10 08:58:48 -05:00
rocky
6525ade805
Comment tweaks
2020-02-06 20:37:40 -05:00
rocky
73951840b6
Correct last commit
2020-02-06 20:19:29 -05:00
rocky
3438e76865
"return locals()" change to track grammar change
2020-02-06 20:08:00 -05:00
rocky
a99d8da0b4
Fix Recent CI bug
2020-02-06 05:10:57 -05:00
rocky
73e6409594
Fix recent CI bug
2020-02-06 05:09:17 -05:00
rocky
e41cd9be84
hide __qualname__ and name modules again...
...
due to recent grammar change
2020-02-06 03:19:56 -05:00
rocky
6f4ec21ae2
__modname__ and __qualname__ detection...
...
since grammar has simplified.
May still need work for Python < 3.0
2020-02-02 19:09:50 -05:00
rocky
9aae8f85c7
Bug introduced by last commit
2020-02-02 13:11:03 -05:00
rocky
38e2b8a10b
Go over docstring handling
2020-02-02 05:37:07 -05:00
rocky
de1e7d423c
A more correct offset2inst_index update.
2020-02-01 21:02:45 -05:00