$50 GRAYBYTE WORDPRESS FILE MANAGER $24

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.15.130 | ADMIN IP 216.73.216.174
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/lib64/python2.7/

HOME
Current File : /lib64/python2.7//dis.py
"""Disassembler of Python byte code into mnemonics."""

import sys
import types

from opcode import *
from opcode import __all__ as _opcodes_all

__all__ = ["dis", "disassemble", "distb", "disco",
           "findlinestarts", "findlabels"] + _opcodes_all
del _opcodes_all

_have_code = (types.MethodType, types.FunctionType, types.CodeType,
              types.ClassType, type)

def dis(x=None):
    """Disassemble classes, methods, functions, or code.

    With no argument, disassemble the last traceback.

    """
    if x is None:
        distb()
        return
    if isinstance(x, types.InstanceType):
        x = x.__class__
    if hasattr(x, 'im_func'):
        x = x.im_func
    if hasattr(x, 'func_code'):
        x = x.func_code
    if hasattr(x, '__dict__'):
        items = x.__dict__.items()
        items.sort()
        for name, x1 in items:
            if isinstance(x1, _have_code):
                print "Disassembly of %s:" % name
                try:
                    dis(x1)
                except TypeError, msg:
                    print "Sorry:", msg
                print
    elif hasattr(x, 'co_code'):
        disassemble(x)
    elif isinstance(x, str):
        disassemble_string(x)
    else:
        raise TypeError, \
              "don't know how to disassemble %s objects" % \
              type(x).__name__

def distb(tb=None):
    """Disassemble a traceback (default: last traceback)."""
    if tb is None:
        try:
            tb = sys.last_traceback
        except AttributeError:
            raise RuntimeError, "no last traceback to disassemble"
        while tb.tb_next: tb = tb.tb_next
    disassemble(tb.tb_frame.f_code, tb.tb_lasti)

def disassemble(co, lasti=-1):
    """Disassemble a code object."""
    code = co.co_code
    labels = findlabels(code)
    linestarts = dict(findlinestarts(co))
    n = len(code)
    i = 0
    extended_arg = 0
    free = None
    while i < n:
        c = code[i]
        op = ord(c)
        if i in linestarts:
            if i > 0:
                print
            print "%3d" % linestarts[i],
        else:
            print '   ',

        if i == lasti: print '-->',
        else: print '   ',
        if i in labels: print '>>',
        else: print '  ',
        print repr(i).rjust(4),
        print opname[op].ljust(20),
        i = i+1
        if op >= HAVE_ARGUMENT:
            oparg = ord(code[i]) + ord(code[i+1])*256 + extended_arg
            extended_arg = 0
            i = i+2
            if op == EXTENDED_ARG:
                extended_arg = oparg*65536L
            print repr(oparg).rjust(5),
            if op in hasconst:
                print '(' + repr(co.co_consts[oparg]) + ')',
            elif op in hasname:
                print '(' + co.co_names[oparg] + ')',
            elif op in hasjrel:
                print '(to ' + repr(i + oparg) + ')',
            elif op in haslocal:
                print '(' + co.co_varnames[oparg] + ')',
            elif op in hascompare:
                print '(' + cmp_op[oparg] + ')',
            elif op in hasfree:
                if free is None:
                    free = co.co_cellvars + co.co_freevars
                print '(' + free[oparg] + ')',
        print

