PHP 7.4.33
Preview: symtable.h Size: 4.88 KB
/home/godevadmin/public_html/upload_images/home/000~ROOT~000/usr/include/python3.6m/symtable.h

#ifndef Py_LIMITED_API
#ifndef Py_SYMTABLE_H
#define Py_SYMTABLE_H

#ifdef __cplusplus
extern "C" {
#endif

/* XXX(ncoghlan): This is a weird mix of public names and interpreter internal
 *                names.
 */

typedef enum _block_type { FunctionBlock, ClassBlock, ModuleBlock }
    _Py_block_ty;

struct _symtable_entry;

struct symtable {
    PyObject *st_filename;          /* name of file being compiled,
                                       decoded from the filesystem encoding */
    struct _symtable_entry *st_cur; /* current symbol table entry */
    struct _symtable_entry *st_top; /* symbol table entry for module */
    PyObject *st_blocks;            /* dict: map AST node addresses
                                     *       to symbol table entries */
    PyObject *st_stack;             /* list: stack of namespace info */
    PyObject *st_global;            /* borrowed ref to st_top->ste_symbols */
    int st_nblocks;                 /* number of blocks used. kept for
                                       consistency with the corresponding
                                       compiler structure */
    PyObject *st_private;           /* name of current class or NULL */
    PyFutureFeatures *st_future;    /* module's future features that affect
                                       the symbol table */
    int recursion_depth;            /* current recursion depth */
    int recursion_limit;            /* recursion limit */
};

typedef struct _symtable_entry {
    PyObject_HEAD
    PyObject *ste_id;        /* int: key in ste_table->st_blocks */
    PyObject *ste_symbols;   /* dict: variable names to flags */
    PyObject *ste_name;      /* string: name of current block */
    PyObject *ste_varnames;  /* list of function parameters */
    PyObject *ste_children;  /* list of child blocks */
    PyObject *ste_directives;/* locations of global and nonlocal statements */
    _Py_block_ty ste_type;   /* module, class, or function */
    int ste_nested;      /* true if block is nested */
    unsigned ste_free : 1;        /* true if block has free variables */
    unsigned ste_child_free : 1;  /* true if a child block has free vars,
                                     including free refs to globals */
    unsigned ste_generator : 1;   /* true if namespace is a generator */
    unsigned ste_coroutine : 1;   /* true if namespace is a coroutine */
    unsigned ste_varargs : 1;     /* true if block has varargs */
    unsigned ste_varkeywords : 1; /* true if block has varkeywords */
    unsigned ste_returns_value : 1;  /* true if namespace uses return with
                                        an argument */
    unsigned ste_needs_class_closure : 1; /* for class scopes, true if a
                                             closure over __class__
                                             should be created */
    int ste_lineno;          /* first line of block */
    int ste_col_offset;      /* offset of first line of block */
    int ste_opt_lineno;      /* lineno of last exec or import * */
    int ste_opt_col_offset;  /* offset of last exec or import * */
    int ste_tmpname;         /* counter for listcomp temp vars */
    struct symtable *ste_table;
} PySTEntryObject;

PyAPI_DATA(PyTypeObject) PySTEntry_Type;

#define PySTEntry_Check(op) (Py_TYPE(op) == &PySTEntry_Type)

PyAPI_FUNC(int) PyST_GetScope(PySTEntryObject *, PyObject *);

PyAPI_FUNC(struct symtable *) PySymtable_Build(
    mod_ty mod,
    const char *filename,       /* decoded from the filesystem encoding */
    PyFutureFeatures *future);
PyAPI_FUNC(struct symtable *) PySymtable_BuildObject(
    mod_ty mod,
    PyObject *filename,
    PyFutureFeatures *future);
PyAPI_FUNC(PySTEntryObject *) PySymtable_Lookup(struct symtable *, void *);

PyAPI_FUNC(void) PySymtable_Free(struct symtable *);

/* Flags for def-use information */

#define DEF_GLOBAL 1           /* global stmt */
#define DEF_LOCAL 2            /* assignment in code block */
#define DEF_PARAM 2<<1         /* formal parameter */
#define DEF_NONLOCAL 2<<2      /* nonlocal stmt */
#define USE 2<<3               /* name is used */
#define DEF_FREE 2<<4          /* name used but not defined in nested block */
#define DEF_FREE_CLASS 2<<5    /* free variable from class's method */
#define DEF_IMPORT 2<<6        /* assignment occurred via import */
#define DEF_ANNOT 2<<7         /* this name is annotated */

#define DEF_BOUND (DEF_LOCAL | DEF_PARAM | DEF_IMPORT)

/* GLOBAL_EXPLICIT and GLOBAL_IMPLICIT are used internally by the symbol
   table.  GLOBAL is returned from PyST_GetScope() for either of them.
   It is stored in ste_symbols at bits 12-15.
*/
#define SCOPE_OFFSET 11
#define SCOPE_MASK (DEF_GLOBAL | DEF_LOCAL | DEF_PARAM | DEF_NONLOCAL)

#define LOCAL 1
#define GLOBAL_EXPLICIT 2
#define GLOBAL_IMPLICIT 3
#define FREE 4
#define CELL 5

#define GENERATOR 1
#define GENERATOR_EXPRESSION 2

#ifdef __cplusplus
}
#endif
#endif /* !Py_SYMTABLE_H */
#endif /* Py_LIMITED_API */

Directory Contents

Dirs: 0 × Files: 102

Name Size Perms Modified Actions
46.34 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1016 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.18 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
477 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
792 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
264 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
886 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.06 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.17 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.12 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
701 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.32 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.63 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
5.81 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
6.63 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.11 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.76 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
9.19 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.89 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
7.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
458 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
21.94 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
253 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.46 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
597 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.61 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.44 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.68 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.45 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.98 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.50 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.92 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.13 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
513 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
567 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.83 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.67 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
9.60 KB lrw-r--r-- 2025-07-01 22:09:53
Edit Download
803 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.70 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
253 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.76 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
7.15 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.23 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
349 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1007 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
41.21 KB lrw-r--r-- 2025-07-01 22:09:53
Edit Download
13.91 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.26 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.95 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
691 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
291 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.82 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.10 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
253 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.15 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.68 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
7.94 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.69 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
43.58 KB lrw-r--r-- 2025-07-01 22:10:55
Edit Download
162 B lrw-r--r-- 2025-07-01 22:14:40
Edit Download
1.29 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.23 KB lrw-r--r-- 2025-07-01 22:09:53
Edit Download
1.92 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
16.82 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.39 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.27 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
410 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.98 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.92 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.42 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.12 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.36 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
26.93 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
10.88 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
436 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
495 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.45 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
21.75 KB lrw-r--r-- 2018-12-24 02:45:11
Edit Download
3.15 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
6.62 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.92 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
7.43 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.21 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
629 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.25 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.43 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.97 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.32 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.88 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.32 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.90 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.56 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.39 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.20 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
79.86 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.65 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.80 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.33 KB lrw-r--r-- 2025-07-01 22:09:53
Edit Download

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