| 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 : /usr/lib/python3/dist-packages/pythran/transformations/__pycache__/ |
Upload File : |
�
cR�aB � �R � d Z ddlZddlmZ ddlmZ G d� deej � � ZdS )z-Turns f-strings to format syntax with modulus� N)�Transformation)�PythranSyntaxErrorc � � e Zd ZdZd� ZdS )�RemoveFStringsaj Turns f-strings to format syntax with modulus
>>> import gast as ast
>>> from pythran import passmanager, backend
>>> node = ast.parse("f'a = {1+1:4d}; b = {b:s};'")
>>> pm = passmanager.PassManager("test")
>>> _, node = pm.apply(RemoveFStrings, node)
>>> print(pm.dump(backend.Python, node))
('a = %4d; b = %s;' % ((1 + 1), b))
c � � t |j � � dk r2t |j d t j � � s
|j d S t d� |j D � � � � s|S d}g }|j D ]�}t |t j � � r||j � dd� � z
}�;t |t j � � rQ|dz
}|j �t d|� � �||j j d j z
}|� |j � � ��t �t j
t j |d �� � t j � � t j |t j � � � � � �
� � S )N� r c 3 �J K � | ]}t |t j � � V � �d S )N)�
isinstance�ast�FormattedValue)�.0�values �I/usr/lib/python3/dist-packages/pythran/transformations/remove_fstrings.py� <genexpr>z1RemoveFStrings.visit_JoinedStr.<locals>.<genexpr> s@ � � � �
�
�6;�J�u�c�0�1�1�
�
�
�
�
�
� � �%z%%z0f-strings without format specifier not supported)r �kind)�elts�ctx)�left�op�right)�len�valuesr
r r �any�Constantr �replace�format_specr �append�NotImplementedError�BinOp�Mod�Tuple�Load)�self�node�base_str�elementsr s r �visit_JoinedStrzRemoveFStrings.visit_JoinedStr s� � ��t�{���q� � ���K��N�C�.�*
� *
� � �;�q�>�!��
�
�?C�{�
�
�
�
�
� � �K������[� *� *�E��%���.�.�
*��E�K�/�/��T�:�:�:����E�3�#5�6�6�
*��C����$�,�,�J�E�� � � �E�-�4�Q�7�=�=�������,�,�,�,�)�)��y���H�4�8�8�8��w�y�y��)��s�x�z�z�:�:�:�
�
�
�
r N)�__name__�
__module__�__qualname__�__doc__r* � r r r r s- � � � � � � � �!
� !
� !
� !
� !
r r ) r. �gastr �pythran.passmanagerr �pythran.syntaxr �NodeTransformerr r/ r r �<module>r4 st �� 3� 3� � � � � .� .� .� .� .� .� -� -� -� -� -� -�-
� -
� -
� -
� -
�^�S�%8� -
� -
� -
� -
� -
r