def disassemble_string(code, lasti=-1, varnames=None, names=None,
                       constants=None):
    labels = findlabels(code)
    n = len(code)
    i = 0
    while i < n:
        c = code[i]
        op = ord(c)
        if i == lasti: print '-->',
        else: print '   ',
        if i in labels: print '>>',
        else: print '  ',
        print repr(i).rjust(4),
        print opname[op].ljust(15),
        i = i+1
        if op >= HAVE_ARGUMENT:
            oparg = ord(code[i]) + ord(code[i+1])*256
            i = i+2
            print repr(oparg).rjust(5),
            if op in hasconst:
                if constants:
                    print '(' + repr(constants[oparg]) + ')',
                else:
                    print '(%d)'%oparg,
            elif op in hasname:
                if names is not None:
                    print '(' + names[oparg] + ')',
                else:
                    print '(%d)'%oparg,
            elif op in hasjrel:
                print '(to ' + repr(i + oparg) + ')',
            elif op in haslocal:
                if varnames:
                    print '(' + varnames[oparg] + ')',
                else:
                    print '(%d)' % oparg,
            elif op in hascompare:
                print '(' + cmp_op[oparg] + ')',
        print

disco = disassemble                     # XXX For backwards compatibility

def findlabels(code):
    """Detect all offsets in a byte code which are jump targets.

    Return the list of offsets.

    """
    labels = []
    n = len(code)
    i = 0
    while i < n:
        c = code[i]
        op = ord(c)
        i = i+1
        if op >= HAVE_ARGUMENT:
            oparg = ord(code[i]) + ord(code[i+1])*256
            i = i+2
            label = -1
            if op in hasjrel:
                label = i+oparg
            elif op in hasjabs:
                label = oparg
            if label >= 0:
                if label not in labels:
                    labels.append(label)
    return labels

def findlinestarts(code):
    """Find the offsets in a byte code which are start of lines in the source.

    Generate pairs (offset, lineno) as described in Python/compile.c.

    """
    byte_increments = [ord(c) for c in code.co_lnotab[0::2]]
    line_increments = [ord(c) for c in code.co_lnotab[1::2]]

    lastlineno = None
    lineno = code.co_firstlineno
    addr = 0
    for byte_incr, line_incr in zip(byte_increments, line_increments):
        if byte_incr:
            if lineno != lastlineno:
                yield (addr, lineno)
                lastlineno = lineno
            addr += byte_incr
        lineno += line_incr
    if lineno != lastlineno:
        yield (addr, lineno)

def _test():
    """Simple test program to disassemble a file."""
    if sys.argv[1:]:
        if sys.argv[2:]:
            sys.stderr.write("usage: python dis.py [-|file]\n")
            sys.exit(2)
        fn = sys.argv[1]
        if not fn or fn == "-":
            fn = None
    else:
        fn = None
    if fn is None:
        f = sys.stdin
    else:
        f = open(fn)
    source = f.read()
    if fn is not None:
        f.close()
    else:
        fn = "<stdin>"
    code = compile(source, fn, "exec")
    dis(code)

