rocky
449d74af51
More guarded CONTINUE deletion
2017-05-07 13:30:26 -04:00
rocky
f8a40c1949
Reduce spurious "continue" statements
2017-05-07 13:15:26 -04:00
rocky
605721c995
Python 3.x control-flow bug...
...
"pass" statement inside "while True"
2017-05-07 09:10:05 -04:00
rocky
26e8de8532
Fix improper COME_FROM_EXCEPT in Python 3.3+
2017-05-07 03:19:53 -04:00
rocky
89d8a70778
python 3.3 while True parsing bug
2017-05-06 10:00:33 -04:00
rocky
1093ef5c5b
Get ready for release 2.9.11
2017-05-06 07:34:30 -04:00
rocky
4a47822904
Fix more Python3.2 parser errors
2017-05-06 05:25:56 -04:00
rocky
4e9555a7f6
Improve Python 3.2 decompilation ...
...
by removing a lot of the control-flow labels of 3.3+
2017-05-05 21:34:21 -04:00
rocky
246495febd
Bang more on BUIlD_MAP_UNPACK
...
there are still bugs. Note:
{**{'x': 1}, **{'y': 2}} and
{{'x': 1}, **{'y': 2}}
generate the same Python 3.5+ bytecode.
2017-05-02 21:55:41 -04:00
rocky
91b86ac156
BUILD_MAP_UNPACK'ing of dictionaries in 3.5
2017-05-02 05:51:48 -04:00
rocky
26cd91046e
Remove extra unpack *. Issue #98
2017-05-01 05:26:55 -04:00
rocky
364827a2f2
Handle BUILD_MAP_UNPACK in a build_list
2017-04-29 21:44:52 -04:00
rocky
819458564c
A hacky way to get CALL_FUNCTION_EX_KW to work.
2017-04-27 21:38:30 -04:00
rocky
486f313532
remove debug code
2017-04-26 02:14:28 -04:00
rocky
84fd71b73b
Python 3.6 CALL_FUNCTION_EX first attempt
2017-04-25 07:31:01 -04:00
rocky
50687e6317
Reduse scope of LOAD_ASSERT as expr to 3.4+
2017-04-22 22:10:55 -04:00
rocky
b35546157f
LOAD_ASSERT can also be an expr
...
This may have the undesirable property that assert statements might get
tagged with equivalant low-level Python code that uses "raise
AssertionError", but so be it.
Fixes #103
2017-04-22 20:03:21 -04:00
rocky
87db833f62
Add await expr
...
Fixes #111
2017-04-22 10:39:20 -04:00
rocky
e5008693a1
3.3+ bug in handling single kwarg after *
...
Towards fixing issue #110
2017-04-22 04:19:04 -04:00
rocky
810649799c
Add async for with pass statement
...
Fixes #109
2017-04-20 12:39:15 -04:00
rocky
d4be647bce
3.5 ifelsestmtl grammar bug.
...
Fixes #108
2017-04-19 05:08:48 -04:00
rocky
4a898ff4c1
Expand await stmt handling
...
Fixes #107
2017-04-18 01:51:23 -04:00
rocky
cb6925beec
Add DELETE_DEREF grammar rule
...
Fixes Issue #106
2017-04-18 01:35:08 -04:00
rocky
3bbc94847d
Comment on what's up with last change
2017-04-16 16:07:08 -04:00
rocky
3a8d4e1a12
Python 3.x ifelse in comprehension
...
Fixes Issue #91
2017-04-16 14:47:11 -04:00
rocky
5477ca294d
Correct bug in 3.5+ build_list with UNPACK
2017-04-15 22:34:56 -04:00
rocky
8a33a583cd
3.6 generates Wonky EXTENDED_ARG in expression
...
Fixes Issue #102
2017-04-15 18:31:39 -04:00
rocky
03498963d4
Python 3.5+ BUILD_UNMAP_PACK rules
...
Towards addressing Issue #98
2017-04-14 23:39:56 -04:00
rocky
47dbc57f3d
Reduce adding RETURN_END_IF in 3.5+
...
The whole control flow determination has to be redone in a less
haphazard way using real flow-control analysis. Hopefully that's on the
way.
In the meantime we have this hack.
2017-04-14 06:57:25 -04:00
rocky
8cdaac93ab
Add if1else. Fixes #101
2017-04-13 21:27:22 -04:00
rocky
a9f7a3c6d0
In 3.x come_from should include COME_FROM_EXCEPT
2017-04-13 20:27:02 -04:00
rocky
495bdd7b64
Towards fixing issue #92
2017-04-13 01:48:17 -04:00
rocky
b4ded92822
Add Python 2.3 rule for "if 1: ..."
...
Fully fixes #97 for Python 2.3. Python 2.4 was fixed in a previous commit.
2017-04-13 01:14:49 -04:00
rocky
be9194c223
annotate args type need to be expr's not constants
2017-04-12 20:12:41 -04:00
rocky
45bd8e4058
Handle Python 2.4 "if 1...."
2017-04-12 04:50:22 -04:00
rocky
bb24df596d
Bang on 3.x annotations
2017-04-11 17:09:10 -04:00
rocky
6acec471e3
Towards fixing annotated decorator functions...
...
and annotate functions
2017-04-11 05:56:20 -04:00
rocky
41343c27b7
Misc bugs
...
parse2.py: restore accidently-removed while1stmt rule
scanner27.py: grammar typo
check_ast: add while1else to list of looping constructs
pysource.py: CALL_FUNCTION_VAR_KW_ARGS with positional args rule is different?
2017-04-10 07:57:56 -04:00
rocky
9e34654b38
Add more while1else grammar rules
...
Towards addressing issue #93
2017-04-10 02:47:46 -04:00
rocky
792df2a7a7
Another Python 3.5 FUNCTION_VAR bug
...
Fixes #94
2017-04-09 06:54:32 -04:00
rocky
b4a6c3c319
Merge branch 'master' of github.com:rocky/python-uncompyle6
2017-04-09 05:32:46 -04:00
rocky
4199bc7f61
Fix Python 3.5 CALL_FUNCTION_VAR_KW
...
Fixes Issue #95
2017-04-09 05:30:45 -04:00
rocky
6773a66b99
Tidy use of load_attrs
2017-04-03 06:53:12 -04:00
rocky
fdcb90f661
Python 3.0 doesn't have POP_JUMP_IF...
2017-03-12 10:32:05 -04:00
rocky
5856802902
Small cleanup - remove POP_JUMP_TF
2017-03-07 22:07:29 -05:00
rocky
4f2ae2f603
More accurate ranges of try blocks in 3.x
2017-03-05 00:05:52 -05:00
rocky
a0c090932e
Bug found by hypothesis in creating function calls
2017-03-04 11:49:09 -05:00
rocky
160ec0d9cc
COME_FROM for 3.x POP_EXCEPT, DRY with op_name() ...
...
Start adding COME_FROMs for POP_EXCEPT in preparation for
getting tryelse blocks correct.
Simpler opname access functions:
- self.op_name(op) is self.opc.opname[op]
- self.op_name_from_offset(offset) is self.opc.opname[self.code[offset]]
verify.py: not all offsets are ints
2017-03-01 05:50:31 -05:00
rocky
e1111e3f50
Python 2.6 a == b or c == d == 3 grammar bug
2017-02-28 09:18:36 -05:00
rocky
cf21fff38b
Predidence of cmp_list: x == y == z
...
The x, y, z should not have parenthesis around pairs of them
(x == y) or (y == z)
2017-02-28 01:25:33 -05:00