2301 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
rocky
14815b3d8c test_pythonlib: Fix bug in traversing directores
walker.py: imports; Add test Python2.5 bytecode - it works!
Makefile: remove temporary directories and _dis files which were added by mistake
2015-12-13 18:39:33 -05:00
rocky
501060f87f need disas.py for cross version Python compiling
fixup MANIFEST.in
pythonlib.py: store expected python version and don't compile if it
mismatches. Work files now go in temp directory. Start masrhal load in
Python for Python3.
2015-12-13 10:31:05 -05:00
rocky
24c301c489 Start off with Anton Vorobyov's (DarkFenX) Python 3 scanner. 2015-12-13 03:41:57 -05:00
rocky
d71164df7f Correct MANIFEST->MANIFEST.in more lint 2015-12-13 02:28:05 -05:00
rocky
0af587064a Make uncompyle6 run on Python3.4 and Python 2.7
We don't need our own disassembler. Python's will do fine
2015-12-13 01:59:32 -05:00
rocky
3d4e23cc9c Add tests and start a more turnkey testing system. 2015-12-13 00:45:54 -05:00
rocky
832debeb70 Minimal disassemble, ast compile and deparse work on Python 3.
Some linting
2015-12-12 13:22:44 -05:00
rocky
87a3bf1935 parser -> dparser so as not to conflict with python3's parser. 2015-12-12 08:44:21 -05:00
rocky
003d485814 More Python3 compatability. Remove duplicate disassembly code and
get it from Python's standard library instead.
2015-12-12 08:37:20 -05:00
rocky
00d17461fc Python3 compatibility 2015-12-12 06:43:15 -05:00
rocky
bc1c1d6a67 python3 compatibiity and remove some flake8 warnings. 2015-12-11 19:27:29 -05:00
rocky
39842cef1f Lint stuff 2015-12-11 18:49:23 -05:00
rocky
b3c8cbb83f More python2 -> python3 compatibility 2015-12-11 18:14:47 -05:00