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__/cxxgen.cpython-311.pyc
�

cR�axX���dZddlmZddlmZddlmZdZGd�de��Z	Gd�d	e��Z
Gd
�de
��ZGd�d
e
��ZGd�de��Z
Gd�de
��ZGd�de��ZGd�de
��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd �d!e��ZGd"�d#e��ZGd$�d%e��ZGd&�d'e��ZGd(�d)e��ZGd*�d+e��ZGd,�d-e��ZGd.�d/e��ZGd0�d1e��ZGd2�d3e��ZGd4�d5e��Z Gd6�d7e��Z!Gd8�d9e��Z"Gd:�d;e��Z#Gd<�d=e#��Z$Gd>�d?e#��Z%Gd@�dAe��Z&GdB�dCe��Z'dDS)Ez
Generator for C/C++.
�)�dedent)�pythran_ward)�signatures_to_stringz$Copyright (C) 2008 Andreas Kloecknerc��eZdZdd�ZdS)�NopTc#�K�dV�dS�N��)�self�with_semicolons  �0/usr/lib/python3/dist-packages/pythran/cxxgen.py�generatezNop.generate's����������N�T��__name__�
__module__�__qualname__rrrrrr%s(�����������rrc�"�eZdZdd�Zd�Zd�ZdS)�
DeclaratorTc#��K�|���\}}t|��}|dd�D]}|V��|rdnd}|�|d�|��V�dS|d�d|�|��V�dS)N����;r
� )�
get_decl_pair�list)rr
�tp_lines�tp_decl�line�scs      rrzDeclarator.generate,s����� �.�.�0�0���'���>�>���S�b�S�M�	�	�D��J�J�J�J�"�
*�S�S����?�$�R�L�L�"�"�-�-�-�-�-�-�'��|�|�|�W�W�b�b�9�9�9�9�9�9rc��dS)aHReturn a tuple ``(type_lines, rhs)``.

        *type_lines* is a non-empty list of lines (most often just a
        single one) describing the type of this declarator. *rhs* is the right-
        hand side that actually contains the function/array/constness notation
        making up the bulk of the declarator syntax.
        Nr�rs rrzDeclarator.get_decl_pair7s���rc�p�|���\}}d�|��}|�|S|�d|��S)z'Return the declarator as a single line.r)r�join)rrrs   r�inlinezDeclarator.inline@sD�� �.�.�0�0���'��8�8�H�%�%���?��O�&�h�h���0�0rNr)rrrrrr&rrrrr+sF������	:�	:�	:�	:����1�1�1�1�1rrc��eZdZdZd�Zd�ZdS)�Valuez@A simple declarator: *typename* and *name* are given as strings.c�"�||_||_dS�N��typename�name)rr,r-s   r�__init__zValue.__init__Ms�� ��
