rocky
747212c62c
Python 3.x needs more "while 1" grammar rules
2017-02-20 08:57:16 -05:00
rocky
493e4b14a1
Some Python 3.4 bugss fixed by using 3.5 rules
2017-02-20 08:17:17 -05:00
rocky
9491c67779
More COME_FROM's in Python 3...
...
Need this to find boundaries of simple if better
2017-02-20 04:17:46 -05:00
rocky
9c49b5d54b
Handle 3.6 BUILD_CONST_KEYMAP
2017-01-15 11:10:13 -05:00
rocky
a760188724
Improve BUILD_xxx_UNPACK slightly
2017-01-10 04:36:28 -05:00
rocky
ad345ef94a
Add async_call_function for 3.5+
2017-01-09 07:03:51 -05:00
rocky
99fce6dfd7
Fix some errors in deparsing Python 3 annotations
2017-01-07 03:03:53 -05:00
rocky
39814fab8b
Misc bugs
2016-12-28 20:16:13 -05:00
rocky
723fa5dfed
Towards fixing a 3.2 while true: ... break bug
2016-12-28 19:13:11 -05:00
rocky
e3f4beeb74
Lint
2016-12-24 07:45:02 -05:00
rocky
e6761e13bb
Python flake8 crap
...
Was testing realgud's C-x!8 (goto flake8 warning/error)
2016-12-18 20:18:19 -05:00
rocky
08dcc7d820
Start to handle 3.5 build_map_unpack_with_call
...
3.6 also started but needs even more work
2016-12-16 20:39:24 -05:00
rocky
38eed14b41
Another python 3 ELSE fixes and ...
...
Makefile:
- test python 3.0 bytecode
- turn full --verify back on Python 3.x
2016-12-10 06:36:22 -05:00
rocky
813bce4697
Merge branch 'master' of github.com:rocky/python-uncompyle6
2016-12-09 21:13:31 -05:00
rocky
a5d2237435
Python 3.x else clause detection and..
...
- Strengthen verify check.
- weak verification on Python 3.5 for now
2016-12-09 21:10:10 -05:00
rocky
d22931cb49
Get ready for release 2.9.7
...
Some of the many lint things. Linting is kind of stupid though.
2016-12-04 09:36:30 -05:00
rocky
9cc2700160
Shorten Python3 grammars with + and *
2016-11-28 23:49:43 -05:00
rocky
97576e473d
Python 3 while/else bug
2016-11-27 07:06:20 -05:00
rocky
7ab4e1fbdb
Start grammar reduction checks
2016-11-26 15:38:00 -05:00
rocky
8941417a54
<2.7 "if" detection and dup Python 3 grammar rule
2016-11-24 05:33:08 -05:00
rocky
4fcb385dc0
DRY Python3 grammar
2016-11-22 19:59:19 -05:00
rocky
a81ffe8963
Python 3 bugs ...
...
- Was using "while 1 .. else" improperly
- docstring indent bug: was indenting docstring improperly
2016-11-13 10:08:41 -05:00
rocky
80a4ad4f1b
Python 3.0 while1 if bug...
...
Is a workaround. We really need more tagging in of SETUP_LOOP and COME_FROM.
2016-11-13 01:28:36 -05:00
rocky
36874c72e2
Possiby tidy grammar
2016-11-07 22:06:37 -05:00
rocky
d2ac293cf6
Merge branch 'master' into python-3.0
2016-11-05 21:01:50 -04:00
rocky
63e4c9343f
Clean up annotation grammar a little
2016-11-01 15:50:19 -04:00
rocky
ccdd37611c
More complete annotate handling
...
Still have a bit of work to do though.
2016-10-28 19:55:17 -04:00
rocky
2e355b6245
Expand annotate return to Python 3.4
2016-10-28 11:33:54 -04:00
rocky
0e7da031b2
Split out 3.1-3.3 parsers from parser3.py
...
This is anticipation of extending annotation to Python 3.2+
2016-10-28 07:07:18 -04:00
rocky
8feb472d51
Split out Python 3.1 parser from rest.
...
__pkginfo__.py: use Python 3.1 bytecode fixes
2016-10-25 21:47:02 -04:00
rocky
7a10917857
Handle Python 3.1 "with ... as" statement
2016-10-25 02:05:10 -04:00
rocky
aff920d87b
Python 3.1 "with" statement bug
2016-10-24 20:47:12 -04:00
rocky
6319d33fa0
Python 3.1 compile bug. DRY Python 3.x rules ...
...
via inheritance
2016-10-24 08:50:34 -04:00
rocky
abb61a4d7d
Fix some Python 3.1 bugs
2016-10-24 02:16:23 -04:00
rocky
b54a19c6ff
Start Python 3.0 decoding
...
Fix some Python 3.1 bugs
2016-10-24 02:11:26 -04:00
rocky
0480455ae1
DRY Python 3.6 grammar rules
2016-10-22 12:29:36 -04:00
moagstar
cec80e696c
further work on supporting single and multiple fstring decompilation
2016-10-20 20:44:27 +02:00
moagstar
7beaa9f36c
urther work on fstrings for python 3.6 - there is a new opcode build_string which is used to improve fstring performance, but broke the fstring support in uncompyle
2016-10-19 23:32:15 +02:00
rocky
b52f341d46
Python 3: "or" doesn't have optional come_from
2016-10-05 22:54:50 -04:00
rocky
649e4518fe
Python 3: "and" doesn't have optional come_from
2016-10-05 03:34:29 -04:00
rocky
a8f9f2170f
Python 3 while1 grammar rules with COME_FROM_LOOP
2016-09-28 05:52:13 -04:00
rocky
fe46015b78
PY3 COME_FROM_LOOP bug
...
There are still more in sre...
2016-09-27 04:59:06 -04:00
rocky
051efb80f5
PY3: COME_FROM -> COME_FROM_FINALLY as appropriate
...
We now have all WITH_ op jumps associated in the grammar
Also, some COME_FROM_LOOP grammar fixes
2016-09-27 03:27:41 -04:00
rocky
1fc8ac4700
Interval order COME_FROMs in Python3
...
This bug had possibly caused lots of grammar pollution which may need
addressing.
We want to process COME_FROMs to the same offset to be in *descending*
order so we have the larger range or biggest instruction interval
last. (I think they are sorted in increasing order, but for safety
we sort them). That way, specific COME_FROM tags will match up
properly. For example, a "loop" with an "if" nested in it should have
the "loop" tag last so the grammar rule matches that properly
Adjust Python 3 grammar for more COME_FROM -> COME_FROM_LOOP. And
remove optional COME_FROM_LOOP where possible. Previously, the
optional-ness was a result of inner nestings gobbling up the
COME_FROM.
We'll probably want to go back and fix this up in Python2.
2016-09-26 09:26:51 -04:00
rocky
c87710dd4b
Python 3 COME_FROM -> COME_FROM_WITH appropriately
2016-09-26 08:09:05 -04:00
rocky
c03a8186b5
Address whileTrue if cond .. -> while cond .. bug
...
Reinstate Python standard library bisect test
2016-09-25 16:59:32 -04:00
rocky
760532b218
Add COME_FROM_LOOP
...
Note: we have regressed in --verify and some tests,
but I believe that's because we are producing more equivalant
(if uglier) programs. That's a separate problem though.
2016-09-22 08:24:02 -04:00
rocky
88f2ad1f5a
Merge branch 'master' into controlflow
2016-09-22 01:33:29 -04:00
rocky
d271e886d9
Fix pytest grammar test failure
...
dict and set comprehensions are only in 2.7+
2016-09-22 01:32:00 -04:00
rocky
c0b4a5e703
Fix some Test failures
...
Fix py.test pytest/test_grammar.py -
Comprehension sorts of things removed from parser that
don't exist in earlier pythons
scanners/tok.py Add back in "to" when needed
2016-09-22 01:27:58 -04:00