%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python37/lib/python3.7/site-packages/mako/__pycache__/
Upload File :
Create Path :
Current File : //opt/alt/python37/lib/python3.7/site-packages/mako/__pycache__/pyparser.cpython-37.pyc

B

�C]m�@s�dZddlZddlZddlmZddlmZddlmZddlmZddlm	Z	ej
rredd	d
dg�Ze�
d�Znedd	d
g�Ze�
d
�Ze�e�ddd�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�de�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)�arg_stringname�True�False�None�print�arg�id�execc
KsTyt�|d|�Stk
rNtjdt��jjt��|dd�ff|��YnXdS)zParse an expression into ASTz	<unknown>z(%s) %s (%r)r�2N)	r�parse�	ExceptionrZSyntaxExceptionrZexception_as�	__class__�__name__)�code�mode�exception_kwargs�r�>/opt/alt/python37/lib/python3.7/site-packages/mako/pyparser.pyr)s
rc@szeZdZdd�Zdd�Zdd�Zdd�Zejr6d	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)�FindIdentifierscKs$d|_d|_t�|_||_||_dS)NF)�in_function�in_assign_targets�set�local_ident_stack�listenerr)�selfrrrrr�__init__;s
zFindIdentifiers.__init__cCs&|js|jj�|�n|j�|�dS)N)rr�declared_identifiers�addr)r�namerrr�
_add_declaredBszFindIdentifiers._add_declaredcCs|�|j�dS)N)r#r")r�noderrr�visit_ClassDefHszFindIdentifiers.visit_ClassDefcCs<|�|j�|j}d|_x|jD]}|�|�q W||_dS)NT)�visit�valuer�targets)rr$Zin_a�nrrr�visit_AssignKszFindIdentifiers.visit_AssigncCsJ|jdk	r|�|j�|jdk	r,|�|j�x|jD]}|�|�q4WdS)N)r"r#�typer&�body)rr$�	statementrrr�visit_ExceptHandler]s

z#FindIdentifiers.visit_ExceptHandlercGs|�|d�dS)NT)�_visit_function)rr$�argsrrr�visit_LambdaeszFindIdentifiers.visit_LambdacCs|�|j�|�|d�dS)NF)r#r"r/)rr$rrr�visit_FunctionDefhsz!FindIdentifiers.visit_FunctionDefccs<x6|D].}t|tj�r.x|jD]
}|VqWq|VqWdS)N)�
isinstance�_astZTuple�elts)rr0rr)rrr�_expand_tuplesls

zFindIdentifiers._expand_tuplescCsn|j}d|_|j}|�dd�|�|jj�D��|_|rD|�|j�nx|jD]}|�|�qLW||_||_dS)NTcSsg|]}t|��qSr)�arg_id)�.0rrrr�
<listcomp>�sz3FindIdentifiers._visit_function.<locals>.<listcomp>)rr�unionr6r0r&r,)rr$�islambda�infrr)rrrr/tszFindIdentifiers._visit_functioncCsP|�|j�|�|j�x|jD]}|�|�q Wx|jD]}|�|�q:WdS)N)r&�iter�targetr,Zorelse)rr$r-rrr�	visit_For�szFindIdentifiers.visit_ForcCsTt|jtj�r|�|j�n4|jtkrP|j|jjkrP|j|j	krP|jj
�|j�dS)N)r3�ctxr4ZStorer#r�reservedrr r�undeclared_identifiersr!)rr$rrr�
visit_Name�s
zFindIdentifiers.visit_NamecCsBx<|jD]2}|jdk	r$|�|j�q|�|j�d�d�qWdS)N�.r)�names�asnamer#r"�split)rr$r"rrr�visit_Import�s
zFindIdentifiers.visit_ImportcCsPxJ|jD]@}|jdk	r$|�|j�q|jdkr<tjd|j��|�|j�qWdS)N�*��'import *' is not supported, since all identifier names must be explicitly declared.  Please use the form 'from <modulename> import <name1>, <name2>, ...' instead.)rJ)rErFr#r"rZCompileExceptionr)rr$r"rrr�visit_ImportFrom�s

z FindIdentifiers.visit_ImportFromN)r�
__module__�__qualname__rr#r%r*r�py3kr.r1r2r6r/r?rCrHrKrrrrr:s
rc@seZdZdd�Zdd�ZdS)�	FindTuplecKs||_||_||_dS)N)rr�code_factory)rrrPrrrrr�szFindTuple.__init__cCsxxr|jD]h}|j|f|j�}|jj�|�|jj�t|����|jj	}|�
|j	�|j_	|jj}|�
|j�|j_qWdS)N)r5rPrrZcodeargs�appendr0�ExpressionGeneratorr'r r:rB)rr$r)�pZldiZluirrr�visit_Tuple�szFindTuple.visit_TupleN)rrLrMrrTrrrrrO�srOc@seZdZdd�Zdd�ZdS)�	ParseFunccKs||_||_dS)N)rr)rrrrrrr�szParseFunc.__init__cCs�|j|j_dd�|jjD�}|jjr6|�t|jj��tjrBg}ndd�|jj	D�}|jj
rn|�t|jj
��||j_|jj|j_||j_
tjr�g|j_n|jj|j_|jj|j_|jj
|j_dS)NcSsg|]}t|��qSr)r7)r8rrrrr9�sz/ParseFunc.visit_FunctionDef.<locals>.<listcomp>cSsg|]}t|��qSr)r7)r8rrrrr9�s)r"r�funcnamer0�varargrQrrZpy2k�
kwonlyargs�kwarg�argnames�defaults�
kwargnames�
kwdefaults�kw_defaults�varargs�kwargs)rr$rZr\rrrr2�s"

zParseFunc.visit_FunctionDefN)rrLrMrr2rrrrrU�srUc@seZdZdd�Zdd�ZdS)rRcCst�d�|_|j�|�dS)Nz    )rZSourceGenerator�	generatorr&)rZastnoderrrr�szExpressionGenerator.__init__cCsd�|jj�S)N�)�joinra�result)rrrrr'�szExpressionGenerator.valueN)rrLrMrr'rrrrrR�srR)r
)�__doc__�operatorr4�makorrrrZmako.compatrrNrrA�
attrgetterr7Zrestore__astrZNodeVisitorrrOrU�objectrRrrrr�<module>s$




Zerion Mini Shell 1.0