🐐 GOAT Shell
Current path:
opt
/
alt
/
python33
/
include
/
python3.3m
/
👤 Create WP Admin
⬆️
Go up: include
✏️ Editing: 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 { const char *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 */ _Py_block_ty ste_type; /* module, class, or function */ int ste_unoptimized; /* false if namespace is optimized */ 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_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 */ 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(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_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 /* The following two names are used for the ste_unoptimized bit field */ #define OPT_IMPORT_STAR 1 #define OPT_TOPLEVEL 2 /* top-level names, including eval and exec */ #define GENERATOR 1 #define GENERATOR_EXPRESSION 2 #ifdef __cplusplus } #endif #endif /* !Py_SYMTABLE_H */ #endif /* Py_LIMITED_API */
Save
📄
abstract.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
accu.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
asdl.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ast.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bitset.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bltinmodule.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
boolobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bytearrayobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bytesobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bytes_methods.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cellobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ceval.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
classobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
code.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
codecs.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
compile.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
complexobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
datetime.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
descrobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dictobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dtoa.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dynamic_annotations.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
enumobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
errcode.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
eval.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fileobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fileutils.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
floatobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
frameobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
funcobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
genobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
graminit.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
grammar.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
import.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
intrcheck.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
iterobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
listobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
longintrepr.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
longobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
marshal.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
memoryobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
metagrammar.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
methodobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
modsupport.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
moduleobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
namespaceobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
node.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
object.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
objimpl.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
opcode.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
osdefs.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
parsetok.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
patchlevel.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pgen.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pgenheaders.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyarena.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyatomic.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pycapsule.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyconfig-64.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyconfig.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyctype.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pydebug.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyerrors.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyexpat.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyfpe.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pygetopt.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pymacconfig.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pymacro.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pymath.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pymem.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyport.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pystate.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pystrcmp.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pystrtod.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
Python-ast.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
Python.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pythonrun.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pythread.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pytime.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
py_curses.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rangeobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
setobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sliceobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
structmember.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
structseq.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
symtable.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sysmodule.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
token.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
traceback.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tupleobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
typeslots.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ucnhash.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
unicodeobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
warnings.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
weakrefobject.h
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📤 Upload File
Upload
📁 Create Folder
Create Folder