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
120412f5a8
Add Python 3.6 setcomp and another call bug
2018-04-01 07:09:24 -04:00
rocky
b54be24e14
3.6 argument parsing
2018-03-31 23:07:06 -04:00
rocky
535df1592e
Another 3.6 control-flow bug...
...
and add source to some previous bytecode tests
2018-03-31 19:28:35 -04:00
rocky
362a353e03
Merge branch 'master' of github.com:rocky/python-uncompyle6
2018-03-29 17:21:51 -04:00
rocky
7d110f17bc
3.6 decompilation problems
2018-03-29 17:21:22 -04:00
rocky
1d5f4b0a05
Some 3.x grammar reduction...
...
Add 3.2 to grammar testing
2018-03-28 21:19:27 -04:00
rocky
94a81a36b7
3.5, 3.6 loop if/continue handling
2018-03-28 09:23:34 -04:00
R. Bernstein
8c22d57979
Merge pull request #165 from rocky/grammar-cleanup2
...
Grammar reduction for 2.6/2.7,3.x
2018-03-27 20:11:29 -04:00
rocky
d90c44b454
3.5+ handle then before "if" jump going to loop
2018-03-27 19:24:29 -04:00
rocky
9d807501af
Grammar reduction for 2.6/2.7,3.x
2018-03-27 17:02:03 -04:00
rocky
3d218c84b0
LOAD assert needs to be on 3.x...
...
Expand testing
2018-03-26 18:11:57 -04:00
rocky
cfb4ad625f
3.5 *() arg without further args
2018-03-25 22:24:32 -04:00
rocky
8b7d5d3270
Merge branch 'master' into grammar-cleanup
2018-03-25 20:57:51 -04:00
rocky
626f690a5a
More grammar specialization by instruction
2018-03-25 20:38:21 -04:00
rocky
39cef6a41b
More raise vs. assert hacky distinctions
2018-03-25 17:56:35 -04:00
rocky
116fbb33e0
Merge branch 'master' of github.com:rocky/python-uncompyle6
2018-03-25 17:36:46 -04:00
rocky
631940887f
Additional Python 2.x assert vs raise testing
2018-03-25 17:35:18 -04:00
rocky
7fb94176b1
Less ambigouus 2.x grammar rule for BUILD_MAP
2018-03-25 12:09:42 -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
df55ce3212
Isolate some 3.x dictcomp grammar rules
2018-03-22 13:34:39 -04:00
rocky
0c3db340fa
2.7 bug confusing "or" with "if" and "assert"
2018-03-21 13:18:18 -04:00
rocky
ff50a7f37b
In 2.7: raise <expr>; expr can't be a "or"
2018-03-20 16:14:53 -04:00
rocky
90ac8a463d
Adjust 3.x while1else reduction check
2018-03-20 11:33:10 -04:00
rocky
0e64111195
Extend 3.4: "while 1: if : continue" handling
2018-03-20 10:37:19 -04:00
rocky
f008b8f411
Two 3.4 fixes..
...
* LOAD_DEREF does not signal "nonlocal" variables
* Add rule for "if" with a "continue" and "return"
2018-03-20 05:07:19 -04:00
rocky
50e59a37c1
Python 2 "for" grammar rule isolation
2018-03-19 16:15:53 -04:00
rocky
5c8f93b735
Fix 3.6 try/except with return
2018-03-19 16:12:44 -04:00
rocky
88ef4baca8
Fix a 3.6 try/except-as bug
2018-03-19 11:10:37 -04:00
rocky
6ab711baab
More 3.6 lambda handling
2018-03-19 09:36:02 -04:00
rocky
9e05750537
Another 3.6 lambda parsing bug
2018-03-19 09:09:59 -04:00
rocky
56b2e17e30
Adjust 3.6 "while" loop grammar
2018-03-19 06:01:39 -04:00
rocky
94038151f4
Add Python 3.6 mklambda rule
2018-03-18 23:37:32 -04:00
rocky
b9281c79be
Fix 3.6 list if "and" comprehension bug
2018-03-18 19:12:16 -04:00
rocky
51dec051df
Slightly better assert detection
2018-03-08 08:31:50 -05:00
rocky
92d562e600
Need additional try vs try/else checks
2018-03-07 07:38:13 -05:00
rocky
c03cdf1a49
Last 2.6 while1 bug...
...
before all of 2.6.9 stdlib parses without error.
2018-03-06 18:52:27 -05:00
rocky
01ad91b519
Another 2.6 try parse bug
2018-03-06 18:19:01 -05:00
rocky
ccd42077c1
Better 2.6 tryifelse detection
2018-03-06 17:23:08 -05:00
rocky
ca3f822c81
More 2.6 while-loop control flow parsing
2018-03-06 13:16:22 -05:00
rocky
8278c72a6f
Python 2.6 while1 if/and handling
2018-03-06 09:39:13 -05:00
rocky
3b0a5aab16
2.6- CONTINUE/JUMP_BACK confusion workaroud
2018-03-06 00:29:34 -05:00
rocky
cad1325a90
Python 2.2 code anomoly?
...
Python 2.2 may generate PRINT_ITEM_CONT in some places for PRINT_ITEM
2018-03-05 12:25:31 -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
01f2f6578b
Dictcomp with if for 2.7...
...
extend grammar in last commit to 2.7 which also has dictionary comprehensions
2018-03-05 08:37:09 -05:00
rocky
02b1554da3
grammar and semantics for dict comp with "if"
...
Fixes #162
2018-03-05 07:52:02 -05:00
rocky
fac5d31f34
Adjust that 2.2-2.6 "while" may not have COME_FROM
2018-03-05 00:21:54 -05:00