403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/pythran/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/pythran/__pycache__/syntax.cpython-311.pyc
�

cR�a�*���dZddlmZddlmZddlmZmZmZm	Z	ddl
mZddlZddl
ZddlZddlZejd��ZGd�d	ej��ZGd
�de��ZGd�d
ej��Zd�Zd�Zd�ZdS)z�
This module performs a few early syntax check on the input AST.
It checks the conformance of the input code to Pythran specific
constraints.
�)�MODULES)�Class)�Tuple�List�Set�Dict)�isstrN�pythranc�$��eZdZ�fd�Zd�Z�xZS)�ExtendedDefUseChainsc���tt|�����t��|_||_dS�N)�superr�__init__�dict�unbounds�	ancestors)�selfr�	__class__s  ��0/usr/lib/python3/dist-packages/pythran/syntax.pyrzExtendedDefUseChains.__init__s6���
�"�D�)�)�2�2�4�4�4�����
�"�����c���t|j�|����D]}t|d��rn�|j�|g���|��dS)N�lineno)�reversedr�parents�hasattrr�
setdefault�append)r�name�node�ns    r�unbound_identifierz'ExtendedDefUseChains.unbound_identifiersq���$�.�0�0��6�6�7�7�	�	�A��q�(�#�#�
���
��
� � ��r�*�*�1�1�!�4�4�4�4�4r)�__name__�
__module__�__qualname__rr"�
__classcell__)rs@rrrsG�������#�#�#�#�#�
5�5�5�5�5�5�5rrc��eZdZdd�Zd�ZdS)�PythranSyntaxErrorNc��t�||��|r0t|dd��|_|j|_|j|_dSdS)N�filename)�SyntaxErrorr�getattrr*r�
col_offset�offset)r�msgr s   rrzPythranSyntaxError.__init__#sS�����T�3�'�'�'��	*�#�D�*�d�;�;�D�M��+�D�K��/�D�K�K�K�	*�	*rc��|jr�|jr�|jr�t|j��5}t	|jdz
��D]}|����d�|������d|jzdz��}ddd��n#1swxYwYnd}d�|jpd|j|j|jd��}|�|dz
}||z
}|d	z
}|S)
N�z{}
{}� z
^~~~ (o_0)z{}:{}:{} error: {}
z	<unknown>rz----
z
----
)	r*rr.�open�range�readline�format�rstrip�args)r�f�i�extra�rs     r�__str__zPythranSyntaxError.__str__*sW���=�	�T�[�	�T�[�	��d�m�$�$�
L���t�{�Q��/�/�!�!�A��J�J�L�L�L�L� ����
�
���(;�(;�(=�(=�(+�t�{�(;�l�(J�L�L��
L�
L�
L�
L�
L�
L�
L�
L�
L�
L�
L����
L�
L�
L�
L���E�"�)�)�$�-�*F�;�*.�+�*.�+�*.�)�A�,�
8�
8��
��
��M�A�
��J�A�
��O�A��s�A4B*�*B.�1B.r)r#r$r%rr=�rrr(r("s7������*�*�*�*�����rr(c��eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
SyntaxCheckerz�
    Visit an AST and raise a PythranSyntaxError upon unsupported construct.

    Attributes
    ----------
    attributes : {str}
        Possible attributes from Pythonic modules/submodules.
    c�~���t���_��fd��tj��D]
}�|���dS)z) Gather attributes from MODULES content. c����j�|�����|���D]H}t	|t
��r�|���#t	|t��r�|j���IdS)z< Recursively save Pythonic keywords as possible attributes. N)�
attributes�update�keys�values�
isinstancerr�fields)�module�	signature�save_attributers  ��rrKz.SyntaxChecker.__init__.<locals>.save_attributePs�����O�"�"�6�;�;�=�=�1�1�1�#�]�]�_�_�
5�
5�	��i��.�.�5�"�N�9�-�-�-�-��	�5�1�1�5�"�N�9�#3�4�4�4��	
5�
5rN)�setrCrrF)rrIrKs` @rrzSyntaxChecker.__init__Lsc�����%�%���	5�	5�	5�	5�	5�	5��n�&�&�	#�	#�F��N�6�"�"�"�"�	#�	#rc�h�d}tjtjtjtjf}|jD]Q}t
|tj��rt|j	��r�1t
||��r�Bt||���tj��}|�
|��t|��}|�
|��|j���D]-\}}td�|��|d���|�|��dS)NzUTop level statements can only be assignments, strings,functions, comments, or importszUnbound identifier {}r)�ast�FunctionDef�Import�
ImportFrom�Assign�bodyrG�Exprr	�valuer(�beniget�	Ancestors�visitrr�itemsr6�
generic_visit)	rr �err�	WhiteListr!r�duc�k�vs	         r�visit_ModulezSyntaxChecker.visit_Module\s��1���O�S�Z�����K�	���	-�	-�A��!�S�X�&�&�
�5���>�>�
���!�Y�'�'�
��$�S�!�,�,�,��%�'�'�	��������"�9�-�-���	�	�$�����L�&�&�(�(�	N�	N�D�A�q�$�%<�%C�%C�A�%F�%F��!��M�M�M����4� � � � � rc�"�td|���)Nz!Interactive session not supported�r(�rr s  r�visit_InteractivezSyntaxChecker.visit_Interactivens�� �!D�d�K�K�Krc�"�td|���)Nz%Interactive expressions not supportedrbrcs  r�visit_ExpressionzSyntaxChecker.visit_Expressionq��� �!H�$�O�O�Orc�"�td|���)Nz/Suites are specific to Jython and not supportedrbrcs  r�visit_SuitezSyntaxChecker.visit_Suitets�� �=�t�E�E�	Erc� �td���)NzClasses not supportedrb)r�_s  r�visit_ClassDefzSyntaxChecker.visit_ClassDefxs�� �!8�9�9�9rc�h�|�|��|jrtd|j���dS)Nz+Printing to a specific stream not supported)rZ�destr(rcs  r�visit_PrintzSyntaxChecker.visit_Print{sI�����4� � � ��9�	J�$�=�t�y�J�J�
J�	J�	Jrc�"�td|���)NzWith statements not supportedrbrcs  r�
visit_WithzSyntaxChecker.visit_With�s�� �!@�$�G�G�Grc�"�td|���)Nz&Call with star arguments not supportedrbrcs  r�
visit_StarredzSyntaxChecker.visit_Starred�s�� �!I�!%�'�'�	'rc�4�|j�td|���dS)NzCall with kwargs not supported)�argr(rcs  r�
visit_keywordzSyntaxChecker.visit_keyword�s#���8��$�%E�t�L�L�L��rc�0�|�|��dSr)rZrcs  r�
visit_CallzSyntaxChecker.visit_Call�s�����4� � � � � rc�.�|jtur#t|d��r|g}ng}tdg|�R��t	jt��}t|jt��r.|j|jcxkr|j	ksntd|���dSdS)NrzEllipsis are not supportedzlarge int not supported)
rU�Ellipsisrr(�np�iinfo�intrG�min�max)rr r8r|s    r�visit_ConstantzSyntaxChecker.visit_Constant�s����:��!�!��t�X�&�&�
��v�����$�%A�I�D�I�I�I�I����
�
���d�j�#�&�&�	F��	�T�Z�1=�1=�1=�1=�38�9�1=�1=�1=�1=�$�%>��E�E�E�	F�	F�1=�1=rc���|jrtd|���|jjrtd|���|jjrtd|���|�|��dS)Nzdecorators not supportedzVarargs not supportedzKeyword arguments not supported)�decorator_listr(r8�vararg�kwargrZrcs  r�visit_FunctionDefzSyntaxChecker.visit_FunctionDef�s|����	G�$�%?��F�F�F��9��	D�$�%<�d�C�C�C��9�?�	+�$�%F�%)�+�+�
+����4� � � � � rc�^�|�|��|jrtd|���dS)Nz'Cause in raise statements not supported)rZ�causer(rcs  r�visit_RaisezSyntaxChecker.visit_Raise�sB�����4� � � ��:�	�$�9����
�	�	rc��|�|��|j|jvr(td�|j��|���dS)NzAttribute '{0}' unknown)rZ�attrrCr(r6rcs  r�visit_AttributezSyntaxChecker.visit_Attribute�sU�����4� � � ��9�D�O�+�+�$�)�0�0���;�;����
�,�+rc�"�td|���)Nz@named expression are not supported yet, please open an issue :-)rbrcs  r�visit_NamedExprzSyntaxChecker.visit_NamedExpr�s�� �N����	rc���|jD]Z}t}|j�d��D]6}||vr(t	d�|j��|���||}�7�[dS)z- Check if imported module exists in MODULES. �.�Module '{0}' unknown.N)�namesrr�splitr(r6)rr �alias�current_module�paths     r�visit_ImportzSyntaxChecker.visit_Import�s����Z�		:�		:�E�$�N��
�(�(��-�-�
:�
:���~�-�-�,�/�6�6�u�z�B�B�����&4�D�%9�N�N�

:�		:�		:rc��|jrtd|���|jstd|���|j}t}|�d��D]1}||vr#td�|��|���||}�2|jD]@}|jdkr�|j|vr)td�|j|��|����AdS)a,
            Check validity of imported functions.

            Check:
                - no level specific value are provided.
                - a module is provided
                - module/submodule exists in MODULES
                - imported function exists in the given module/submodule
        zRelative import not supportedzimport from without moduler�r��*z*identifier '{0}' not found in module '{1}'N)�levelr(rIrr�r6r�r)rr rIr�r�r�s      r�visit_ImportFromzSyntaxChecker.visit_ImportFrom�s���:�	L�$�%D�d�K�K�K��{�	I�$�%A�4�H�H�H���� ���L�L��%�%�	6�	6�D��>�)�)�(�+�2�2�6�:�:�����"0��!5����Z�	�	�E��z�S� � ����>�1�1�(�@�G�G��
�� � ��	���2�	�	rc�"�td|���)Nz#'exec' statements are not supportedrbrcs  r�
visit_ExeczSyntaxChecker.visit_Exec�s�� �!F��M�M�Mrc�"�td|���)Nz%'global' statements are not supportedrbrcs  r�visit_GlobalzSyntaxChecker.visit_Global�rgrN)r#r$r%�__doc__rr`rdrfrirlrorqrsrvrxr�r�r�r�r�r�r�r�r�r>rrr@r@Ash��������#�#�#� !�!�!�$L�L�L�P�P�P�E�E�E�:�:�:�J�J�J�H�H�H�'�'�'�M�M�M�!�!�!�
F�
F�
F�!�!�!����������
:�:�:�"�"�"�HN�N�N�P�P�P�P�Prr@c�H�t���|��dS)z7Does nothing but raising PythranSyntaxError when neededN)r@rX)r s r�check_syntaxr��s ���O�O���$�����rc����ddlm}m}m�ddlm}m}m}|j���D]�\}}||}	|D]�}
|�fd�|
D��|����}	|||��||	�����B#|$rXtd�
||	d�tt|jdd����������wxYw��dS)	zh
    Does nothing but raising PythranSyntaxError if specs
    are incompatible with the actual code
    r)�unify�clone�tr)�Function�TypeVariable�InferenceErrorc�&��g|]
}�|����Sr>r>)�.0�pr�s  �r�
<listcomp>zcheck_specs.<locals>.<listcomp>s!��� :� :� :�1���A��� :� :� :rz\Specification for `{}` does not match inferred type:
expected `{}`
got `Callable[[{}], ...]`z, N���)�pythran.types.togr�r�r�r�r�r��	functionsrYr(r6�join�map�str�types)
�specsr�r�r�r�r�r��fname�
signatures�ftyperJ�sig_typer�s
            @r�check_specsr��sM���
