Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/__pycache__/symtable.cpython-38.opt-2.pyc
U

>��gU�	@sFddlZddlmZmZmZmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZddlZdddddgZdd�ZGd	d
�d
�Ze�ZGdd�d�ZGdd�de�ZGd
d�de�ZGdd�d�Zedk�rBddlZddlZeejd��Ze��Z W5QRXee ej!�"ejd�dd�Z#e#�$�D]$Z%e#�&e%�Z'e(e'e'�)�e'�*���qdS)�N)�USE�
DEF_GLOBAL�DEF_NONLOCAL�	DEF_LOCAL�	DEF_PARAM�
DEF_IMPORT�	DEF_BOUND�	DEF_ANNOT�	SCOPE_OFF�
SCOPE_MASK�FREE�LOCAL�GLOBAL_IMPLICIT�GLOBAL_EXPLICIT�CELL�symtable�SymbolTable�Class�Function�SymbolcCst�|||�}t||�S�N)�	_symtabler�_newSymbolTable)�code�filenameZcompile_type�top�r�'/opt/cppython/lib/python3.8/symtable.pyrsc@s$eZdZdd�Zdd�Zdd�ZdS)�SymbolTableFactorycCst��|_dSr)�weakref�WeakValueDictionary�_SymbolTableFactory__memo��selfrrr�__init__szSymbolTableFactory.__init__cCs6|jtjkrt||�S|jtjkr,t||�St||�Sr)�typer�
TYPE_FUNCTIONr�
TYPE_CLASSrr)r#�tablerrrr�news


zSymbolTableFactory.newcCs8||f}|j�|d�}|dkr4|�||�}|j|<|Sr)r!�getr))r#r(r�key�objrrr�__call__s
zSymbolTableFactory.__call__N)�__name__�
__module__�__qualname__r$r)r-rrrrrsrc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS) rcCs||_||_i|_dSr)�_table�	_filename�_symbols)r#Z	raw_tablerrrrr$'szSymbolTable.__init__cCsN|jtkrd}nd|jj}|jjdkr6d�||j�Sd�||jj|j�SdS)N�z%s rz<{0}SymbolTable for module {1}>z<{0}SymbolTable for {1} in {2}>)�	__class__rr.r1�name�formatr2)r#�kindrrr�__repr__,s
�zSymbolTable.__repr__cCs:|jjtjkrdS|jjtjkr$dS|jjtjkr6dSdS)N�module�function�class)r1r%rZTYPE_MODULEr&r'r"rrr�get_type9szSymbolTable.get_typecCs|jjSr)r1�idr"rrr�get_idCszSymbolTable.get_idcCs|jjSr)r1r6r"rrr�get_nameFszSymbolTable.get_namecCs|jjSr)r1�linenor"rrr�
get_linenoIszSymbolTable.get_linenocCst|jjtjk�Sr)�boolr1r%rr&r"rrr�is_optimizedLszSymbolTable.is_optimizedcCst|jj�Sr)rCr1�nestedr"rrr�	is_nestedOszSymbolTable.is_nestedcCst|jj�Sr)rCr1�childrenr"rrr�has_childrenRszSymbolTable.has_childrencCsdS)NFrr"rrr�has_execUszSymbolTable.has_execcCs|jj��Sr)r1�symbols�keysr"rrr�get_identifiersYszSymbolTable.get_identifierscCsT|j�|�}|dkrP|jj|}|�|�}|jjdk}t||||d�}|j|<|S)Nr��module_scope)r3r*r1rJ�_SymbolTable__check_childrenr6r)r#r6Zsym�flags�
namespacesrNrrr�lookup\s
�zSymbolTable.lookupcs�fdd����D�S)Ncsg|]}��|��qSr)rR��.0�identr"rr�
<listcomp>gsz+SymbolTable.get_symbols.<locals>.<listcomp>)rLr"rr"r�get_symbolsfszSymbolTable.get_symbolscs��fdd��jjD�S)Ncs"g|]}|j�krt|�j��qSr)r6rr2�rT�st�r6r#rrrVjs
�z0SymbolTable.__check_children.<locals>.<listcomp>�r1rG)r#r6rrZrZ__check_childrenis�zSymbolTable.__check_childrencs�fdd��jjD�S)Ncsg|]}t|�j��qSr)rr2rXr"rrrVos�z,SymbolTable.get_children.<locals>.<listcomp>r[r"rr"r�get_childrenns
�zSymbolTable.get_childrenN)r.r/r0r$r9r=r?r@rBrDrFrHrIrLrRrWrOr\rrrrr%s


