rocky
1fe432585e
Keep pre-3.6 listcomp code patterns in 3.6
2018-02-28 16:22:33 -05:00
rocky
b128e4fde6
Fix 3.6+ nested list comprehensions
...
Modified "load_closure" rule and
changed semantic actions since LOAD_CLOSUREs are stored
inside a MAKE_TUPLE.
FIXME: Not sure if we have additional "if" clauses correct. Test and correct
2018-02-28 11:13:52 -05:00
rocky
68692abaf6
Start changing API to make version optional...
...
and use debug option dictionary
2018-02-27 11:42:29 -05:00
rocky
55a10d9e20
Remove trepan debug
2018-02-27 11:16:27 -05:00
rocky
e9d1b86a5b
Revise comprehension walking in 3.x...
...
less rigidly and with less magic and more verbiage as to what's going on
2018-02-27 11:13:55 -05:00
Yiming Wang
3545c7dc6f
Keep global statements in fixed order
2018-02-24 22:22:50 +08:00
rocky
8463221527
yield before 2.4 may need "None"
2018-02-22 22:26:56 -05:00
rocky
a2b6ebc669
grammar tree -> parse tree
2018-02-22 14:34:42 -05:00
rocky
09efb24a3e
Start distinguishing AST from grammar tree
2018-02-22 11:17:09 -05:00
rocky
a1b2a91d88
== -> is
2018-02-21 18:09:24 -05:00
rocky
859ce2206d
version=None in deparse_code() uses sys.version...
...
(the current interpreter version) as the version to decompile.
Fixes #159 .
2018-02-21 17:40:43 -05:00
rocky
fa4f614295
Wierd comprehension bug seen via new loctraceback
2018-02-15 12:15:49 -05:00
rocky
576ab98319
List comprehension fragment bugs in 3.4
2018-02-01 09:08:46 -05:00
rocky
a753e2c08f
fragments gen_ast more like pysource gen_ast
...
Skip deparse test for now
2018-01-30 10:28:32 -05:00
rocky
835124eba2
DRY fragments by using OO more effectively
...
Split grammar customization to its own file. It's quite large now.
2018-01-27 11:02:42 -05:00
rocky
4725624d46
More linestart hacking.
...
Not very successful though
2018-01-27 01:47:56 -05:00
rocky
98f9a7d009
Add --weak-verify and --linemap options...
...
Fix bugs in --verify not finding tempfile; remove tempfile
on exit.
2018-01-20 21:55:02 -05:00
rocky
4dbcf0400d
Correct 3.6+ calls with kwargs
2018-01-19 06:38:19 -05:00
rocky
2126e4cf32
Fix bug in 3.5+ async stmt ..
...
and in verification status message
2018-01-19 03:15:08 -05:00
rocky
71a64299e8
Simplify remove slop in CALL_FUNCTION_VAR on 3.5
2018-01-11 10:13:42 -05:00
rocky
7883e00b44
Correct 3.6 FUNCTION_EX handling, somewhat
...
Some Python 2.4 compatibility snuck in but I suppose that is not so bad
2018-01-08 23:20:22 -05:00
rocky
0692727605
Stronger while 1 testing...
...
Make instructions available in reduce tests.
Back off of a while test that was semantically different.
2018-01-08 21:54:28 -05:00
rocky
892be78927
correct 3.5 CALL_FUNCTION_VAR handling
...
Sigh, 3.6 changes this so this fix is just for this version
2018-01-08 12:24:00 -05:00
rocky
9cb99e3290
3.6 FUNCTION_EX_KW fixes
2017-12-15 19:18:27 -05:00
rocky
b736e0a0e2
Grammar rule for 3.6 with .. return
2017-12-15 08:25:34 -05:00
rocky
3b0eb017b6
Bang on Python 3.6 MAKE_FUNCTION
2017-12-15 07:35:58 -05:00
rocky
a3e61a710f
Towards handling CALL_FUNCTION_EX_KW...
...
more work is needed though
2017-12-14 23:12:37 -05:00
rocky
78d5d281a8
Handle 2.4- try/finally properly
2017-12-14 19:26:27 -05:00
rocky
acdefb4f70
NT return_stmt -> return to match AST
2017-12-14 11:03:15 -05:00
rocky
a464e41ad9
Comment better what's up
2017-12-14 08:40:21 -05:00
rocky
a1082ebae9
Start handling 3.6 CALL_FUNCTION_KW
2017-12-14 08:36:12 -05:00
rocky
36fbafa0f8
Bang on 3.6 CALL_FUNCTION(_VAR)_KW
2017-12-12 11:01:34 -05:00
rocky
0059f53196
Bang on BUILD_MAP_UNPACK_WITH_CALL a little...
...
more cases are needed still. And there's a bug in BUILD_TUPLE_UNPACK_WITH_CALL now
in adding the count twice.
2017-12-12 07:05:32 -05:00
rocky
b84c35acf5
DRY code; localize 3.{5,6} grammar rules..
...
helper.py, pysource: has code to flatten list used in n_list and n_build_tuple_unpack_with_call
parse3{5,6}.py: localize grammar rules with BEFORE_ASYNC_WITH
2017-12-11 21:26:58 -05:00
rocky
3705f6d096
Start to handle CALL_FUNCTION_EX more accurately
2017-12-11 08:24:27 -05:00
rocky
a1b990a078
Back off pervasiveness of singleton reductions
2017-12-06 21:38:27 -05:00
rocky
3d277270a4
Partial fix for removing singleton expr reduction
2017-12-06 20:21:00 -05:00
rocky
a4e9410c07
Start to reduce singleton reductions
2017-12-06 12:14:42 -05:00
rocky
f07dcb1508
Remove debug schmutz
2017-12-05 14:23:05 -05:00
rocky
e3f62e4a1a
unicode bug fix try #2...
...
this time, for sure!
2017-12-05 14:20:01 -05:00
rocky
ee3bdbc2ed
logic bug: and->or
2017-12-05 14:12:03 -05:00
rocky
2599b94786
Start to handle FUTURE_UNICODE_LITERALS flag
2017-12-05 13:28:26 -05:00
rocky
2d628acf60
Separate rules for set, tuple, dict from list...
...
Sync fragments.py with pysource
2017-12-05 00:13:17 -05:00
rocky
00b95dd72e
More verbiage about the comprehension mess
2017-12-04 15:16:46 -05:00
rocky
c953701623
Slightly better 3.x list comprehension handling
2017-12-04 14:15:06 -05:00
rocky
53b195ede9
Tidy a little ...
...
parse32.py: Move common grammar rules from parse32.py to parse3.py
parse32 should just have 3.2ish specific stuff.
parse3.py: favor addRule over add_unique_rule
pysource.py: make more clear what's up with comprehensions.
more later.
2017-12-04 09:36:39 -05:00
rocky
344d2d92c4
NT: load_attr -> attribute to match AST
2017-12-03 13:02:22 -05:00
rocky
f78a3fb92e
Parens around constant in method call ..
...
again.
Note what fails in 2.7 runtests
2017-12-03 12:25:26 -05:00
rocky
5fe8303184
Two bugs and a refactor ..
...
1. parse2.py: try except in a loop with a (virtual) continue
treat CONTINUE like JUMP_ABSOLUTE which it is
2. in taking methods off of constants, a parenthesis needs to be added
Some refactoring of global code done
2017-12-03 10:46:22 -05:00
rocky
260bfd176e
Fix bug in 2.6- except_cond3
2017-12-03 06:16:29 -05:00