Commit Graph

130 Commits

Author SHA1 Message Date
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
d3d375d954 grammar 2015-12-21 21:58:33 -05:00
rocky
15e3b44d63 Add meat to CI tag 2015-12-21 21:53:20 -05:00
rocky
db58a63e73 Use travis badge for now 2015-12-21 21:39:46 -05:00
rocky
ce3c653b40 Make README.rst reflect current situation better 2015-12-21 21:36:35 -05:00
rocky
6a49cd2c69 Bug in for loop with try. Add more of 2.7's COME_FROM statements.
spark.py: add tracing reduce rules. main: reduce cutsines.
Start history
2015-12-21 21:08:08 -05:00
rocky
6b0bb124ea Start Python3 execption handling 2015-12-21 15:41:21 -05:00
rocky
d75083c9db Regularize test names. 2015-12-21 12:34:19 -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
9cdcdfd305 Part of a much needed cleanup. Move semantics routines into its own
directory. Move out lots of stuff from __init__ to their own files.
Add file loading tests. Document AST handling a tad more complete.
2015-12-20 23:03:35 -05:00
rocky
6910e1b1b4 Python 3 decompilation from Python2 2015-12-20 18:18:40 -05:00
rocky
21920b5852 First list comprehensions from Python3. More test makefile hacking 2015-12-20 17:16:05 -05:00
rocky
ba5a6e790b dissasemble_file output is needed for pytest 2015-12-20 12:18:13 -05:00
rocky
7880e0d7b1 Go over makefiles to make "make check" work. walker, deparser: use zip_longest 2015-12-20 12:07:49 -05:00
rocky
aa2fc0f5a5 3.4: correct picking up parameter names on oa function call 2015-12-19 20:53:33 -05:00
rocky
18ce905edf Python3 compatiblity for getting precidence. n_mkfunc needs to key off
of bytecode version, not running Python version.
2015-12-19 18:58:30 -05:00
rocky
0459b3cdc7 rSt-style linking 2015-12-19 17:54:37 -05:00
rocky
3b3d1c17ca Update what this is about 2015-12-19 17:52:04 -05:00
rocky
93ab1f0281 Python 3.4: MAKE_FUNCTION starts to work. 2015-12-19 11:17:17 -05:00
rocky
c0fcb5fc52 Docs 2015-12-19 03:14:48 -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
f70641da5d disas.py: track load_module API change
opcode_23.py: make it more like opcode_27.py
2015-12-18 23:03:47 -05:00
rocky
0a49c7a15b verify.py: Don't try to verify bytecode against compiled code if
magics of running interpreter mismatch bytecode to be compared.
load_module() now returns the magic found in the code object file.
2015-12-18 22:04:50 -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
e5f58e8ecb disas.py: Do better for finding/turning a .py file into a .pyc file
across supported versions of Python. Add for else list comprehension test
2015-12-18 08:47:30 -05:00
rocky
78847fe454 Restrict marshal.loads when magic is the same. This is more stringent than using the Python major/minor version 2015-12-17 22:34:13 -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
9d8f1cbf65 Remove 2.7 lib testfile pending further resolution 2015-12-17 21:03:20 -05:00
rocky
5b2f83cf62 correct makefile build targets 2015-12-17 20:58:17 -05:00
rocky
2fc2d6c699 Python 2.6 compatability via ericfrederich's patch. DRY version-checking code 2015-12-17 20:48:54 -05:00
rocky
a309a77ea7 Python3: remove "return None" at end of main for uncompyle. Fix up verify for Python3. First automated Python 3.4 tests via "makecheck-3.4" in test directory. 2015-12-17 18:53:30 -05:00
rocky
29f02edf79 Add spark grammar debugging. Start to comment grammer construct covered
by simple tests.
2015-12-17 12:44:40 -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
rocky
a362b47b15 Add LICENSE. Add demo programs and DRY code a little 2015-12-16 16:23:18 -05:00
rocky
06653a6163 On Python3.4 decompiling Python 3.4 instructions, use its
built-in disassembler routines. In contrast to what was here,
they most likely work!
2015-12-16 09:13:14 -05:00
rocky
9fecb48744 Tidy a little bit 2015-12-16 01:52:11 -05:00
rocky
8c94acfca0 Start 3.4 more stringent disassembly testing. Disassembly format has
changed slightly. misc small bugs.
2015-12-16 00:40:28 -05:00
rocky
7cdfd41eff 2.7 pyc for disasm test 2015-12-15 18:00:51 -05:00
rocky
dafca53022 Add some disassemble tests using pytest. 2015-12-15 17:58:38 -05:00
rocky
fcfe451547 Less ignore. Not sure what's up with not finding marsh in python3 2015-12-15 12:34:49 -05:00
rocky
0c17af5def disasm is unused code. More ignore. 2015-12-15 12:15:00 -05:00
rocky
683c75d37e Split out marhsal and disassemble code and spell disassemble correctly.
Fix some lint issues
2015-12-15 12:10:03 -05:00
R. Bernstein
237f6731d9 Update README.rst 2015-12-15 02:18:12 -05:00
R. Bernstein
bf244ebe1a Update README.rst 2015-12-15 02:06:21 -05:00
rocky
34ecd54e2c README.rst: note addition of pydisassemble
Remove duplicate disassembly printing from scanners and
put common code in caller(s). Show source-code line numbers in disassembly output
and fix alignment of byte offsets.
disas.py: workaround Python 2/3 different layouts before we get to
bytecodes in a code object.
2015-12-15 01:42:07 -05:00
rocky
5e5da104c5 Disable installing pydisassemble for now pending understanding what's up with CI 2015-12-14 22:30:10 -05:00