if __name__ == "__main__":
    _test()


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
10 Apr 2026 7.12 PM
root / root
0555
Demo
--
9 Jun 2024 8.36 AM
root / root
0755
Doc
--
10 Apr 2024 4.58 AM
root / root
0755
Tools
--
9 Jun 2024 8.36 AM
root / root
0755
bsddb
--
9 Jun 2024 8.36 AM
root / root
0755
compiler
--
9 Jun 2024 8.36 AM
root / root
0755
config
--
9 Jun 2024 8.36 AM
root / root
0755
ctypes
--
9 Jun 2024 8.36 AM
root / root
0755
curses
--
9 Jun 2024 8.36 AM
root / root
0755
distutils
--
9 Jun 2024 8.36 AM
root / root
0755
email
--
9 Jun 2024 8.36 AM
root / root
0755
encodings
--
9 Jun 2024 8.36 AM
root / root
0755
ensurepip
--
9 Jun 2024 8.36 AM
root / root
0755
hotshot
--
9 Jun 2024 8.36 AM
root / root
0755
idlelib
--
9 Jun 2024 8.36 AM
root / root
0755
importlib
--
9 Jun 2024 8.36 AM
root / root
0755
json
--
9 Jun 2024 8.36 AM
root / root
0755
lib-dynload
--
9 Jun 2024 8.36 AM
root / root
0755
lib-tk
--
9 Jun 2024 8.36 AM
root / root
0755
lib2to3
--
9 Jun 2024 8.36 AM
root / root
0755
logging
--
9 Jun 2024 8.36 AM
root / root
0755
multiprocessing
--
9 Jun 2024 8.36 AM
root / root
0755
plat-linux2
--
9 Jun 2024 8.36 AM
root / root
0755
pydoc_data
--
9 Jun 2024 8.36 AM
root / root
0755
site-packages
--
18 Apr 2025 8.39 AM
root / root
0755
sqlite3
--
9 Jun 2024 8.36 AM
root / root
0755
test
--
9 Jun 2024 8.36 AM
root / root
0755
unittest
--
9 Jun 2024 8.36 AM
root / root
0755
wsgiref
--
9 Jun 2024 8.36 AM
root / root
0755
xml
--
9 Jun 2024 8.36 AM
root / root
0755
BaseHTTPServer.py
22.214 KB
10 Apr 2024 4.58 AM
root / root
0644
BaseHTTPServer.pyc
21.213 KB
10 Apr 2024 4.58 AM
root / root
0644
BaseHTTPServer.pyo
21.213 KB
10 Apr 2024 4.58 AM
root / root
0644
Bastion.py
5.609 KB
10 Apr 2024 4.58 AM
root / root
0644
Bastion.pyc
6.504 KB
10 Apr 2024 4.58 AM
root / root
0644
Bastion.pyo
6.504 KB
10 Apr 2024 4.58 AM
root / root
0644
CGIHTTPServer.py
12.782 KB
10 Apr 2024 4.58 AM
root / root
0644
CGIHTTPServer.pyc
10.76 KB
10 Apr 2024 4.58 AM
root / root
0644
CGIHTTPServer.pyo
10.76 KB
10 Apr 2024 4.58 AM
root / root
0644
ConfigParser.py
27.096 KB
10 Apr 2024 4.58 AM
root / root
0644
ConfigParser.pyc
24.622 KB
10 Apr 2024 4.58 AM
root / root
0644
ConfigParser.pyo
24.622 KB
10 Apr 2024 4.58 AM
root / root
0644
Cookie.py
25.916 KB
10 Apr 2024 4.58 AM
root / root
0644
Cookie.pyc
22.127 KB
10 Apr 2024 4.58 AM
root / root
0644
Cookie.pyo
22.127 KB
10 Apr 2024 4.58 AM
root / root
0644
DocXMLRPCServer.py
10.516 KB
10 Apr 2024 4.58 AM
root / root
0644
DocXMLRPCServer.pyc
9.956 KB
10 Apr 2024 4.58 AM
root / root
0644
DocXMLRPCServer.pyo
9.85 KB
10 Apr 2024 4.58 AM
root / root
0644
HTMLParser.py
16.769 KB
10 Apr 2024 4.58 AM
root / root
0644
HTMLParser.pyc
13.405 KB
10 Apr 2024 4.58 AM
root / root
0644
HTMLParser.pyo
13.107 KB
10 Apr 2024 4.58 AM
root / root
0644
MimeWriter.py
6.33 KB
10 Apr 2024 4.58 AM
root / root
0644
MimeWriter.pyc
7.191 KB
10 Apr 2024 4.58 AM
root / root
0644
MimeWriter.pyo
7.191 KB
10 Apr 2024 4.58 AM
root / root
0644
Queue.py
8.376 KB
10 Apr 2024 4.58 AM
root / root
0644
Queue.pyc
9.203 KB
10 Apr 2024 4.58 AM
root / root
0644
Queue.pyo
9.203 KB
10 Apr 2024 4.58 AM
root / root
0644
SimpleHTTPServer.py
7.81 KB
10 Apr 2024 4.58 AM
root / root
0644
SimpleHTTPServer.pyc
7.822 KB
10 Apr 2024 4.58 AM
root / root
0644
SimpleHTTPServer.pyo
7.822 KB
10 Apr 2024 4.58 AM
root / root
0644
SimpleXMLRPCServer.py
25.207 KB
10 Apr 2024 4.58 AM
root / root
0644
SimpleXMLRPCServer.pyc
22.327 KB
10 Apr 2024 4.58 AM
root / root
0644
SimpleXMLRPCServer.pyo
22.327 KB
10 Apr 2024 4.58 AM
root / root
0644
SocketServer.py
23.387 KB
10 Apr 2024 4.58 AM
root / root
0644
SocketServer.pyc
23.522 KB
10 Apr 2024 4.58 AM
root / root
0644
SocketServer.pyo
23.522 KB
10 Apr 2024 4.58 AM
root / root
0644
StringIO.py
10.412 KB
10 Apr 2024 4.58 AM
root / root
0644
StringIO.pyc
11.211 KB
10 Apr 2024 4.58 AM
root / root
0644
StringIO.pyo
11.211 KB
10 Apr 2024 4.58 AM
root / root
0644
UserDict.py
6.895 KB
10 Apr 2024 4.58 AM
root / root
0644
UserDict.pyc
9.483 KB
10 Apr 2024 4.58 AM
root / root
0644
UserDict.pyo
9.483 KB
10 Apr 2024 4.58 AM
root / root
0644
UserList.py
3.559 KB
10 Apr 2024 4.58 AM
root / root
0644
UserList.pyc
6.423 KB
10 Apr 2024 4.58 AM
root / root
0644
UserList.pyo
6.423 KB
10 Apr 2024 4.58 AM
root / root
0644
UserString.py
9.46 KB
10 Apr 2024 4.58 AM
root / root
0755
UserString.pyc
14.516 KB
10 Apr 2024 4.58 AM
root / root
0644
UserString.pyo
14.516 KB
10 Apr 2024 4.58 AM
root / root
0644
_LWPCookieJar.py
6.399 KB
10 Apr 2024 4.58 AM
root / root
0644
_LWPCookieJar.pyc
5.307 KB
10 Apr 2024 4.58 AM
root / root
0644
_LWPCookieJar.pyo
5.307 KB
10 Apr 2024 4.58 AM
root / root
0644
_MozillaCookieJar.py
5.661 KB
10 Apr 2024 4.58 AM
root / root
0644
_MozillaCookieJar.pyc
4.356 KB
10 Apr 2024 4.58 AM
root / root
0644
_MozillaCookieJar.pyo
4.318 KB
10 Apr 2024 4.58 AM
root / root
0644
__future__.py
4.277 KB
10 Apr 2024 4.58 AM
root / root
0644
__future__.pyc
4.124 KB
10 Apr 2024 4.58 AM
root / root
0644
__future__.pyo
4.124 KB
10 Apr 2024 4.58 AM
root / root
0644
__phello__.foo.py
0.063 KB
10 Apr 2024 4.58 AM
root / root
0644
__phello__.foo.pyc
0.122 KB
10 Apr 2024 4.58 AM
root / root
0644
__phello__.foo.pyo
0.122 KB
10 Apr 2024 4.58 AM
root / root
0644
_abcoll.py
18.183 KB
10 Apr 2024 4.58 AM
root / root
0644
_abcoll.pyc
25.08 KB
10 Apr 2024 4.58 AM
root / root
0644
_abcoll.pyo
25.08 KB
10 Apr 2024 4.58 AM
root / root
0644
_osx_support.py
18.652 KB
10 Apr 2024 4.58 AM
root / root
0644
_osx_support.pyc
11.482 KB
10 Apr 2024 4.58 AM
root / root
0644
_osx_support.pyo
11.482 KB
10 Apr 2024 4.58 AM
root / root
0644
_pyio.py
67.998 KB
10 Apr 2024 4.58 AM
root / root
0644
_pyio.pyc
63.185 KB
10 Apr 2024 4.58 AM
root / root
0644
_pyio.pyo
63.185 KB
10 Apr 2024 4.58 AM
root / root
0644
_strptime.py
20.242 KB
10 Apr 2024 4.58 AM
root / root
0644
_strptime.pyc
14.816 KB
10 Apr 2024 4.58 AM
root / root
0644
_strptime.pyo
14.816 KB
10 Apr 2024 4.58 AM
root / root
0644
_sysconfigdata.py
19.27 KB
10 Apr 2024 4.58 AM
root / root
0644
_sysconfigdata.pyc
22.43 KB
10 Apr 2024 4.58 AM
root / root
0644
_sysconfigdata.pyo
22.43 KB
10 Apr 2024 4.58 AM
root / root
0644
_threading_local.py
7.09 KB
10 Apr 2024 4.58 AM
root / root
0644
_threading_local.pyc
6.224 KB
10 Apr 2024 4.58 AM
root / root
0644
_threading_local.pyo
6.224 KB
10 Apr 2024 4.58 AM
root / root
0644
_weakrefset.py
5.772 KB
10 Apr 2024 4.58 AM
root / root
0644
_weakrefset.pyc
9.451 KB
10 Apr 2024 4.58 AM
root / root
0644
_weakrefset.pyo
9.451 KB
10 Apr 2024 4.58 AM
root / root
0644
abc.py
6.978 KB
10 Apr 2024 4.58 AM
root / root
0644
abc.pyc
5.999 KB
10 Apr 2024 4.58 AM
root / root
0644
abc.pyo
5.944 KB
10 Apr 2024 4.58 AM
root / root
0644
aifc.py
33.769 KB
10 Apr 2024 4.58 AM
root / root
0644
aifc.pyc
29.745 KB
10 Apr 2024 4.58 AM
root / root
0644
aifc.pyo
29.745 KB
10 Apr 2024 4.58 AM
root / root
0644
antigravity.py
0.059 KB
10 Apr 2024 4.58 AM
root / root
0644
antigravity.pyc
0.198 KB
10 Apr 2024 4.58 AM
root / root
0644
antigravity.pyo
0.198 KB
10 Apr 2024 4.58 AM
root / root
0644
anydbm.py
2.601 KB
10 Apr 2024 4.58 AM
root / root
0644
anydbm.pyc
2.734 KB
10 Apr 2024 4.58 AM
root / root
0644
anydbm.pyo
2.734 KB
10 Apr 2024 4.58 AM
root / root
0644
argparse.py
87.137 KB
10 Apr 2024 4.58 AM
root / root
0644
argparse.pyc
62.858 KB
10 Apr 2024 4.58 AM
root / root
0644
argparse.pyo
62.697 KB
10 Apr 2024 4.58 AM
root / root
0644
ast.py
11.528 KB
10 Apr 2024 4.58 AM
root / root
0644
ast.pyc
12.635 KB
10 Apr 2024 4.58 AM
root / root
0644
ast.pyo
12.635 KB
10 Apr 2024 4.58 AM
root / root
0644
asynchat.py
11.31 KB
10 Apr 2024 4.58 AM
root / root
0644
asynchat.pyc
8.604 KB
10 Apr 2024 4.58 AM
root / root
0644
asynchat.pyo
8.604 KB
10 Apr 2024 4.58 AM
root / root
0644
asyncore.py
20.452 KB
10 Apr 2024 4.58 AM
root / root
0644
asyncore.pyc
18.45 KB
10 Apr 2024 4.58 AM
root / root
0644
asyncore.pyo
18.45 KB
10 Apr 2024 4.58 AM
root / root
0644
atexit.py
1.665 KB
10 Apr 2024 4.58 AM
root / root
0644
atexit.pyc
2.151 KB
10 Apr 2024 4.58 AM
root / root
0644
atexit.pyo
2.151 KB
10 Apr 2024 4.58 AM
root / root
0644
audiodev.py
7.419 KB
10 Apr 2024 4.58 AM
root / root
0644