���	�	�	rc� �|jg|jfSr*r+r#s rrzValue.get_decl_pairQs���
���	�)�)rN�rrr�__doc__r.rrrrr(r(Js8������J�J����*�*�*�*�*rr(c�0�eZdZd�Zed���Zd�ZdS)�NestedDeclaratorc��||_dSr*)�subdecl�rr5s  rr.zNestedDeclarator.__init__Vs
������rc��|jjSr*)r5r-r#s rr-zNestedDeclarator.nameYs
���|� � rc�4�|j���Sr*�r5rr#s rrzNestedDeclarator.get_decl_pair]s���|�)�)�+�+�+rN)rrrr.�propertyr-rrrrr3r3UsM����������!�!��X�!�,�,�,�,�,rr3c��eZdZdd�Zd�ZdS)�
DeclSpecifierrc�X�t�||��||_||_dSr*)r3r.�spec�sep)rr5r>r?s    rr.zDeclSpecifier.__init__bs*���!�!�$��0�0�0���	�����rc�`���fd�}�j���\}}||��|fS)Nc3��K�t|��}	�j��j�t|����V�n#t$rYnwxYw|D]}|V��dSr*)�iterr>r?�next�
StopIteration)�sub_it�itr rs   �r�add_specz-DeclSpecifier.get_decl_pair.<locals>.add_spechs�������f���B�
�"&�)�)�T�X�X�t�B�x�x�x�@�@�@�@�@�� �
�
�
���
�����
�
���
�
�
�
�
�
s�!6�
A�Ar9)rrG�sub_tp�sub_decls`   rrzDeclSpecifier.get_decl_pairgsK���	�	�	�	�	� �<�5�5�7�7�����x�����)�)rN)r�rrrr.rrrrr<r<as7����������
*�*�*�*�*rr<c��eZdZd�ZdS)�Typedefc�>�t�||d��dS)N�typedef)r<r.r6s  rr.zTypedef.__init__ws �����t�W�i�8�8�8�8�8rN�rrrr.rrrrLrLvs#������9�9�9�9�9rrLc��eZdZd�Zd�ZdS)�FunctionDeclarationc�f�t�||��d|_||_||_dS)NT)r3r.r&�	arg_decls�
attributes)rr5rSrTs    rr.zFunctionDeclaration.__init__|s1���!�!�$��0�0�0����"���$����rc���|j���\}}|jrdg|z}||�dd�d�|jD�����dd�|j����fS)Nr&�(�, c3�>K�|]}|���V��dSr*)r&)�.0�ads  r�	<genexpr>z4FunctionDeclaration.get_decl_pair.<locals>.<genexpr>�s*����;�;�b�b�i�i�k�k�;�;�;�;�;�;rz) r)r5rr&r%rSrT)rrHrIs   rrz!FunctionDeclaration.get_decl_pair�s����<�5�5�7�7�����;�	)��Z�&�(�F���H�H��I�I�;�;�D�N�;�;�;�;�;�;�;��H�H�T�_�%�%�%�'�(�	(rNrJrrrrQrQ{s2������%�%�%�(�(�(�(�(rrQc� �eZdZdZdd�Zd�ZdS)�Structa
    A structure declarator.

    Attributes
    ----------
    tpname : str
        Name of the structure. (None for unnamed struct)
    fields : [Declarator]
        Content of the structure.
    inherit : str
        Parent class of current structure.
    Nc�0�||_||_||_dS)z&Initialize the structure declarator.  N)�tpname�fields�inherit)rr_r`ras    rr.zStruct.__init__�s������������rc�&���fd�}|��dfS)z See Declarator.get_decl_pair.c3���K�d}�j�|�jz
}�j�
|d�jzz
}|V�dV��jD] }|���D]	}d|zV��
�!dV�dS)z2 Iterator generating lines for struct definition. zstruct Nz : �{�  z} )r_rar`r)�decl�f�f_liners   �r�get_tpz$Struct.get_decl_pair.<locals>.get_tp�s�������D��{�&����#���<�+��E�D�L�0�0�D��J�J�J��I�I�I��[�
(�
(���j�j�l�l�(�(�F���-�'�'�'�'�(��J�J�J�J�Jrr
r)rris` rrzStruct.get_decl_pair�s.���	�	�	�	�	��v�x�x��|�rr*r0rrrr]r]�sA����������������rr]c�&��eZdZ�fd�Zdd�Z�xZS)�Templatec�f��tt|���|��||_dSr*)�superrkr.�
template_spec)rrnr5�	__class__s   �rr.zTemplate.__init__�s/���
�h����&�&�w�/�/�/�*����rFc#��K�dd�|j��zV�|j�|��D]}|V��t	|jt
tf��sdV�dSdS)Nz
template <%s>rWr)r%rnr5r�
isinstancerkrQ)rr
�is   rrzTemplate.generate�s�������	�	�$�*<� =� =�=�=�=�=���&�&�~�6�6�	�	�A��G�G�G�G��$�,��3F�(G�H�H�	��I�I�I�I�I�	�	r)F)rrrr.r�
__classcell__�ros@rrkrk�sL�������+�+�+�+�+��������rrkc��eZdZdd�Zd�ZdS)�
ExceptHandlerNc�0�||_||_||_dSr*)r-�body�alias)rr-rxrys    rr.zExceptHandler.__init__�s����	���	���
�
�
rc#�K�|j�dV�nd|j�d|jpd�d�V�|j���D]}|V��dS)Nz
catch(...)zcatch (pythonic::types::z const& r
�))r-ryrxr�rr s  rrzExceptHandler.generate�s������9��������>B�Y�Y�Y�=A�Z�=M�2�=M�=M�O�
O�
O�
O��I�&�&�(�(�	�	�D��J�J�J�J�	�	rr*�rrrr.rrrrrvrv�s7����������
����rrvc��eZdZd�Zd�ZdS)�	TryExceptc�"�||_||_dSr*)�try_�except_)rr�r�s   rr.zTryExcept.__init__�s����	�����rc#�K�dV�|j���D]}|V��|jD] }|���D]	}d|zV��
�!dS)N�tryre)r�rr�)rr �	exceptions   rrzTryExcept.generate�s����������I�&�&�(�(�	�	�D��J�J�J�J���	"�	"�I�!�*�*�,�,�
"�
"���T�k�!�!�!�!�
"�	"�	"rNr}rrrrr�s2���������"�"�"�"�"rrc��eZdZdd�Zd�ZdS)�IfNc�0�||_||_||_dSr*)�	condition�then_�else_)rr�r�r�s    rr.zIf.__init__�s��"�����
���
�
�
rc#�K�d|jzV�|j���D]}|V��|j�$dV�|j���D]}|V��dSdS)Nzif (%s)�else)r�r�rr�r|s  rrzIf.generate�s������$�.�(�(�(�(��J�'�'�)�)�	�	�D��J�J�J�J��:�!��L�L�L��
�+�+�-�-�
�
���
�
�
�
�"�!�
�
rr*r}rrrr�r��s7����������
	�	�	�	�	rr�c��eZdZd�Zd�ZdS)�Loopc��||_dSr*�rx�rrxs  rr.z
Loop.__init__��
����	�	�	rc#�vK�|���V�|j���D]}|V��dSr*)�
intro_linerxrr|s  rrz
Loop.generate�sN�����o�o�������I�&�&�(�(�	�	�D��J�J�J�J�	�	rNr}rrrr�r��s2�������������rr�c�$��eZdZ�fd�Zd�Z�xZS)�Whilec�f��tt|���|��||_dSr*)rmr�r.r�)rr�rxros   �rr.zWhile.__init__�s,���
�e�T���#�#�D�)�)�)�"����rc��d|jzS)Nz
while (%s))r�r#s rr�zWhile.intro_lines���d�n�,�,r�rrrr.r�rsrts@rr�r��sG�������#�#�#�#�#�-�-�-�-�-�-�-rr�c�$��eZdZ�fd�Zd�Z�xZS)�Forc���tt|���|��||_||_||_dSr*)rmr�r.�startr��update)rr�r�r�rxros     �rr.zFor.__init__s:���
�c�4���!�!�$�'�'�'���
�"�������rc�8�d|j�d|j�d|j�d�S)Nzfor (z; r{)r�r�r�r#s rr�zFor.intro_lines#���%)�Z�Z�Z���������M�Mrr�rts@rr�r�sN������������N�N�N�N�N�N�Nrr�c�$��eZdZ�fd�Zd�Z�xZS)�AutoForc�t��tt|���|��||_||_dSr*)rmr�r.�targetrB)rr��iter_rxros    �rr.zAutoFor.__init__s3���
�g�t���%�%�d�+�+�+������	�	�	rc��|jdkr d�|j|j��Sd�|j|j��S)N�_z$for (PYTHRAN_UNUSED auto&& {0}: {1})zfor (auto&& {0}: {1}))r��formatrBr#s rr�zAutoFor.intro_linesC���;�#���9�@�@���d�i�X�X�X�*�1�1�$�+�t�y�I�I�Irr�rts@rr�r�sN������������
J�J�J�J�J�J�Jrr�c��eZdZd�Zd�ZdS)�Definec�"�||_||_dSr*��symbol�value)rr�r�s   rr.zDefine.__init__!s�������
�
�
rc#�2K�d|j�d|j��V�dS)Nz#define rr�r#s rrzDefine.generate%s)�����!%����d�j�j�9�9�9�9�9�9rNr}rrrr�r� s2���������:�:�:�:�:rr�c��eZdZdd�Zd�ZdS)�IncludeTc�"�||_||_dSr*)�filename�system)rr�r�s   rr.zInclude.__init__*s�� ��
�����rc#�LK�|jrd|jzV�dSd|jzV�dS)Nz
#include <%s>z
#include "%s")r�r�r#s rrzInclude.generate.sB�����;�	4�!�D�M�1�1�1�1�1�1�#�d�m�3�3�3�3�3�3rNrr}rrrr�r�)s7����������4�4�4�4�4rr�c��eZdZd�Zd�ZdS)�Labelc��||_dSr*��label)rr�s  rr.zLabel.__init__6s
����
�
�
rc#�"K�|jdzV�dS)Nz:;r�r#s rrzLabel.generate9s�����j�4������rNr}rrrr�r�5s2��������� � � � � rr�c��eZdZd�Zd�ZdS)�	Statementc��||_dSr*��text�rr�s  rr.zStatement.__init__>r�rc#�"K�|jdzV�dS)Nrr�r#s rrzStatement.generateAs�����i�#�o�����rNr}rrrr�r�=s2�������������rr�c��eZdZd�Zd�ZdS)�AnnotatedStatementc�"�||_||_dSr*)�stmt�annotations)rr�r�s   rr.zAnnotatedStatement.__init__Fs����	�&����rc#�K�|jD]}d|jz}|j|j�V��|j���D]}|V��dS)Nz#pragma )r��sr��depsr�r)r�	directive�pragmar�s    rrzAnnotatedStatement.generateJsp�����)�	1�	1�I��)�+�-�F��&�-���0�0�0�0�0���#�#�%�%�	�	�A��G�G�G�G�	�	rNr}rrrr�r�Es2������'�'�'�����rr�c��eZdZd�ZdS)�ReturnStatementc#�(K�d|jzdzV�dS)Nzreturn rr�r#s rrzReturnStatement.generateSs$�����$�)�#�c�)�)�)�)�)�)rNrrrrr�r�Rs#������*�*�*�*�*rr�c��eZdZd�ZdS)�EmptyStatementc�<�t�|d��dSr	)r�r.r#s rr.zEmptyStatement.__init__Xs�����4��$�$�$�$�$rNrOrrrr�r�Ws#������%�%�%�%�%rr�c��eZdZd�Zd�ZdS)�Assignc�"�||_||_dSr*��lvalue�rvalue)rr�r�s   rr.zAssign.__init__]s���������rc#�2K�|j�d|j�d�V�dS)Nz = rr�r#s rrzAssign.generateas)���� �K�K�K�����5�5�5�5�5�5rNr}rrrr�r�\s2���������6�6�6�6�6rr�c��eZdZdd�Zd�ZdS)�Liner
c��||_dSr*r�r�s  rr.z
Line.__init__fr�rc#�K�|jV�dSr*r�r#s rrz
Line.generateis�����i�����rN)r
r}rrrr�r�es7��������������rr�c��eZdZd�Zd�ZdS)�FunctionBodyc�"�||_||_dS)z�Initialize a function definition. *fdecl* is expected to be
        a :class:`FunctionDeclaration` instance, while *body* is a
        :class:`Block`.
        N)�fdeclrx)rr�rxs   rr.zFunctionBody.__init__os��
��
���	�	�	rc#�K�|j�d���D]}|V��|j���D]}|V��dS)NF)r
)r�rrx)rrh�b_lines   rrzFunctionBody.generatewse�����j�)�)��)�?�?�	�	�F��L�L�L�L��i�(�(�*�*�	�	�F��L�L�L�L�	�	rNr}rrrr�r�ns2�������������rr�c��eZdZdd�Zd�ZdS)�BlockNc��|�g}||_dSr*)�contents)rr�s  rr.zBlock.__init__�s�����H� ��
�
�
rc#�jK�dV�|jD] }|���D]	}d|zV��
�!dV�dS)Nrdre�}�r�r�r�item�	item_lines   rrzBlock.generate�s]�����	�	�	��M�	'�	'�D�!�]�]�_�_�
'�
'�	��Y�&�&�&�&�&�
'��	�	�	�	�	rr*r}rrrr�r�s7������!�!�!�!�
����rr�c��eZdZd�ZdS)�Modulec#�TK�|jD]}|���D]}|V���dSr*r�)r�cr s   rrzModule.generate�sH������	�	�A��
�
���
�
���
�
�
�
�
�	�	rNrrrrr�r��s#����������rr�c��eZdZdd�Zd�ZdS)�	NamespaceNc�J�t�||��||_dSr*)r�r.r-)rr-r�s   rr.zNamespace.__init__�s!��
���t�X�&�&�&���	�	�	rc#�K�d|jzV�dV�|jD] }|���D]	}d|zV��
�!dV�dS)Nz
namespace rdrer�)r-r�rr�s   rrzNamespace.generate�sp�����T�Y�&�&�&�&��	�	�	��M�	'�	'�D�!�]�]�_�_�
'�
'�	��Y�&�&�&�&�&�
'��	�	�	�	�	rr*r}rrrr�r��s7��������������rr�c�T�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�PythonModulezO
    Wraps the creation of a Pythran module wrapped a Python native Module
    c��||_g|_g|_i|_g|_g|_g|_g|_g|_||_	||_
|�|j	�dd����}||j
d<dS)z.
        Builds an empty PythonModule
        Nr
�	moduledoc)
r-�preamble�includes�	functions�global_vars�implems�capsules�python_implems�wrappers�
docstrings�metadata�	docstring�get)rr-rrr�s     rr.zPythonModule.__init__�s�����	���
���
������������
� �����
�$��� ��
��N�N�4�?�#6�#6�t�R�#@�#@�A�A�	�%.��
�k�"�"�"rc��|�t|���dd���dd���dd����S)N�"z\"�
�\n�
z\r)�splitstringr�replace�r�docs  rrzPythonModule.docstring�sS������s��� 3� 3�C�� ?� ?�,3�G�D�%�,@�,@�,3�G�D�%�,@�,@�B�B�	Brc�x�d�d�|�d������S)Nz"{}"z\n""r	)r�r%�splitr
s  rrzPythonModule.splitstring�s,���}�}�W�\�\�#�)�)�E�*:�*:�;�;�<�<�<rc�:�|j�|��dSr*)r��extend)r�pas  r�add_to_preamblezPythonModule.add_to_preamble�s���
���R� � � � � rc�:�|j�|��dSr*)r�r)r�incls  r�add_to_includeszPythonModule.add_to_includes�s���
���T�"�"�"�"�"rc�B�|�|j||||��dSr*)�add_function_tor�r�funcr-�types�	signatures     r�add_pyfunctionzPythonModule.add_pyfunction�s'�����T�0�$��e�Y�O�O�O�O�Orc�r�|j�||f��|j�|��dSr*)r��appendr�)rr�ptrname�sigs    r�add_capsulezPythonModule.add_capsule�s8���
���g�s�^�,�,�,�����D�!�!�!�!�!rc�B�|�|j||||��dSr*)rr�rs     r�add_functionzPythonModule.add_function�s&�����T�\�4��u�i�H�H�H�H�Hrc��|�|��g}g}tdz|jjz}t	|��D]W\}	}
|�d�|
|	����|�d�|
|	�����X|jjdt|���}d�d�|D����}td��}
|j
�|
�|jj|rdndt|��d	t|��zd�d
�tt|����D����d�|��d�|��pd
||��	�	��|||f}|j�
|g���|��dS)ab
        Add a function to be exposed. *func* is expected to be a
        :class:`cgen.FunctionBody`.

        Because a function can have several signatures exported,
        this method actually creates a wrapper for each specialization
        and a global wrapper that checks the argument types and
        runs the correct candidate, if any
        �wrap_zfrom_python<{}>(args_obj[{}])z is_convertible<{}>(args_obj[{}])Nr
c3�JK�|]}d�|j��V��dS)z"{}", N)r�r-)rY�args  rr[z/PythonModule.add_function_to.<locals>.<genexpr>�s0����J�J��8�?�?�3�8�4�4�J�J�J�J�J�Jrac
            static PyObject *
            {wname}(PyObject *self, PyObject *args, PyObject *kw)
            {{
                PyObject* args_obj[{size}+1];
                {silent_warning}
                char const* keywords[] = {{{keywords} nullptr}};
                if(! PyArg_ParseTupleAndKeywords(args, kw, "{fmt}",
                                                 (char**)keywords {objs}))
                    return nullptr;
                if({checks})
                    return to_python({name}({args}));
                else {{
                    return nullptr;
                }}
            }}z(void)args_obj;�Oc3� K�|]	}d|zV��
dS)z, &args_obj[%d]Nr)rYrrs  rr[z/PythonModule.add_function_to.<locals>.<genexpr>sC����(E�(E�,-�):�A�(=�(E�(E�(E�(E�(E�(ErrWz && �1)	r-�silent_warning�size�fmt�objs�args�checks�wname�keywords)r rr�r-�	enumerater�rS�lenr%rr�ranger��
setdefault)r�torr-�ctypesr�
args_unboxing�args_checks�wrapper_namerr�trSr4�wrapper�func_descriptors               rrzPythonModule.add_function_to�s���	�	�	�$�����
���#�g�-��
��?���f�%�%�	P�	P�D�A�q�� � �!@�!G�!G��1�!M�!M�N�N�N����A�H�H��A�N�N�O�O�O�O��J�(��#�f�+�+��6�	��7�7�J�J�	�J�J�J�J�J�������"	
�
����N�N��
��17�+N�2�2�=N� #�F���"�S��[�[�0� "���(E�(E�16�s�6�{�{�1C�1C�(E�(E�(E�!E�!E� $�	�	�-� 8� 8�"(�+�+�k�":�":�"A�c�!-�$,�
�

�

�	
�	
�	
�'��	�9����!�!�$��+�+�2�2�?�C�C�C�C�Crc��|j�|��|j�td|zd�|������dS)Nzstatic PyObject* z
to_python({}))r�r rr�r�)rr-�inits   r�add_global_varzPythonModule.add_global_var"sj�������%�%�%���"�"�6�*=��*D�#2�#9�#9�$�#?�#?�$A�$A�	B�	B�	B�	B�	Brc
��g}g}g}|jD]*}|�d�|�����+|j���D�]Z\}}g}g}|D]S\}	}
}td�|	�����}|�|��|�|���Tt
||��}
tdz|z}td�|d�|��|�	|
�
dd����|�����}|�|j�
|d	����}td
�|||�����}|�|��|�|����\|jD]1\}}d�||�
��}|�|���2td�d	�d�|D���������}tdjd|jd�|��d�|j����}|j|jz|jzt)d��gz|jzd�|j|zD��zt)|��t)|��t)d��gz}d�t/|�������S)zRGenerate (i.e. yield) the source code of the
        module line-by-line.
        z*PyModule_AddObject(theModule, "{0}", {0});z�
                    if(PyObject* obj = {name}(self, args, kw))
                        return obj;
                    PyErr_Clear();
                    )r-�wrapall_a�
            static PyObject *
            {wname}(PyObject *self, PyObject *args, PyObject *kw)
            {{
                return pythonic::handle_python_exception([self, args, kw]()
                -> PyObject* {{
                {tryall}
                return pythonic::python::raise_invalid_argument(
                               "{name}", {candidates}, args, kw);
                }});
            }}
            rr	)r-�tryall�
candidatesr3r
z�{{
                "{name}",
                (PyCFunction){wname},
                METH_VARARGS | METH_KEYWORDS,
                {doc}}})r-r3rz�
            PyModule_AddObject(theModule, "{ptrname}",
                               PyCapsule_New((void*)&{ptrname}, "{sig}", NULL)
            );)r!r"z�
            static PyMethodDef Methods[] = {{
                {methods}
                {{NULL, NULL, 0, NULL}}
            }};
            c3� K�|]	}|dzV��
dS)�,Nr)rY�ms  rr[z'PythonModule.__str__.<locals>.<genexpr>ls&����&C�&C�1�q�3�w�&C�&C�&C�&C�&C�&Cr)�methodsa�
            #if PY_MAJOR_VERSION >= 3
              static struct PyModuleDef moduledef = {{
                PyModuleDef_HEAD_INIT,
                "{name}",            /* m_name */
                {moduledoc},         /* m_doc */
                -1,                  /* m_size */
                Methods,             /* m_methods */
                NULL,                /* m_reload */
                NULL,                /* m_traverse */
                NULL,                /* m_clear */
                NULL,                /* m_free */
              }};
            #define PYTHRAN_RETURN return theModule
            #define PYTHRAN_MODULE_INIT(s) PyInit_##s
            #else
            #define PYTHRAN_RETURN return
            #define PYTHRAN_MODULE_INIT(s) init##s
            #endif
            PyMODINIT_FUNC
            PYTHRAN_MODULE_INIT({name})(void)
            #ifndef _WIN32
            __attribute__ ((visibility("default")))
            #if defined(GNUC) && !defined(__clang__)
            __attribute__ ((externally_visible))
            #endif
            #endif
            ;
            PyMODINIT_FUNC
            PYTHRAN_MODULE_INIT({name})(void) {{
                import_array()
                #if PY_MAJOR_VERSION >= 3
                PyObject* theModule = PyModule_Create(&moduledef);
                #else
                PyObject* theModule = Py_InitModule3("{name}",
                                                     Methods,
                                                     {moduledoc}
                );
                #endif
                if(! theModule)
                    PYTHRAN_RETURN;
                PyObject * theDoc = Py_BuildValue("(sss)",
                                                  "{version}",
                                                  "{date}",
                                                  "{hash}");
                if(! theDoc)
                    PYTHRAN_RETURN;
                PyModule_AddObject(theModule,
                                   "__pythran__",
                                   theDoc);

                {extraobjects}
                PYTHRAN_RETURN;
            }}
            )r-�extraobjectsz#ifdef ENABLE_PYTHON_MODULEc�,�g|]}t|����Sr)r�)rY�codes  r�
<listcomp>z(PythonModule.__str__.<locals>.<listcomp>�s��E�E�E���d���E�E�Erz#endifr)r�r r�r��itemsrrrr%rrrrrr�r-rr�r�r�r�rrr�r)r�
themethods�theextraobjects�theoverloads�vname�fname�	overloadsrF�
signatures�overloadr:rr�rGr=�	candidate�fdoc�	themethodr!r"�capsulerK�modulerxs                        r�__str__zPythonModule.__str__'s����
������%�	L�	L�E��"�"�<�C�C�E�J�J�
L�
L�
L�
L�!%�� 4� 4� 6� 6�+	+�+	+��E�9��F��J�/8�
-�
-�+��&�)�����H��-�-�	/�/��
�
�
�d�#�#�#��!�!�)�,�,�,�,�-�e�Z�@�@�J�'�*�4�u�<�L�� ���E�"�i�i��/�/�"&�"2�"2�%�-�-�d�E�:�:�#�#�*��+�+�,�,�I�$�>�>�$�/�"5�"5�e�R�"@�"@�A�A�D�� �"�6�u�(4�&*�"�,�,�	-�-�I�
���i�(�(�(����	�*�*�*�*� �M�	,�	,�L�G�S���&�� ��"�"�
�

�"�"�7�+�+�+�+���
��r�w�w�&C�&C�
�&C�&C�&C�C�C��D�D�F�F���6�6�l�m8(�l!�I�$(�I�I�o�$>�$>�o8(�8(�p��q8(�8(�8)�8)��t�
��
������3�4�4�5�6��#�	$�
F�E��
��(D�E�E�E�F��g����V���d�8�n�n�=�
>���y�y�����.�.�0�0�1�1�1rN)rrrr1r.rrrrrr#r%rrCr^rrrr�r��s���������/�/�/�&B�B�B�
=�=�=�!�!�!�#�#�#�P�P�P�"�"�"�I�I�I�5D�5D�5D�nB�B�B�
I2�I2�I2�I2�I2rr�c��eZdZd�Zd�ZdS)�CompilationUnitc��||_dSr*r�r�s  rr.zCompilationUnit.__init__�r�rc�J�d�d�|jD����S)Nrc3�dK�|]+}d�|�����V��,dS)rN)r%r)rYr�s  rr[z*CompilationUnit.__str__.<locals>.<genexpr>�s6����D�D�Q����1�:�:�<�<�0�0�D�D�D�D�D�Dr)r%rxr#s rr^zCompilationUnit.__str__�s%���y�y�D�D�$�)�D�D�D�D�D�DrN)rrrr.r^rrrr`r`�s7���������E�E�E�E�Err`N)(r1�textwrapr�pythran.tablesr�pythran.specr�
__copyright__�objectrrr(r3r<rLrQr]rkrvrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r`rrr�<module>ris�����:������'�'�'�'�'�'�-�-�-�-�-�-�6�
������&����1�1�1�1�1��1�1�1�>*�*�*�*�*�J�*�*�*�	,�	,�	,�	,�	,�z�	,�	,�	,�*�*�*�*�*�$�*�*�*�*9�9�9�9�9�m�9�9�9�
(�(�(�(�(�*�(�(�(�"$�$�$�$�$�Z�$�$�$�P
�
�
�
�
��
�
�
�
�
�
�
�
�F�
�
�
� 
"�
"�
"�
"�
"��
"�
"�
"� ���������$�����6����-�-�-�-�-�D�-�-�-�N�N�N�N�N�$�N�N�N�
J�
J�
J�
J�
J�d�
J�
J�
J�:�:�:�:�:�V�:�:�:�	4�	4�	4�	4�	4�f�	4�	4�	4� � � � � �F� � � ����������
�
�
�
�
��
�
�
�*�*�*�*�*�i�*�*�*�
%�%�%�%�%�Y�%�%�%�
6�6�6�6�6�V�6�6�6������6����
�
�
�
�
�6�
�
�
�"�����F���������U�������������Pt2�t2�t2�t2�t2�6�t2�t2�t2�nE�E�E�E�E�f�E�E�E�E�Er

Youez - 2016 - github.com/yon3zu
LinuXploit