rocky
460069ceaa
Bug in 2.4 "if" dectection and...
...
Wrong language used in old-style exceptions: use "except Error,e" not
"except Error(e)""
2016-11-24 05:15:35 -05:00
rocky
a9349b8f3d
Making it run on Python 2.4 and 2.5
2016-11-23 07:53:51 -05:00
rocky
76ae1592d0
verify scanner2 vs scanner3 small changes...
...
verify.py: allow LOAD_CONST None to make LOAD_NAME 'None'
scanner{2,3}.py: make them look more alike
2016-11-17 03:43:39 -05:00
rocky
b6e53205dd
Handle verify syntax errors...
...
Update README.rst stats
2016-11-13 18:55:23 -05:00
rocky
8b240a80e7
Get ready for release 2.9.0 ...
...
- Use xdis 3.0.0 protocol load_module. Needs bump in requirements.txt
and _pkg_info_.py
- Start Python 1.5 decompiling - another round of work is needed to remove
bugs
- small cleanups
2016-10-10 09:33:49 -04:00
rocky
ccd129b377
Try stronger verification
...
verify.py: add check in verification that magic is the same.
Otherwise we go for weak verification.
2016-09-25 17:48:33 -04:00
rocky
dd661bc94a
Start accepting Python 3.1 bytecode
2016-09-09 15:32:46 -04:00
rocky
c7788e4545
disassemble -> ingest where appropriate
...
As part of tokenization for (de)parsing, we need to do something like a
disassembly, but is is really a little different.
Disassembly, strictly speaking, is done by the xdis module now.
What "ingestion" does is massage the instruction tokens to a form that is
more amenable for parsing.
In sum, ingestion is different than disassembly, although disassembly is
generally the first part of ingestion.
2016-09-04 11:43:02 -04:00
rocky
6189ce3c04
Bug in 3.x detecting "if" structure and ...
...
scanner3.py: bug in 3.x detecting "if" structure
Make scanner2.py look more like scanner3.py
verify.py: add weak-verify which tests Pytyon syntax, but not code
2016-08-31 04:07:42 -04:00
rocky
da458bdce7
Correct PYPY bit logic in previous commit
2016-08-27 20:19:12 -04:00
rocky
f47aecae9f
PYPY bugs and inspired changes ...
...
verify.py: Show co_flags when different.
pysource.py: PYPY also generates normal tryfinallystmt code
test_pyenvlib.py: allow pypy-5.3.1
2016-08-27 19:32:42 -04:00
rocky
65a16327ce
Moagstar's 3.6 wordcode + formattedValue rules
2016-08-01 03:16:26 -04:00
rocky
5e801b5d74
Python 2.7 set comprehension bug
2016-07-27 08:36:33 -04:00
rocky
74f440bd0b
Usuability fixes
...
* try using format for __str__
* Explicitly nuke self.attr and self.pattr when no arg
* Sync pysource and format wrt make_function
2016-07-26 20:49:41 -04:00
rocky
7c4316d4fb
Start handling pypy 2.7
...
Need to understand whether we care compiling pypy.
Pypy 2.7 list comprehensions are different and use
its own opcode.
2016-07-21 02:58:50 -04:00
rocky
7b7a9fa4cf
Python 3.4 assertion handling. Improve verify
...
3.4 has jump optimization like 3.5.
verify.py: show mismatch on verification mismatch
2016-07-14 05:20:30 -04: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
b629a0c5df
Add 3.5 to verify
2016-05-18 10:59:57 -04:00
rocky
a08ece371e
pydisassemble improvements; DRY scannners
...
disas.py:
- disassembles *all* code objects found
scanner*.py:
- no longer need to pass in version numbers; this
is obtained from the class name
- no longer pass in opcodes; this is done at
initialization from the scanner name
- all Pythoin 3 scanners support native disassembly
2016-05-18 10:58:48 -04:00
rocky
134b67d952
Misc small changes
...
Go over history yet again
code cleanups.
2016-05-16 10:15:55 -04:00
rocky
54a0af733b
Verify 3.4 bytecode. verify API call bug fixed.
2016-01-02 07:50:09 -05:00
rocky
2e91de8355
Start using our replacement for inspect.iscode
2015-12-30 18:44:27 -05:00
rocky
116263dd8c
inspect.iscode -> hasattr for now until we write a cross-version iscode
2015-12-29 17:05:48 -05:00
rocky
4640e7dece
Running native on Python 3.3 needs more work
2015-12-26 19:32:32 -05:00
rocky
d2406e9d57
One more place for API change
2015-12-24 11:50:08 -05:00
rocky
e3a5d487eb
Show embeded timestamp of byte-decompiled file
2015-12-24 11:30:57 -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
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
9fecb48744
Tidy a little bit
2015-12-16 01:52:11 -05:00
rocky
dafca53022
Add some disassemble tests using pytest.
2015-12-15 17:58:38 -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
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
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
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
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
d3c732298c
Start process of making python3 compatible
2015-12-11 13:44:23 -05:00