Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python313/lib64/python3.13/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python313/lib64/python3.13/codeop.py
r"""Utilities to compile possibly incomplete Python source code.

This module provides two interfaces, broadly similar to the builtin
function compile(), which take program text, a filename and a 'mode'
and:

- Return code object if the command is complete and valid
- Return None if the command is incomplete
- Raise SyntaxError, ValueError or OverflowError if the command is a
  syntax error (OverflowError and ValueError can be produced by
  malformed literals).

The two interfaces are:

compile_command(source, filename, symbol):

    Compiles a single command in the manner described above.

CommandCompiler():

    Instances of this class have __call__ methods identical in
    signature to compile_command; the difference is that if the
    instance compiles program text containing a __future__ statement,
    the instance 'remembers' and compiles all subsequent program texts
    with the statement in force.

The module also provides another class:

Compile():

    Instances of this class act like the built-in function compile,
    but with 'memory' in the sense described above.
"""

import __future__
import warnings

_features = [getattr(__future__, fname)
             for fname in __future__.all_feature_names]

__all__ = ["compile_command", "Compile", "CommandCompiler"]

# The following flags match the values from Include/cpython/compile.h
# Caveat emptor: These flags are undocumented on purpose and depending
# on their effect outside the standard library is **unsupported**.
PyCF_DONT_IMPLY_DEDENT = 0x200
PyCF_ONLY_AST = 0x400
PyCF_ALLOW_INCOMPLETE_INPUT = 0x4000

def _maybe_compile(compiler, source, filename, symbol):
    # Check for source consisting of only blank lines and comments.
    for line in source.split("\n"):
        line = line.strip()
        if line and line[0] != '#':
            break               # Leave it alone.
    else:
        if symbol != "eval":
            source = "pass"     # Replace it with a 'pass' statement

    # Disable compiler warnings when checking for incomplete input.
    with warnings.catch_warnings():
        warnings.simplefilter("ignore", (SyntaxWarning, DeprecationWarning))
        try:
            compiler(source, filename, symbol)
        except SyntaxError:  # Let other compile() errors propagate.
            try:
                compiler(source + "\n", filename, symbol)
                return None
            except _IncompleteInputError as e:
                return None
            except SyntaxError as e:
                pass
                # fallthrough

    return compiler(source, filename, symbol, incomplete_input=False)

def _compile(source, filename, symbol, incomplete_input=True):
    flags = 0
    if incomplete_input:
        flags |= PyCF_ALLOW_INCOMPLETE_INPUT
        flags |= PyCF_DONT_IMPLY_DEDENT
    return compile(source, filename, symbol, flags)

def compile_command(source, filename="<input>", symbol="single"):
    r"""Compile a command and determine whether it is incomplete.

    Arguments:

    source -- the source string; may contain \n characters
    filename -- optional filename from which source was read; default
                "<input>"
    symbol -- optional grammar start symbol; "single" (default), "exec"
              or "eval"

    Return value / exceptions raised:

    - Return a code object if the command is complete and valid
    - Return None if the command is incomplete
    - Raise SyntaxError, ValueError or OverflowError if the command is a
      syntax error (OverflowError and ValueError can be produced by
      malformed literals).
    """
    return _maybe_compile(_compile, source, filename, symbol)

class Compile:
    """Instances of this class behave much like the built-in compile
    function, but if one is used to compile text containing a future
    statement, it "remembers" and compiles all subsequent program texts
    with the statement in force."""
    def __init__(self):
        self.flags = PyCF_DONT_IMPLY_DEDENT | PyCF_ALLOW_INCOMPLETE_INPUT

    def __call__(self, source, filename, symbol, flags=0, **kwargs):
        flags |= self.flags
        if kwargs.get('incomplete_input', True) is False:
            flags &= ~PyCF_DONT_IMPLY_DEDENT
            flags &= ~PyCF_ALLOW_INCOMPLETE_INPUT
        codeob = compile(source, filename, symbol, flags, True)
        if flags & PyCF_ONLY_AST:
            return codeob  # this is an ast.Module in this case
        for feature in _features:
            if codeob.co_flags & feature.compiler_flag:
                self.flags |= feature.compiler_flag
        return codeob

