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/site-packages/mako/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/site-packages/mako/__pycache__/pyparser.cpython-38.pyc
U

O��g6�@s�dZddlZddlZddlmZddlmZddlmZddlmZddd	d
hZe�	d�Z
e�e�dd
d�ZGdd�dej
�ZGdd�dej
�ZGdd�dej
�ZGdd�d�ZdS)zyHandles parsing of Python code.

Parsing to AST is done via _ast on Python > 2.5, otherwise the compiler
module is used.
�N)�	_ast_util)�compat)�
exceptions)�util�True�False�None�print�arg�execc
Ksfzt�|d|�WStk
r`}z2tjdt��jjt��|dd�ff|�|�W5d}~XYnXdS)zParse an expression into ASTz	<unknown>z(%s) %s (%r)r�2N)	r�parse�	ExceptionrZSyntaxExceptionrZexception_as�	__class__�__name__)�code�mode�exception_kwargs�e�r�:/opt/cppython/lib/python3.8/site-packages/mako/pyparser.pyr
 s

�����r
c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
e
ZZdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS) �FindIdentifierscKs$d|_d|_t�|_||_||_dS�NF)�in_function�in_assign_targets�set�local_ident_stack�listenerr��selfrrrrr�__init__2s
zFindIdentifiers.__init__cCs&|js|jj�|�n|j�|�dS�N)rr�declared_identifiers�addr)r�namerrr�
_add_declared9szFindIdentifiers._add_declaredcCs|�|j�dSr!)r%r$�r�noderrr�visit_ClassDef?szFindIdentifiers.visit_ClassDefcCs8|�|j�|j}d|_|jD]}|�|�q||_dS�NT)�visit�valuer�targets)rr'Zin_a�nrrr�visit_AssignBs
zFindIdentifiers.visit_AssigncCsF|jdk	r|�|j�|jdk	r,|�|j�|jD]}|�|�q2dSr!)r$r%�typer*�body�rr'Z	statementrrr�visit_ExceptHandlerNs


z#FindIdentifiers.visit_ExceptHandlercGs|�|d�dSr))�_visit_function)rr'�argsrrr�visit_LambdaVszFindIdentifiers.visit_LambdacCs|�|j�|�|d�dSr)r%r$r3r&rrr�visit_FunctionDefYsz!FindIdentifiers.visit_FunctionDefcCs.|jr |jD]}|�|j�qn
|�|�dSr!�r�
generatorsr*�iter�
generic_visit�rr'�comprrr�visit_ListComp]s
zFindIdentifiers.visit_ListCompcCs.|jr |jD]}|�|j�qn
|�|�dSr!r7r;rrr�visit_DictCompfs
zFindIdentifiers.visit_DictCompccs.|D]$}t|tj�r"|jEdHq|VqdSr!)�
isinstance�_ast�Tuple�elts)rr4r
rrr�_expand_tuplesmszFindIdentifiers._expand_tuplescCsj|j}d|_|j}|�dd�|�|jj�D��|_|rD|�|j�n|jD]}|�|�qJ||_||_dS)NTcSsg|]}t|��qSr��arg_id��.0r
rrr�
<listcomp>�sz3FindIdentifiers._visit_function.<locals>.<listcomp>)rr�unionrCr4r*r0)rr'�islambda�infrr-rrrr3ts�
zFindIdentifiers._visit_functioncCsH|�|j�|�|j�|jD]}|�|�q|jD]}|�|�q4dSr!)r*r9�targetr0Zorelser1rrr�	visit_For�s

zFindIdentifiers.visit_ForcCsTt|jtj�r|�|j�n4|jtkrP|j|jjkrP|j|j	krP|jj
�|j�dSr!)r?�ctxr@�Storer%�id�reservedrr"r�undeclared_identifiersr#r&rrr�
visit_Name�s��
�zFindIdentifiers.visit_NamecCs>|jD]2}|jdk	r"|�|j�q|�|j�d�d�qdS)N�.r)�names�asnamer%r$�split�rr'r$rrr�visit_Import�s

zFindIdentifiers.visit_ImportcCsN|jD]B}|jdk	r"|�|j�q|jdkr<tjd|j��q|�|j�qdS)N�*��'import *' is not supported, since all identifier names must be explicitly declared.  Please use the form 'from <modulename> import <name1>, <name2>, ...' instead.)r[)rUrVr%r$rZCompileExceptionrrXrrr�visit_ImportFrom�s


��z FindIdentifiers.visit_ImportFromN)r�
__module__�__qualname__r r%r(r.r2r5r6r=Z
visit_SetCompZvisit_GeneratorExpr>rCr3rMrSrYr\rrrrr1s 
rc@seZdZdd�Zdd�ZdS)�	FindTuplecKs||_||_||_dSr!)rr�code_factory)rrr`rrrrr �szFindTuple.__init__cCst|jD]h}|j|f|j�}|jj�|�|jj�t|����|jj	}|�
|j	�|j_	|jj}|�
|j�|j_qdSr!)rBr`rrZcodeargs�appendr4�ExpressionGeneratorr+r"rIrR)rr'r-�pZldiZluirrr�visit_Tuple�s
��zFindTuple.visit_TupleN)rr]r^r rdrrrrr_�sr_c@seZdZdd�Zdd�ZdS)�	ParseFunccKs||_||_dSr!)rrrrrrr �szParseFunc.__init__cCs�|j|j_dd�|jjD�}|jjr4|�|jjj�dd�|jjD�}|jjr^|�|jjj�||j_	|jj
|j_
||j_|jj|j_
|jj|j_|jj|j_dS)NcSsg|]}t|��qSrrDrFrrrrH�sz/ParseFunc.visit_FunctionDef.<locals>.<listcomp>cSsg|]}t|��qSrrDrFrrrrH�s)r$r�funcnamer4�varargrar
�
kwonlyargs�kwarg�argnames�defaults�
kwargnames�kw_defaults�
kwdefaults�varargs�kwargs)rr'rjrlrrrr6�s
zParseFunc.visit_FunctionDefN)rr]r^r r6rrrrre�srec@seZdZdd�Zdd�ZdS)rbcCst�d�|_|j�|�dS)Nz    )rZSourceGenerator�	generatorr*)rZastnoderrrr �szExpressionGenerator.__init__cCsd�|jj�S)N�)�joinrq�result)rrrrr+�szExpressionGenerator.valueN)rr]r^r r+rrrrrb�srb)r)�__doc__�operatorr@�makorrrrrQ�
attrgetterrEZrestore__astr
�NodeVisitorrr_rerbrrrr�<module>s




F1le Man4ger