Commit Graph

339 Commits

Author SHA1 Message Date
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