50 Commits

Author SHA1 Message Date
rocky
3d24de7ce5 __init__.py lint 2022-03-09 12:16:38 -05:00
rocky
ed34bf9d4a use xdis.PYTHON3 not uncompyle.PYTHON3 2021-11-02 06:53:11 -04:00
rocky
70b7e51df6 VERSION -> version 2020-10-31 11:25:06 -04:00
rocky
a0f93f7ad9 Comment last change 2020-07-22 06:44:34 -04:00
rocky
d3d67441d1 Add VERSION in a pydoc-friendly way 2020-07-22 06:38:47 -04:00
rocky
d369017122 remove deprecated deparse_code 2019-06-16 21:57:56 -04:00
rocky
98cd06d6e0 Remove a use of deparse_code. 2018-06-19 04:08:20 -04:00
rocky
68692abaf6 Start changing API to make version optional...
and use debug option dictionary
2018-02-27 11:42:29 -05:00
rocky
09efb24a3e Start distinguishing AST from grammar tree 2018-02-22 11:17:09 -05:00
rocky
96ddef3920 Handle 3.5.2..3.5.2 magic...
And handle magic better overal by improved xdis use
2018-01-18 01:15:19 -05:00
rocky
a01b8be054 sys.recursionlimit is optional, not essential 2017-01-12 04:48:39 -05:00
rocky
66518baed0 Misc cleanups
Favor "decompile" over "uncompyle" since "decompile" is in common use
Reduce size of pysource.py by splitting out constants
2017-01-08 09:26:19 -05:00
rocky
4398b5b2e0 Use xdis for code, magics, and marshal 2016-05-27 19:18:06 -04:00
rocky
68ff878b3e Small pyflakes stuff 2016-05-20 21:37:46 -04:00
rocky
469cadd5c9 Start PYPY 2.7 tolerance 2016-05-05 11:27:56 -04:00
rocky
bfe8357f52 Trivial spacing change 2016-05-02 10:44:48 -04:00
rocky
ceb47aba9c Add -V | --version and simplfy changing it 2016-05-02 04:09:51 -04:00
rocky
08720474bf Expose uncompyle_file 2016-05-01 23:11:48 -04:00
rocky
b52baddab6 Export module load and fns load_file, load_module 2016-05-01 13:27:00 -04:00
rocky
b82a8b90d5 Allow Python 3.5 to decomplyle other versions. No Python 3.5
bytecode support just yet though.
2015-12-30 23:46:29 -05:00
rocky
008bd79719 Fix up Python 3.2, 3.3, and 3.4 cross-version scanners
Try travis 2.6 and 3.3
2015-12-26 10:19:26 -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
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
93ab1f0281 Python 3.4: MAKE_FUNCTION starts to work. 2015-12-19 11:17:17 -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
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
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
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
fcfe451547 Less ignore. Not sure what's up with not finding marsh in python3 2015-12-15 12:34:49 -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
a7455a3801 Start to move deparser from python-deparse here. Start Python 3.2 tolerance 2015-12-14 16:18:56 -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
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
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
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
rocky
d3c732298c Start process of making python3 compatible 2015-12-11 13:44:23 -05:00