c@sPeZdZdZdZdZdZdZdd�Zdd�Z	dd�Z
dd	�Zd
d�Zdd
�Z
dS)rNcst��fdd����D��S)Nc3s"|]}��jj|�r|VqdSr)r1rJrS�r#Z	test_funcrr�	<genexpr>}s�z-Function.__idents_matching.<locals>.<genexpr>)�tuplerLr]rr]rZ__idents_matching|szFunction.__idents_matchingcCs |jdkr|�dd��|_|jS)NcSs|t@Sr)r��xrrr�<lambda>��z)Function.get_parameters.<locals>.<lambda>)�_Function__params�_Function__idents_matchingr"rrr�get_parameters�s
zFunction.get_parameterscs0|jdkr*ttf��fdd�}|�|�|_|jS)Ncs|t?t@�kSr�r
rr`�Zlocsrrrb�rcz%Function.get_locals.<locals>.<lambda>)�_Function__localsr
rre�r#�testrrhr�
get_locals�s

zFunction.get_localscs0|jdkr*ttf��fdd�}|�|�|_|jS)Ncs|t?t@�kSrrgr`�Zglobrrrb�rcz&Function.get_globals.<locals>.<lambda>)�_Function__globalsrrrerjrrmr�get_globals�s

zFunction.get_globalscCs |jdkr|�dd��|_|jS)NcSs|t@Sr)rr`rrrrb�rcz(Function.get_nonlocals.<locals>.<lambda>)�_Function__nonlocalsrer"rrr�
get_nonlocals�s
zFunction.get_nonlocalscCs$|jdkrdd�}|�|�|_|jS)NcSs|t?t@tkSr)r
rrr`rrrrb�rcz$Function.get_frees.<locals>.<lambda>)�_Function__freesre)r#�is_freerrr�	get_frees�s
zFunction.get_frees)r.r/r0rdrirrrnrprerfrlrorqrtrrrrrssc@seZdZdZdd�ZdS)rNcCs6|jdkr0i}|jjD]}d||j<qt|�|_|jS)N�)�_Class__methodsr1rGr6r_)r#�drYrrr�get_methods�s

zClass.get_methods)r.r/r0rvrxrrrrr�sc@s�eZdZd$dd�dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd d!�Zd"d#�ZdS)%rNFrMcCs.||_||_|t?t@|_|p d|_||_dS)Nr)�
_Symbol__name�_Symbol__flagsr
r�_Symbol__scope�_Symbol__namespaces�_Symbol__module_scope)r#r6rPrQrNrrrr$�s

zSymbol.__init__cCsd�|j�S)Nz<symbol {0!r}>)r7ryr"rrrr9�szSymbol.__repr__cCs|jSr)ryr"rrrr@�szSymbol.get_namecCst|jtj@�Sr)rCrzrrr"rrr�
is_referenced�szSymbol.is_referencedcCst|jt@�Sr)rCrzrr"rrr�is_parameter�szSymbol.is_parametercCs"t|jttfkp|jo|jt@�Sr)rCr{rrr}rzrr"rrr�	is_global�s�zSymbol.is_globalcCst|jt@�Sr)rCrzrr"rrr�is_nonlocal�szSymbol.is_nonlocalcCst|jtk�Sr)rCr{rr"rrr�is_declared_global�szSymbol.is_declared_globalcCs"t|jttfkp|jo|jt@�Sr)rCr{r
rr}rzrr"rrr�is_local�s�zSymbol.is_localcCst|jt@�Sr)rCrzr	r"rrr�is_annotated�szSymbol.is_annotatedcCst|jtk�Sr)rCr{rr"rrrrs�szSymbol.is_freecCst|jt@�Sr)rCrzrr"rrr�is_imported�szSymbol.is_importedcCst|jt@�Sr)rCrzrr"rrr�is_assigned�szSymbol.is_assignedcCs
t|j�Sr)rCr|r"rrr�is_namespace�szSymbol.is_namespacecCs|jSr)r|r"rrr�get_namespaces�szSymbol.get_namespacescCs t|j�dkrtd��|jdS)Nruz$name is bound to multiple namespacesr)�lenr|�
ValueErrorr"rrr�
get_namespace�szSymbol.get_namespace)N)r.r/r0r$r9r@r~rr�r�r�r�r�rsr�r�r�r�r�rrrrr�s 
�__main__ru�exec)+rrrrrrrrr	r
rrr
rrrr�__all__rrrrrrrr.�os�sys�open�argv�f�read�src�path�split�modrLrUrR�info�printr�r�rrrr�<module>s$DN,
M



F1le Man4ger