3�2�2�2�2�2�2�2�2�2�H�H�H�H�H�H�H�H�H�H�"�_�2�2�4�4�����z��e���#�	�	�I��x� :� :� :� :�	� :� :� :�L�L�N�N�K�K�H�

���e�e�H�o�o�u�u�U�|�|�4�4�4�4��!�
�
�
�(�0�06�����	�	�#�c�8�>�#�2�#�+>�"?�"?�@�@�1B�1B����
����		��s
�!B�ACc
�h�ddlm}d�|jD��}|�||��}|j���D�]i\}}	||}n0#t$r#td�|�����wxYw||}	|D�]}
t|j
j
��}t|
��|kr"td�|�����t|
��|t|j
j��z
kr"td�|�����t|
��D]m\}}
|	|r`t|
ttt t"f��r8t$�d�||
jj�����n����kdS)	za
    Does nothing but raising PythranSyntaxError if specs
    references an undefined global
    r)�ArgumentEffectsc�R�i|]$}t|tj���|j|��%Sr>)rGrNrOr)r�r s  r�
<dictcomp>z!check_exports.<locals>.<dictcomp>s<��;�;�;��"�4���9�9�;�T�Y��;�;�;rz/Invalid spec: exporting undefined function `{}`z&Too many arguments when exporting `{}`z(Not enough arguments when exporting `{}`zvExporting function '{}' that modifies its {} argument. Beware that this argument won't be modified at Python call siteN)�!pythran.analyses.argument_effectsr�rS�gatherr�rY�KeyErrorr(r6�lenr8�defaults�	enumeraterGrrrr�logger�warningrr%)�pm�modr�r��
mod_functions�argument_effectsr�r��fnode�aerJ�
args_countr:�tys              r�
check_exportsr�s���
B�A�A�A�A�A�;�;���;�;�;�M��y�y��#�6�6��"�_�2�2�4�4�����z�	 �!�%�(�E�E���	 �	 �	 �$�A������ � �
 �	 ����
�e�
$��#�	�	�I��U�Z�_�-�-�J��9�~�~�
�*�*�(�<��V�E�]�]�$�$�$��Y���*�s�5�:�3F�/G�/G�"G�G�G�(�>��V�E�]�]�$�$�$�#�9�-�-�
�
���2��a�5��Z��T�5�$��,D�E�E���N�N�8�9?��"��\�6�:8�:8�����
�	��s�A�-B)r��pythran.tablesr�pythran.intrinsicr�pythran.typingrrrr�
pythran.utilsr	rV�gastrN�logging�numpyr{�	getLoggerr��DefUseChainsrr+r(�NodeVisitorr@r�r�r�r>rr�<module>r�sr����#�"�"�"�"�"�#�#�#�#�#�#�1�1�1�1�1�1�1�1�1�1�1�1�����������������������	��	�9�	%�	%��5�5�5�5�5�7�/�5�5�5����������>lP�lP�lP�lP�lP�C�O�lP�lP�lP�^ � � �
���2'�'�'�'�'r

Youez - 2016 - github.com/yon3zu
LinuXploit