class CommandCompiler:
    """Instances of this class have __call__ methods identical in
    signature to compile_command; the difference is that if the
    instance compiles program text containing a __future__ statement,
    the instance 'remembers' and compiles all subsequent program texts
    with the statement in force."""

    def __init__(self,):
        self.compiler = Compile()

    def __call__(self, source, filename="<input>", symbol="single"):
        r"""Compile a command and determine whether it is incomplete.

        Arguments:

        source -- the source string; may contain \n characters
        filename -- optional filename from which source was read;
                    default "<input>"
        symbol -- optional grammar start symbol; "single" (default) or
                  "eval"

        Return value / exceptions raised:

        - Return a code object if the command is complete and valid
        - Return None if the command is incomplete
        - Raise SyntaxError, ValueError or OverflowError if the command is a
          syntax error (OverflowError and ValueError can be produced by
          malformed literals).
        """
        return _maybe_compile(self.compiler, source, filename, symbol)
Name
Size
Permissions
Options
__pycache__
--
drwxr-xr-x
_pyrepl
--
drwxr-xr-x
asyncio
--
drwxr-xr-x
collections
--
drwxr-xr-x
concurrent
--
drwxr-xr-x
config-3.13-x86_64-linux-gnu
--
drwxr-xr-x
ctypes
--
drwxr-xr-x
curses
--
drwxr-xr-x
dbm
--
drwxr-xr-x
email
--
drwxr-xr-x
encodings
--
drwxr-xr-x
ensurepip
--
drwxr-xr-x
html
--
drwxr-xr-x
http
--
drwxr-xr-x
importlib
--
drwxr-xr-x
json
--
drwxr-xr-x
lib-dynload
--
drwxr-xr-x
logging
--
drwxr-xr-x
multiprocessing
--
drwxr-xr-x
pathlib
--
drwxr-xr-x
pydoc_data
--
drwxr-xr-x
re
--
drwxr-xr-x
site-packages
--
drwxr-xr-x
sqlite3
--
drwxr-xr-x
sysconfig
--
drwxr-xr-x
tomllib
--
drwxr-xr-x
unittest
--
drwxr-xr-x
urllib
--
drwxr-xr-x
venv
--
drwxr-xr-x
wsgiref
--
drwxr-xr-x
xml
--
drwxr-xr-x
xmlrpc
--
drwxr-xr-x
zipfile
--
drwxr-xr-x
zoneinfo
--
drwxr-xr-x
LICENSE.txt
13.485 KB
-rw-r--r--
__future__.py
5.096 KB
-rw-r--r--
__hello__.py
0.222 KB
-rw-r--r--
_aix_support.py
3.927 KB
-rw-r--r--
_android_support.py
6.733 KB
-rw-r--r--
_apple_support.py
2.203 KB
-rw-r--r--
_collections_abc.py
31.508 KB
-rw-r--r--
_colorize.py
2.781 KB
-rw-r--r--
_compat_pickle.py
8.53 KB
-rw-r--r--
_compression.py
5.548 KB
-rw-r--r--
_ios_support.py
2.609 KB
-rw-r--r--
_markupbase.py
14.31 KB
-rw-r--r--
_opcode_metadata.py
9.048 KB
-rw-r--r--
_osx_support.py
21.507 KB
-rw-r--r--
_py_abc.py
6.044 KB
-rw-r--r--
_pydatetime.py
89.834 KB
-rw-r--r--
_pydecimal.py
221.956 KB
-rw-r--r--
_pyio.py
91.497 KB
-rw-r--r--
_pylong.py
11.553 KB
-rw-r--r--
_sitebuiltins.py
3.055 KB
-rw-r--r--
_strptime.py
28.694 KB
-rw-r--r--
_sysconfigdata__linux_x86_64-linux-gnu.py
65.726 KB
-rw-r--r--
_sysconfigdata_d_linux_x86_64-linux-gnu.py
65.708 KB
-rw-r--r--
_threading_local.py
4.261 KB
-rw-r--r--
_weakrefset.py
5.755 KB
-rw-r--r--
abc.py
6.385 KB
-rw-r--r--
antigravity.py
0.488 KB
-rw-r--r--
argparse.py
99.278 KB
-rw-r--r--
ast.py
63.808 KB
-rw-r--r--
base64.py
21.136 KB
-rwxr-xr-x
bdb.py
34.515 KB
-rw-r--r--
bisect.py
3.343 KB
-rw-r--r--
bz2.py
11.688 KB
-rw-r--r--
cProfile.py
6.481 KB
-rwxr-xr-x
calendar.py
25.466 KB
-rw-r--r--
cmd.py
14.957 KB
-rw-r--r--
code.py
12.861 KB
-rw-r--r--
codecs.py
36.063 KB
-rw-r--r--
codeop.py
5.691 KB
-rw-r--r--
colorsys.py
3.967 KB
-rw-r--r--
compileall.py
20.181 KB
-rw-r--r--
configparser.py
52.569 KB
-rw-r--r--
contextlib.py
27.149 KB
-rw-r--r--
contextvars.py
0.126 KB
-rw-r--r--
copy.py
8.765 KB
-rw-r--r--
copyreg.py
7.436 KB
-rw-r--r--
csv.py
18.729 KB
-rw-r--r--
dataclasses.py
63.032 KB
-rw-r--r--
datetime.py
0.262 KB
-rw-r--r--
decimal.py
2.732 KB
-rw-r--r--
difflib.py
81.414 KB
-rw-r--r--
dis.py
40.002 KB
-rw-r--r--
doctest.py
106.771 KB
-rw-r--r--
enum.py
83.572 KB
-rw-r--r--
filecmp.py
10.402 KB
-rw-r--r--
fileinput.py
15.349 KB
-rw-r--r--
fnmatch.py
6.035 KB
-rw-r--r--
fractions.py
39.083 KB
-rw-r--r--
ftplib.py
33.921 KB
-rw-r--r--
functools.py
38.206 KB
-rw-r--r--
genericpath.py
6.101 KB
-rw-r--r--
getopt.py
7.313 KB
-rw-r--r--
getpass.py
6.087 KB
-rw-r--r--
gettext.py
21.029 KB
-rw-r--r--
glob.py
19.258 KB
-rw-r--r--
graphlib.py
9.422 KB
-rw-r--r--
gzip.py
24.056 KB
-rw-r--r--
hashlib.py
9.225 KB
-rw-r--r--
heapq.py
22.484 KB
-rw-r--r--
hmac.py
7.535 KB
-rw-r--r--
imaplib.py
52.773 KB
-rw-r--r--
inspect.py
125.27 KB
-rw-r--r--
io.py
3.498 KB
-rw-r--r--
ipaddress.py
79.722 KB
-rw-r--r--
keyword.py
1.048 KB
-rw-r--r--
linecache.py
7.113 KB
-rw-r--r--
locale.py
77.181 KB
-rw-r--r--
lzma.py
13.085 KB
-rw-r--r--
mailbox.py
79.73 KB
-rw-r--r--
mimetypes.py
23.292 KB
-rw-r--r--
modulefinder.py
23.234 KB
-rw-r--r--
netrc.py
6.76 KB
-rw-r--r--
ntpath.py
32.037 KB
-rw-r--r--
nturl2path.py
2.318 KB
-rw-r--r--
numbers.py
11.198 KB
-rw-r--r--
opcode.py
2.759 KB
-rw-r--r--
operator.py
10.723 KB
-rw-r--r--
optparse.py
58.954 KB
-rw-r--r--
os.py
40.659 KB
-rw-r--r--
pdb.py
88.807 KB
-rwxr-xr-x
pickle.py
65.388 KB
-rw-r--r--
pickletools.py
91.848 KB
-rw-r--r--
pkgutil.py
17.853 KB
-rw-r--r--
platform.py
46.249 KB
-rwxr-xr-x
plistlib.py
29.096 KB
-rw-r--r--
poplib.py
14.262 KB
-rw-r--r--
posixpath.py
17.93 KB
-rw-r--r--
pprint.py
23.592 KB
-rw-r--r--
profile.py
22.61 KB
-rwxr-xr-x
pstats.py
28.609 KB
-rw-r--r--
pty.py
5.993 KB
-rw-r--r--
py_compile.py
7.653 KB
-rw-r--r--
pyclbr.py
11.129 KB
-rw-r--r--
pydoc.py
107.498 KB
-rwxr-xr-x
queue.py
13.165 KB
-rw-r--r--
quopri.py
7.028 KB
-rwxr-xr-x
random.py
36.139 KB
-rw-r--r--
reprlib.py
7.023 KB
-rw-r--r--
rlcompleter.py
7.732 KB
-rw-r--r--
runpy.py
12.583 KB
-rw-r--r--
sched.py
6.202 KB
-rw-r--r--
secrets.py
1.938 KB
-rw-r--r--
selectors.py
19.001 KB
-rw-r--r--
shelve.py
8.604 KB
-rw-r--r--
shlex.py
13.04 KB
-rw-r--r--
shutil.py
56.116 KB
-rw-r--r--
signal.py
2.437 KB
-rw-r--r--
site.py
24.969 KB
-rw-r--r--
smtplib.py
42.524 KB
-rwxr-xr-x
socket.py
36.874 KB
-rw-r--r--
socketserver.py
27.407 KB
-rw-r--r--
sre_compile.py
0.226 KB
-rw-r--r--
sre_constants.py
0.227 KB
-rw-r--r--
sre_parse.py
0.224 KB
-rw-r--r--
ssl.py
51.471 KB
-rw-r--r--
stat.py
6.003 KB
-rw-r--r--
statistics.py
60.382 KB
-rw-r--r--
string.py
11.51 KB
-rw-r--r--
stringprep.py
12.614 KB
-rw-r--r--
struct.py
0.251 KB
-rw-r--r--
subprocess.py
87.389 KB
-rw-r--r--
symtable.py
13.874 KB
-rw-r--r--
tabnanny.py
11.274 KB
-rwxr-xr-x
tarfile.py
111.421 KB
-rwxr-xr-x
tempfile.py
31.607 KB
-rw-r--r--
textwrap.py
19.472 KB
-rw-r--r--
this.py
0.979 KB
-rw-r--r--
threading.py
53.949 KB
-rw-r--r--
timeit.py
13.161 KB
-rwxr-xr-x
token.py
2.431 KB
-rw-r--r--
tokenize.py
21.063 KB
-rw-r--r--
trace.py
29.031 KB
-rwxr-xr-x
traceback.py
64.965 KB
-rw-r--r--
tracemalloc.py
17.624 KB
-rw-r--r--
tty.py
1.987 KB
-rw-r--r--
types.py
10.944 KB
-rw-r--r--
typing.py
129.607 KB
-rw-r--r--
uuid.py
28.458 KB
-rw-r--r--
warnings.py
26.316 KB
-rw-r--r--
wave.py
22.691 KB
-rw-r--r--
weakref.py
21.009 KB
-rw-r--r--
webbrowser.py
23.729 KB
-rwxr-xr-x
zipapp.py
8.416 KB
-rw-r--r--
zipimport.py
32.119 KB
-rw-r--r--