Commit Graph

313 Commits

Author SHA1 Message Date
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
rocky
77b7286f34 Package scripts correctly now 2015-12-14 22:18:26 -05:00
rocky
3ae048ef4d scripts->bin. Add pydisassemble to list of scripts to install 2015-12-14 22:12:54 -05:00
rocky
ae42f61ef0 Add a standalone disassemble utility. __init__.py: Shun using 0, 1 for booleans 2015-12-14 22:01:58 -05:00
rocky
2d5191ba67 Typos 2015-12-14 16:23:13 -05:00
rocky
a7455a3801 Start to move deparser from python-deparse here. Start Python 3.2 tolerance 2015-12-14 16:18:56 -05:00
rocky
f877086d81 Clean up travis file now that I know what works 2015-12-14 15:37:57 -05:00
rocky
0b3a8047ff Travis: try install a different way 2015-12-14 15:34:01 -05:00
rocky
e50d8d9d24 Do setup install on CI boxes 2015-12-14 15:30:35 -05:00
rocky
551397e969 A correct way to set a circleci envvar? 2015-12-14 15:18:56 -05:00
rocky
ce337e5ec0 Add --compile to cicleci build 2015-12-14 15:14:52 -05:00
rocky
718bf67a00 Try circleci 2015-12-14 15:13:05 -05:00
rocky
a04a9ec294 uncompyle6/dparser -> uncompyle6/parser 2015-12-14 15:01:57 -05:00
rocky
3e31f41552 Closer to being able to handle Python 3.4 bytecode. Loading of Python
Python bytecode now works. magics from 3.3 to Python 3.4 has been added.
Some Python 3.4 scanner issues have been fixed.
2015-12-14 14:55:32 -05:00
rocky
b5797dfa0f Move scanners in its own directory. Dir base-tests -> base_tests so we
can import from that.
2015-12-14 09:38:46 -05:00
rocky
f595f659ad Python3 compatibility: (disas, scanner*)
Reduce useless verbiage in status messages and DRY code a little;
__init__, uncompyle6
2015-12-14 08:38:51 -05:00
rocky
232b5fe70e Make sure we pass return code back. 2015-12-13 22:58:20 -05:00
rocky
4019b4a946 Add Python version and tidy up stats output: don't show verify stats if we didn't verify! 2015-12-13 19:36:56 -05:00