rocky
6b78677a74
Work on 3.5+ BUILD_MAP_UNPACK...
...
bugs still remain, just reduced.
2018-04-01 13:41:16 -04:00
rocky
ab1dba1536
Handle 3.5+ BUILD_MAP_UNPACK used in dictionaries
...
A number of weaknesses have been uncovered though
2018-04-01 12:56:58 -04:00
rocky
710c950965
Bang on 3.4 CALL_FUNCTION_VAR
2018-03-26 00:19:39 -04:00
rocky
7fb94176b1
Less ambigouus 2.x grammar rule for BUILD_MAP
2018-03-25 12:09:42 -04:00
rocky
e3c7afb94d
Towards handling 3.x' CALL_FUNCTION_VAR correctly
2018-03-24 08:26:45 -04:00
rocky
0d327ab0ce
Fix bug introduced in last commit
2018-03-24 06:29:35 -04:00
rocky
35a60e0274
Fix parser slowness in decompiling 3.x locale.py..
...
And remove grammar inefficiency in adding extraneous kwargs in <= 3.2
kwargs was nullable so it might not have been wasn't wrong, just inefficient.
2018-03-23 11:59:04 -04:00
rocky
d41a858f80
Messed up API compatibility
2018-03-21 17:38:38 -04:00
rocky
da06d83a87
3.6 subclass extraction bug
2018-03-21 15:14:23 -04:00
rocky
925b6667d7
3.6 CALL_FUNCTION_KW handling
2018-03-21 08:01:45 -04:00
rocky
5c662b334e
Handle 3.x "nonlocal" statement
2018-03-19 07:57:25 -04:00
rocky
1896c40202
Type comp_ifnot -> comp_if_not...
...
By the way, the sense of comp_if and list_if is reversed.
Will fix later...
2018-03-06 09:53:55 -05:00
rocky
5d24367ef6
Small changes...
...
pysource.py: Bug fix for relative imports.
scanner2.py: Remove a debug expression
2018-03-05 21:53:49 -05:00
rocky
61534ceed5
Need to back off set_comp change a little...
...
There was set_comp already. So what had been setcomp_func is now
merely set_comp_func rather than set_comp. Small improvement but
in the right direction, still
2018-03-05 11:41:21 -05:00
rocky
9f66694056
dictcomp_func -> dict_comp_func...
...
to match AST better. Also adds a correction in last commit,
including set_comp -> set_comp_expr where apprpriate
Note: can't use dict_comp as that was already used.
But dict_comp_func is matches AST better than dictcomp_func
2018-03-05 11:12:15 -05:00
rocky
2bdfd76635
setcomp_func -> set_comp ...
...
to match AST name more closely
2018-03-05 10:20:14 -05:00
rocky
02b1554da3
grammar and semantics for dict comp with "if"
...
Fixes #162
2018-03-05 07:52:02 -05:00
rocky
ffbce9cb77
3.6 class signature problems...
...
This time getting the class name in when a "load_closure" is added.
2018-03-04 17:25:42 -05:00
rocky
778f92b6f4
Fix a 3.6 CALL_FUNCTION_EX_KW problem..
...
and remove 3.6 customization from pysource.
2018-03-04 09:18:57 -05:00
rocky
a8260edded
3.6 function/class prototype fixes..
...
Had got the order backwards in: class Foo(a=B.c)
String defaults in default parameter tuples need to be quoted
2018-03-03 09:12:02 -05:00
rocky
2edc757b6f
more deparse_code -> code_deparse API additions
2018-03-01 16:55:45 -05:00
rocky
ef076c065b
Imports yet again
2018-03-01 08:45:31 -05:00
rocky
257c3ca454
Exclude early versions of Python in last change
2018-03-01 00:00:23 -05:00
rocky
e23315b2e6
Fallout from more precise token attributes
2018-02-28 23:35:52 -05:00
rocky
413df51dfa
Token.format(), shows CONST values better...
...
We were not showing the proper value for None, or False.
Start a unit test for Token().
I think this cleans the Token class up a little more.
More work is needed for MAKE_FUNCTION...
Note: Some debug stuff is commented out in make_funciton.py for upcoming work.
2018-02-28 22:05:12 -05:00
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