Commit Graph

323 Commits

Author SHA1 Message Date
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
rocky
acdefb4f70 NT return_stmt -> return to match AST 2017-12-14 11:03:15 -05:00
rocky
a1082ebae9 Start handling 3.6 CALL_FUNCTION_KW 2017-12-14 08:36:12 -05:00
rocky
4cd4ad22b6 NT passtmt -> pass to match AST 2017-12-14 05:31:17 -05:00
rocky
aac793af09 Start parse2 customize_grammar_rule refactor 2017-12-13 18:56:38 -05:00
rocky
f82edae5a1 add_custom_rules -> customize_grammar_rules 2017-12-13 17:25:19 -05:00
rocky
84b4ac1c51 NT "_for" -> "for_iter" reduces confusion w/ "for" 2017-12-12 12:41:44 -05:00
rocky
b544827192 NT: "forstmt" renamed to "for" to match AST 2017-12-12 12:33:27 -05:00
rocky
36fbafa0f8 Bang on 3.6 CALL_FUNCTION(_VAR)_KW 2017-12-12 11:01:34 -05:00
rocky
ec1be81de7 Grammar specialization of DELETE_xxx in 3.x 2017-12-12 05:30:35 -05:00
rocky
3705f6d096 Start to handle CALL_FUNCTION_EX more accurately 2017-12-11 08:24:27 -05:00
rocky
88fbb691d8 Fix 3.1 and 3.2 named and kwargs parsing..
Improve 3.4 coverage and note a 3.5 while bug
2017-12-07 16:47:56 -05:00
rocky
ef08677287 Reinstate kwargs1...
was just missing the semantic action rule for it
2017-12-07 13:24:55 -05:00
rocky
08789adbb4 Reduce singletons rules and ..
fix recently introduced kwargs bug.
2017-12-07 13:20:08 -05:00
rocky
b8b9b8463c Fix grammar cover from last commit 2017-12-07 12:34:13 -05:00
rocky
7d8c17cb93 grammar isolation and reduction 2017-12-07 12:27:22 -05:00
rocky
41db5b8848 Fix while1/if parsing in 3.x. Reinstate some tests 2017-12-06 22:47:56 -05:00