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
rocky
b6dee24289
First step towards managing control flow decoding
2016-09-21 21:30:57 -04:00
moagstar
bae3d2e361
merge fstring changes from moagstar
2016-09-21 22:04:46 +02:00
rocky
71591152ef
3.0 .. 3.4 bug in whileTrue
2016-09-09 22:27:13 -04:00
rocky
2d11ffb669
Python 3.0-3.2 *args processing
2016-09-08 03:54:57 -04:00
rocky
fecae9f902
Fix 3.3 named bug and ...
...
Parse 3.4 parameters correctly.
Allow test_pyenvlib to do 3.3.6
2016-09-06 02:15:47 -04:00
rocky
ddc5460030
Start to handle Python 3.1 bytecode
2016-08-26 20:50:08 -04:00
rocky
2e3e6658ee
Small pypy LOOKUP_METHOD cleanups
2016-08-16 06:09:10 -04:00
DanielBradburn
004ce5c491
Fixed bug with FORMAT_VALUE where a sub expression would not be correctly interpreted
2016-08-16 08:24:06 +02:00
DanielBradburn
5d27832d6f
resolve merge conflicts from pull request
2016-08-10 08:20:51 +02:00
Daniel Bradburn
d14865c1be
Starting adding python 3.6 support to uncompyle
2016-07-28 09:07:12 +02:00
rocky
cd8cbf9200
Add 3.5 matrix mult ops
...
We now run 3.5 verifycation so we need to remove some
of the tests that fail to verify pending fixing.
2016-07-15 12:12:19 -04:00
rocky
c9d1f72424
Attempt to get 3.5 RETURN_END_IF working
...
This feels hacky and I'm not sure is quite right.
Untili we understand better what to do though, we'll
go with it.
2016-07-14 14:49:57 -04:00
rocky
7b7a9fa4cf
Python 3.4 assertion handling. Improve verify
...
3.4 has jump optimization like 3.5.
verify.py: show mismatch on verification mismatch
2016-07-14 05:20:30 -04:00
rocky
bc86b73cf0
Document/correct hide_internal and store_locals
2016-07-12 12:07:48 -04:00
rocky
78f24f9c66
Python 3.2 & 3.3 handle STORE_NAME better
2016-07-11 23:24:52 -04:00
rocky
9fdf70f68d
Python 3.(4?) while1 bug
...
Clean up while1 grammar a tad
2016-07-11 10:18:18 -04:00
rocky
59ba8a65cd
Structure detection bugs +
...
Had borked 3.4 grammar rules in
previous refactor
2016-07-10 19:21:55 -04:00
rocky
3cd3f7ccdf
Bugs caused by 3.x jump_forward misclasification
2016-07-10 08:05:18 -04:00
rocky
52b71bb01a
Python 3 better CONTINUE op classification
...
Also document what's up with JUMP_ABSOLUTE
classification
2016-07-10 06:47:34 -04:00
rocky
21da5e787e
Start splitting off 3.4 grammar from rest
2016-07-09 21:11:14 -04:00
rocky
974b11ff55
Another 2.6 while stmt. Clean up grammar a little
2016-07-03 10:50:19 -04:00
rocky
9a2369830d
Python 3.5 if handling...
...
Allow RETURN_END_IF in a return statement
May want to do this in other versions as well, but right now
we only need it here.
2016-06-22 22:09:06 -04:00
rocky
f999e6a33a
Another kind of yield_from on 3.5
2016-06-22 16:48:03 -04:00
rocky
126af429fb
differing ways to do "yield from" in 3.3-3.5
2016-06-22 16:29:58 -04:00