PHP 8.2.30
Preview: pycore_compile.h Size: 3.37 KB
//opt/alt/python312/include/python3.12/internal/pycore_compile.h

#ifndef Py_INTERNAL_COMPILE_H
#define Py_INTERNAL_COMPILE_H
#ifdef __cplusplus
extern "C" {
#endif

#ifndef Py_BUILD_CORE
#  error "this header requires Py_BUILD_CORE define"
#endif

struct _arena;   // Type defined in pycore_pyarena.h
struct _mod;     // Type defined in pycore_ast.h

// Export the symbol for test_peg_generator (built as a library)
PyAPI_FUNC(PyCodeObject*) _PyAST_Compile(
    struct _mod *mod,
    PyObject *filename,
    PyCompilerFlags *flags,
    int optimize,
    struct _arena *arena);

static const _PyCompilerSrcLocation NO_LOCATION = {-1, -1, -1, -1};

typedef struct {
    int optimize;
    int ff_features;

    int recursion_depth;            /* current recursion depth */
    int recursion_limit;            /* recursion limit */
} _PyASTOptimizeState;

extern int _PyAST_Optimize(
    struct _mod *,
    struct _arena *arena,
    _PyASTOptimizeState *state);

typedef struct {
    int h_offset;
    int h_startdepth;
    int h_preserve_lasti;
} _PyCompile_ExceptHandlerInfo;

typedef struct {
    int i_opcode;
    int i_oparg;
    _PyCompilerSrcLocation i_loc;
    _PyCompile_ExceptHandlerInfo i_except_handler_info;
} _PyCompile_Instruction;

typedef struct {
    _PyCompile_Instruction *s_instrs;
    int s_allocated;
    int s_used;

    int *s_labelmap;       /* label id --> instr offset */
    int s_labelmap_size;
    int s_next_free_label; /* next free label id */
} _PyCompile_InstructionSequence;

typedef struct {
    PyObject *u_name;
    PyObject *u_qualname;  /* dot-separated qualified name (lazy) */

    /* The following fields are dicts that map objects to
       the index of them in co_XXX.      The index is used as
       the argument for opcodes that refer to those collections.
    */
    PyObject *u_consts;    /* all constants */
    PyObject *u_names;     /* all names */
    PyObject *u_varnames;  /* local variables */
    PyObject *u_cellvars;  /* cell variables */
    PyObject *u_freevars;  /* free variables */
    PyObject *u_fasthidden; /* dict; keys are names that are fast-locals only
                               temporarily within an inlined comprehension. When
                               value is True, treat as fast-local. */

    Py_ssize_t u_argcount;        /* number of arguments for block */
    Py_ssize_t u_posonlyargcount;        /* number of positional only arguments for block */
    Py_ssize_t u_kwonlyargcount; /* number of keyword only arguments for block */

    int u_firstlineno; /* the first lineno of the block */
} _PyCompile_CodeUnitMetadata;


/* Utility for a number of growing arrays used in the compiler */
int _PyCompile_EnsureArrayLargeEnough(
        int idx,
        void **array,
        int *alloc,
        int default_alloc,
        size_t item_size);

int _PyCompile_ConstCacheMergeOne(PyObject *const_cache, PyObject **obj);

int _PyCompile_InstrSize(int opcode, int oparg);

/* Access compiler internals for unit testing */

PyAPI_FUNC(PyObject*) _PyCompile_CodeGen(
        PyObject *ast,
        PyObject *filename,
        PyCompilerFlags *flags,
        int optimize,
        int compile_mode);

PyAPI_FUNC(PyObject*) _PyCompile_OptimizeCfg(
        PyObject *instructions,
        PyObject *consts,
        int nlocals);

PyAPI_FUNC(PyCodeObject*)
_PyCompile_Assemble(_PyCompile_CodeUnitMetadata *umd, PyObject *filename,
                    PyObject *instructions);

#ifdef __cplusplus
}
#endif
#endif /* !Py_INTERNAL_COMPILE_H */

Directory Contents

Dirs: 0 × Files: 90

Name Size Perms Modified Actions
611 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.96 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
30.55 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.59 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.12 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
16.58 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.38 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.92 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.48 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.31 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.30 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.83 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.14 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.68 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
15.46 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.37 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.84 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.27 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
499 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.23 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.07 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.58 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
562 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
842 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.17 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.72 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.66 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.54 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.52 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
480 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
9.04 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
611 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.48 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.16 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
490 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.53 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.96 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
112.66 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
24.84 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.65 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.19 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.21 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.57 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.93 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.87 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.36 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.93 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.62 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
383 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.16 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
392 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
14.57 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1016 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
26.64 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.04 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
19.61 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.62 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.33 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
606 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.67 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.04 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
709 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.29 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.40 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.97 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.59 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.87 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.03 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
346 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.23 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.77 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
44.68 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.55 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
414 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
937 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
923 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.87 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
999 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
388 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.98 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.42 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.00 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.15 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.62 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
763 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
898 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.59 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
122.57 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
682 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
740 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).