rocky
d443295df6
Check range of _come_froms on ifelsestmt reduction
...
Fixes #200
2018-12-31 08:39:08 -05:00
rocky
ec42ee540c
Small typos
2018-09-20 17:40:23 -04:00
rocky
616e5c82f6
Reinstat expr32 and expr1024 rules...
...
to speed up handling long literal lists. See also issue #188
Update issue forms to simplfy via putting instructions as comments.
2018-09-19 20:14:42 -04:00
rocky
19ec52eb63
Change AST to SyntaxTree in many places
2018-07-15 12:37:50 -04:00
rocky
41a50b5e46
Handle if not else in lambdas...
...
Fixes #170
2018-04-25 12:57:09 -04:00
rocky
6fcf49b214
2.6 compatability
2018-04-18 12:18:32 -04:00
rocky
49661b222e
Ooops - remove debug statement.
2018-04-18 12:11:56 -04:00
rocky
c481d97866
A more uniform way to track opcodes seen...
...
use a set rather than these boolean variables. Done in 3.x
only for now. May do more later..
2018-04-18 12:01:46 -04:00
rocky
6c6d62edb8
python 2.6 grammar test tweak
2018-04-16 13:00:30 -04:00
rocky
245deb0931
Get ready for release 3.8.1 ...
...
and more 3.7 grammar customization
2018-04-16 12:53:35 -04:00
rocky
ede6eabc40
Slightly Python 3.x handing of subclasses...
...
which are created via a call to create a subclass.
Should be more general though.
2018-04-08 05:22:35 -04:00
rocky
68821efdb0
Improve 3.5+ BUILD_MAP_UNPACK...
...
And add build_tuple_unpack runtime test from a previous commit.
We are far from out of the woods, as there is more to do and
we've uncovered more bugs in handling this.
2018-04-06 21:34:31 -04:00
rocky
ff9ae4e792
Better handling of BUILD_TUPLE_UNPACK
2018-04-06 11:35:41 -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
120412f5a8
Add Python 3.6 setcomp and another call bug
2018-04-01 07:09:24 -04:00
rocky
1d5f4b0a05
Some 3.x grammar reduction...
...
Add 3.2 to grammar testing
2018-03-28 21:19:27 -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
626f690a5a
More grammar specialization by instruction
2018-03-25 20:38:21 -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
90ac8a463d
Adjust 3.x while1else reduction check
2018-03-20 11:33:10 -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
94038151f4
Add Python 3.6 mklambda rule
2018-03-18 23:37:32 -04: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
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
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
deb9903a97
DRY and limit STORE_LOCALS
2018-02-19 08:03:09 -05:00
rocky
730b0549d5
Handle 3.6+ FUNCTION_EX a little more generally
2018-02-12 04:26:52 -05:00
rocky
e431e49d77
Isolate Python 3.5 custom parse rules...
...
are isolated into parse35.py now and removed from parse3.py
This causes some code duplicated from parse3.py into parse3{5,6}.py
We will deal with that later.
2018-02-12 03:59:44 -05:00
rocky
230a38d537
Fix Python 3.5 CALL_FUNCTION_VAR handling
2018-02-12 03:07:03 -05:00
rocky
ab4daf2879
Merge branch 'master' of github.com:rocky/python-uncompyle6
2018-01-12 20:14:15 -05:00
rocky
db9eaa7503
3.x while1else checking
2018-01-12 20:14:09 -05:00
rocky
c6e20e4444
Fix whileelse bug
2018-01-11 21:52:33 -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
a3e61a710f
Towards handling CALL_FUNCTION_EX_KW...
...
more work is needed though
2017-12-14 23:12:37 -05:00
rocky
52f2b9341a
More Python 2/3 grammar restriction
2017-12-14 15:24:01 -05:00
rocky
6c552bec07
Python 2 grammar restricion to match recent Python 3
2017-12-14 14:54:40 -05:00
rocky
eb5706ee4b
Add a missing 3.6 generator rule
2017-12-14 12:15:58 -05:00
rocky
c01ce9e3de
Better grammar specialization for Python 3
2017-12-14 11:42:46 -05:00