rocky
373916f57c
Pypy 3.5 tolerance
2019-11-09 21:56:36 -05:00
rocky
eed4c1025b
Pypy 3.6 tolerance
2019-10-30 11:44:04 -04:00
rocky
86c1d12e69
Pypy 3.6 tolerance
2019-10-29 18:12:06 -04:00
rocky
dba6d24361
3.8 for block without a POP_BLOCK ...
...
and confusing JUMP_BACK for CONTINUE. Expect more like this.
Fixes #293
2019-10-29 13:32:43 -04:00
rocky
ebb0342b38
WIP pypy3.6 handling
2019-10-28 13:20:51 -04:00
rocky
0b3d6b8add
Get ready for release 3.5.0
2019-10-12 19:53:17 -04:00
rocky
5cb46c2ed3
Better simpler fragment fix...
...
remove hide_internal test. We changed the default and that's what
whas causing RETURN_LAST to not get included.
2019-10-12 17:55:52 -04:00
rocky
163e47fb49
Fragment fixes (and workarounds)
...
fragments.py: add more parent offsets. blacken buffer
parser3.py: additional grammar rules for fragment parser
Misc small typos and corrections
2019-10-12 12:22:27 -04:00
rocky
7969b19c2b
Reinstate Generator rule accidentally removed...
...
I removed the rule when writing how issue #283 was fixed. What was
supposed to be a temporary change, I accidentally committed.
2019-08-24 08:05:50 -04:00
rocky
f8bfde4a8e
Get ready for release 3.4.0
2019-08-24 07:58:42 -04:00
rocky
1ebfde6927
Add tree transformation phase...
...
if ... else if ... -> if ... elif ..
if .. : raise AsssertionError -> assert
Add options --tree=before --tree=after -T expanded to include this
This code ported from decompyle3. x0ret did all the heavy lifting.
2019-08-21 09:00:09 -04:00
rocky
388d1da970
Fixes #284 2nd problem...
...
while 1 bug for 2.6
2019-08-10 20:39:02 -04:00
rocky
66294d54f7
Comment what's up in last change.
2019-08-10 18:46:56 -04:00
rocky
55783c2712
Fixes #284
2019-08-08 21:48:12 -04:00
rocky
fd580f3c60
Python 2.6 generator rule with 'and' conditional
...
Fixes #283 .
2019-08-05 10:36:08 -04:00
rocky
71735ca7ef
Note that CALL_METHOD is used in 3.7+
...
and not just Pypy anymore
2019-07-18 05:26:33 -04:00
R. Bernstein
0fe8961418
Merge pull request #269 from rocky/if-elif-else-more
...
If elif else more
2019-07-01 09:52:11 -04:00
x0ret
7b7f794913
Fix handling py3 annotation args + defparam comma issue
2019-07-01 01:28:32 +04:30
rocky
50e46531ce
Adjust 3.x grammar rules to include annotate args
2019-06-29 23:33:21 -04:00
rocky
999f1fb0f9
Mostly x0ret's while(1)/if fixes ..
...
plus a potential test
2019-06-29 07:01:45 -04:00
rocky
e26c7407a0
Small changes to document some of the complexity.
2019-06-23 20:00:00 -04:00
x0ret
e96498eaf0
Adjust ifelsestmtr grammer
2019-06-24 01:28:33 +04:30
rocky
d371839c99
A few more LOAD_CONST->LOAD_CODE
2019-06-19 15:38:58 -04:00
rocky
24afe072b7
LOAD_CONST -> LOAD_CODE where appropriate
2019-06-19 14:43:07 -04:00
rocky
e2d7f01298
Handle 2-arg asserts in 3.6+ish
...
Changed files have also been reformatted via the blacken formatter
2019-06-18 22:09:16 -04:00
rocky
6675ea2cd0
Control flow yet again
2019-06-15 10:09:13 -04:00
rocky
4b82806d6c
Flow control bites again.
...
See related appveyor https://ci.appveyor.com/project/rocky/python-decompile3/builds/25301153/job/x0we0dpgb3apgk1v
2019-06-15 07:18:30 -04:00
x0ret
c871a4ecc5
Fix subscript in store_annotation + indentation
2019-06-12 00:26:34 +04:30
rocky
76dcaf9bf0
Tweaks to x0ret's anotation type handling
...
- match AST names a little better: AnnAssign -> ann_assign...
- localize Annotation type grammar change only when we have it
- Add reduce rule to combine assignment and annotate declaration
- Add annotation-type test from Python 3.6
- Docuemnt what's up with annotation types
2019-06-11 11:02:25 -04:00
x0ret
21fd506fbb
Add 3.6 STORE_ANNOTATION
2019-06-11 10:36:55 -04:00
rocky
719d2d7232
Correct order of pos vs kwargs in 3.0-3.2
2019-06-09 16:26:08 -04:00
rocky
c8fc6a704c
LOAD_CONST->LOAD_STR bugs and 3.4 kwargsonly
2019-06-09 02:18:21 -04:00
rocky
622d6f849c
Merge branch 'master' into string-const
2019-06-09 01:20:53 -04:00
rocky
86fd5dbf7a
3.3-3.4 pos kwargs ordering
2019-06-08 18:40:50 -04:00
rocky
117b4ff4f1
Add kwonly parsing.
...
* annotation parsing for kwonly args is missing.
* Start filling out runnable tests. More work is needed on tests.
* refresh incorrect bytecode_3.3_run/15_assert.pyc
2019-06-08 15:29:18 -04:00
rocky
44d7cbcf6f
LOAD_CONST->LOAD_STR for Python 3.x
2019-06-08 02:28:27 -04:00
rocky
af209dc142
Bug in 3.5+ generator detection...
...
Also bug in 3.5 code detection for async attribute
2019-06-05 19:08:21 -04:00
rocky
8f0674706b
Grammar simplification
2019-05-21 16:10:12 -04:00
rocky
01cc184716
dict grammar rule cleanup
2019-05-21 15:09:40 -04:00
rocky
3abe8d11d3
3.7 handling of 4-level attribute import
...
Fixes #239
2019-05-14 12:09:38 -04:00
x0ret
b62752eca1
2 more 3.7 chained comparison rule
2019-05-14 17:51:51 +04:30
rocky
9db446d928
Another 3.7 chained comparison rule
2019-05-14 07:26:18 -04:00
rocky
46acb74745
Only add forward-jumping COME_FROM in 3.6+
...
Is this a repeat commit?
2019-05-14 06:28:29 -04:00
rocky
44e1288e2f
Less dishonest COME_FROMs
...
Addresses all of the problems seen in 3.7 datetime.py.
However we limit COME_FROMs only to forward jumps, not back (which in the case of Python code right now means looping) jumps.
2019-05-13 23:15:55 -04:00
x0ret
3d732db3cc
fix chained compare parse error
2019-05-13 19:57:24 +04:30
rocky
b94cce7b12
Revise format string handling
...
fstring_single{1,2} -> format_value{1,2} to match Python AST names
better
2019-05-13 09:40:32 -04:00
rocky
b57ca392a2
2.7 confusion around "and" vs comprehension "if"
...
Fixes #225
2019-05-08 16:27:41 -04:00
rocky
8909fe8d37
Merge branch 'master' of github.com:rocky/python-uncompyle6
2019-05-08 06:04:11 -04:00
rocky
733a44e22f
Revise and hopefully improve 3.6+ fstring handling
2019-05-08 06:03:39 -04:00
rocky
f2f17740ee
2.7 if_expr_true restriction ...
...
condition_true -> if_expr_true
condition_lambda -> if_expr_lambda
These correspond to the Python AST names better.
2019-05-05 16:09:10 -04:00