Files
python-uncompyle6/uncompyle6/scanners/scanner32.py
rocky 34841abe14 scanner3: Python 2.6 compatibility: change set initializations. Get rid
of * import
opcode_*: only a little of the much-needed larger cleanup
Makefile: remove 3.x bytecode checking from Python 2.x for now. DRY
Makefile a little bit (but more is needed)
2015-12-29 08:30:49 -05:00

30 lines
820 B
Python

# Copyright (c) 2015 by Rocky Bernstein
"""
Python 3.2 bytecode scanner/deparser
This overlaps Python's 3.2's dis module, but it can be run from
Python 2 and other versions of Python. Also, we save token information
for later use in deparsing.
"""
from __future__ import print_function
import uncompyle6.scanners.scanner3 as scan3
import uncompyle6.opcodes.opcode_32
# verify uses JUMP_OPs from here
JUMP_OPs = uncompyle6.opcodes.opcode_32.JUMP_OPs
class Scanner32(scan3.Scanner3):
def disassemble(self, co, classname=None, code_objects={}):
return self.disassemble_generic(co, classname, code_objects=code_objects)
if __name__ == "__main__":
import inspect
co = inspect.currentframe().f_code
tokens, customize = Scanner32().disassemble(co)
for t in tokens:
print(t)
pass