rocky
20af515dda
Handle comprehensions inside a lambda
2023-08-11 12:13:46 -04:00
rocky
ddeb5af6d6
compare_chained2 _> compare_chained_right
2023-07-29 12:09:25 -04:00
rocky
843e3585e2
chained-compare1 -> chained-compare-middle
2023-07-29 12:01:14 -04:00
James Hilliard
ab508e1ec9
Fix ImportError: cannot import name PYTHON_VERSION
2022-11-05 17:17:24 -04:00
rocky
8843686b49
Add generator expression Python 3.0 .. 3.2
2022-11-05 10:31:00 -04:00
rocky
9d1cf50c5e
Add generator expression Python 3.0 .. 3.2
2022-11-05 10:15:45 -04:00
rocky
a68f440d6f
Sync with decompyle3
...
Better PyPy 3.7 tolerance
2022-09-17 01:59:42 -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
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
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
219cb0606a
MAKE_FUNCTION_8 -> MAKE_FUNCTION_CLOSURE
...
Clarity is important.
2022-02-27 10:29:53 -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
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
15efaffe8d
More Python version tuple comparison conversion
2021-10-16 11:41:22 -04:00
rocky
8879708da7
del_stmt -> delete to match Python AST better
2020-09-02 07:14:56 -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
7fa851765d
Regularize "or" so args are in 1..2 and ...
...
correct "return None" semantic action
2020-05-18 22:55:26 -04:00
rocky
b94c649776
3.7 change rule to match op "or" expr's
2020-05-14 21:32:45 -04:00
rocky
538c2e7efd
More regressions with some fixes
2020-04-17 00:06:39 -04:00
rocky
4796fb9e70
"or" rule regularization + regressions from xdis
2020-04-16 23:45:39 -04:00
rocky
badfe5456f
Track "or" grammar changes...
...
Remove re deprecation warning
2020-04-16 15:25:42 -04:00
rocky
a616e1e1c7
"withstmt" -> "with" and fix async for
2020-04-01 09:48:34 -04:00
rocky
8495d208fb
3.7+ "async with" handling from decompyle3
2020-02-08 19:48:09 -05:00
rocky
b0931275a2
Need more precise "assert" for 3.8...
...
Add rule for ifelsestmtl which is needed in 3.8
2020-02-08 11:46:19 -05:00
rocky
cb35ad906c
One more if_exp use (ret_cond)
2020-02-07 16:34:48 -05:00
rocky
278af38df6
conditional -> if_exp ...
...
to match Python IfExp AST
2020-02-07 16:17:47 -05:00
rocky
b548910e57
IMPORT_NAME -> IMPORT_NAME_ATTR
...
Fixes #304
2020-01-28 01:43:20 -05:00
rocky
13b1ec7ad8
Better "ifstmt" reduction rule and ...
...
Tidy 3.7 grammar a little
Disable a number of 3.0 bytecode for now. Will Go over later.
2020-01-25 00:04:37 -05:00
rocky
7e91daf043
3.7 "if" body tweak .
2020-01-23 21:38:47 -05:00
rocky
29715bb8bf
3.8 ifelsestmt grammar rule...
...
and remove optional "c_stmts" in 3.7 "ifelsesmt" rule. We may
have to come back and add something, but when we do we'll be more
careful and this is probably all for the better.
2020-01-22 22:50:27 -05:00
rocky
73eab178ae
Towards syncing with decompyle3
2020-01-21 06:36:54 -05:00
rocky
af76218abf
More parser changes to reinstate what was working in 3.6.2...
...
However, again, probably more precise since we isolate loop rules better
However, again, this isnt' the full store. Semantics were incorrect in
Release 3.6.2 and they still are.
2020-01-17 05:36:20 -05:00
rocky
027c9a7dc0
Fix "for ... if" bug introduced since 3.6.2...
...
However we've isolated and documented the 3.x grammar a little bit better
2020-01-17 04:41:16 -05:00
rocky
968f86011b
3.6+ if/else in loops where jump offsets are "large"
2020-01-15 04:43:53 -05:00
rocky
5f230fa177
Add 3.7 "testfalsel" for looping conditions
2020-01-14 18:41:39 -05:00
rocky
c3d7ba6dad
3.7 "imports" and "or"
2020-01-11 07:23:23 -05:00
rocky
6cef42f6c7
3.7+ "or" disambiguation and assert2 handling
2020-01-10 20:44:28 -05:00
rocky
14f889561b
3.7+ multiple "and" parser generalize
2020-01-09 03:37:17 -05:00
rocky
7dee584a46
3.7+ "or" handling in listcomp
2020-01-09 03:15:30 -05:00
rocky
7b76d55e55
Start to fold in 3.7 reduction-rule goodness into 3.6
2020-01-08 19:50:05 -05:00
rocky
d5df411c7a
3.7+ multiple imports of dotted path
2020-01-03 23:22:28 -05:00
rocky
825add1af7
3.7+ "if not" in list comprehension and other bug fixes
2020-01-03 09:01:48 -05:00
rocky
1a901bde8f
remove unused rule found by grammar check.
2020-01-03 01:02:31 -05:00
rocky
732b5165c2
Fix a 3.7+ chained compare bug...
...
others remain though.
2020-01-03 00:55:45 -05:00