rocky
dcbf8d2cf7
Bug in 3.5 constant map parsing
2016-05-01 20:54:42 -04:00
rocky
313e468bdc
Forgot to define Python3ParserSingle
2016-05-01 07:18:29 -04:00
rocky
dc80b140c6
Start to DRY Python2 and Python3 grammars
...
Separate out 3.2, and 3.5+ specific grammar code
2016-05-01 07:13:36 -04:00
rocky
0a32a16d88
Python 3.0..3.2 bug in LOAD_FAST/STORE_LOCAL
...
LOAD_FAST '__locals__'
STORE_LOCALS ''
Also have to adjust doc constants for this crap
astnode.py: minor format change
2016-04-30 09:12:03 -04:00
rocky
f3a4e6ee54
Pevious commit grammar change is Python 3.5 and up
2016-04-30 04:03:38 -04:00
rocky
43f5c5dcca
Python 3.5 if statments decompyle
...
Sometimes it doesn't need JUMP_FORWARD _come_from _come_from
For example:
def handle2(module):
if module == 'foo':
try:
module = 1
except ImportError as exc:
module = exc
return module
And:
if __name__:
for i in (1, 2):
x = 3
2016-04-30 03:51:54 -04:00
rocky
3e49aa56bb
spark -> spark_parser
2016-04-28 19:03:51 -04:00
rocky
40badefe9d
Use external spark now.
2016-04-27 23:04:31 -04:00
rocky
76768c889a
Start to DRY Python 2 and Python 3 grammar code
...
Move common code to parser.py
2016-04-18 05:32:30 -04:00
rocky
8ae7e22f2e
Add simgle-mode compilation
2016-04-18 05:14:47 -04:00
rocky
7e0526d627
Towards single compilation
2016-04-17 22:47:03 -04:00
rocky
9f7d36f8fb
Handle Ternary "or". Remove mention of uncompyle3
...
uncompyle3 removed per Mysterie's request
[Fixes Issue #5 ]
2016-04-07 07:18:46 -04:00
rocky
2927921856
Python 3 class deparsing. stop earlier in uncompyle6 on a syntax error.
2016-01-02 05:38:22 -05:00
rocky
7d42329c31
Work on MAKE_CLOSURE rules for Python 3.3
2016-01-01 21:55:14 -05:00
rocky
8d90e33832
Handle Python 3.3 > dotted class names
2015-12-31 10:56:12 -05:00
rocky
21e51004ae
Remove accidental schmutz. Try using pattr on 3.4 to get fn names
2015-12-30 20:18:20 -05:00
rocky
d5b023aec4
Parses another variation of Python3 try/except. Reinstate some tests
2015-12-30 19:05:58 -05:00
rocky
1785113045
Tidy parse3 grammer a little
2015-12-30 10:26:07 -05:00
rocky
657eeb7de8
Towards Python3 getting try/except working more often.
2015-12-30 09:46:52 -05:00
rocky
44cd349cc7
DRY Python3 scanner code. Some cross version handling fixed.
...
Some Python 3.2 and 3.3 deparse fixes.
2015-12-27 04:43:35 -05:00
rocky
7a2703634f
Fix up looping by reinstating JUMP_ABSOLUTE -> JUMP_BACK or CONTINUE
...
get jump offsets into jump attributes. Fix up 3.2 scanner paritally
and use that in 3.4 for in cross version disassembly.
2015-12-26 03:06:03 -05:00
rocky
fe9c8d5734
Python3 try/except handling improvements. Add Walker exception and use
...
that: fixes erroneous uncompyle success message on parse error.
2015-12-26 00:12:02 -05:00
rocky
0409cee6a9
WIP redo try/except for Python3
2015-12-25 17:57:53 -05:00
rocky
1088031335
Remove Python3 class __qualname__ assignment. Change LOAD_NAME to
...
LOAD_CLASSNAME to make parsing more reliable and intentional.
2015-12-24 22:31:24 -05:00
rocky
c0d50c4d96
Improve Python3 class definition handling
2015-12-24 19:21:36 -05:00
rocky
0c45fcfab9
WIP: Python3 exceptions
2015-12-23 20:08:07 -05:00
rocky
d47415a677
Start Python3 class(superclass) handling
2015-12-23 15:42:52 -05:00
rocky
35592b50ed
Allow comments in grammar rules. Start working on Python3 class (not
...
finished). More test organization.
2015-12-22 11:44:04 -05:00
rocky
41cceb5931
Remove Python2 buitin "print" from Python3's grammr. Start class tests
2015-12-22 05:50:00 -05:00
rocky
4f0fe90eef
Add spark option to show grammer. Revise uncompyle options. Start to reorganize
...
tests more
2015-12-22 03:56:50 -05:00
rocky
6b0bb124ea
Start Python3 execption handling
2015-12-21 15:41:21 -05:00
rocky
1456f820f2
Start Python3 slices. Split off token routine.
2015-12-21 12:17:57 -05:00
rocky
5dc3af3238
Start slice and build list on Python3. Do sanity check on marshal load
...
of code.
2015-12-21 06:41:02 -05:00
rocky
21920b5852
First list comprehensions from Python3. More test makefile hacking
2015-12-20 17:16:05 -05:00
rocky
93ab1f0281
Python 3.4: MAKE_FUNCTION starts to work.
2015-12-19 11:17:17 -05:00
rocky
a75bd0bf97
Python 3 bytecode handles opcodes with varargs (better). Decompiling
...
assert works. Add more of the simple tests and their compiled bytecode.
2015-12-19 03:00:39 -05:00
rocky
6bc425b45e
marshal.py: Python2 marshal code shouldn't try to turn a code object
...
into a string. parse3.py: handle both keyword and positional function
calls. scanner34.py: Remove extra level of quoting in LOAD_CONST.
Keyward handling now works cross Python 2/3. Some other spelling and doc fixes.
2015-12-18 21:20:12 -05:00
rocky
347219a009
Python3 postional arguments. Clean up code more along the lines of uncompyle3.
2015-12-18 17:07:35 -05:00
rocky
97f48f1322
Frank Ebersoll's grammar fix to make "assert isinstance(1, int)" work.
2015-12-17 21:41:47 -05:00
rocky
3604933a74
Python 3.4 correct grammar for some looping constructs
2015-12-17 10:30:01 -05:00
rocky
87a3c5d687
Python 3.4 if ifelse decompyling now works.
2015-12-17 08:10:43 -05:00
rocky
2dc8375ed0
Supoer multiple parsers, specifically for Python2 and Python3. In the
...
process some OO cleanup and some global variable hacks removed.
2015-12-16 22:08:29 -05:00