Your IP : 3.129.70.138


Current Path : /opt/imunify360/venv/lib64/python3.11/site-packages/pycparser/__pycache__/
Upload File :
Current File : //opt/imunify360/venv/lib64/python3.11/site-packages/pycparser/__pycache__/c_ast.cpython-311.pyc

�

P�Dg�z���ddlZd�ZGd�de��ZGd�de��ZGd�de��ZGd	�d
e��ZGd�de��ZGd
�de��ZGd�de��Z	Gd�de��Z
Gd�de��ZGd�de��ZGd�de��Z
Gd�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��ZGd/�d0e��ZGd1�d2e��ZGd3�d4e��ZGd5�d6e��ZGd7�d8e��ZGd9�d:e��ZGd;�d<e��ZGd=�d>e��Z Gd?�d@e��Z!GdA�dBe��Z"GdC�dDe��Z#GdE�dFe��Z$GdG�dHe��Z%GdI�dJe��Z&GdK�dLe��Z'GdM�dNe��Z(GdO�dPe��Z)GdQ�dRe��Z*GdS�dTe��Z+GdU�dVe��Z,GdW�dXe��Z-GdY�dZe��Z.Gd[�d\e��Z/Gd]�d^e��Z0Gd_�d`e��Z1Gda�dbe��Z2Gdc�dde��Z3Gde�dfe��Z4Gdg�dhe��Z5dS)i�Nc��t|t��r%dd�d�|D����zdzSt|��S)z[
    Get the representation of an object, with dedicated pprint-like format for lists.
    �[z,
 c3�\K�|]'}t|���dd��V��(dS)�
�
 N)�_repr�replace)�.0�es  �o/builddir/build/BUILD/imunify360-venv-2.4.0/opt/imunify360/venv/lib/python3.11/site-packages/pycparser/c_ast.py�	<genexpr>z_repr.<locals>.<genexpr>s8����"N�"N�Q�5��8�8�#3�#3�D�%�#@�#@�"N�"N�"N�"N�"N�"N�z
])�
isinstance�list�join�repr)�objs rrrsN���#�t�����f�k�k�"N�"N�#�"N�"N�"N�O�O�P�SX�X�X��C�y�y�rc�>�eZdZdZ	d�Zd�Zejdddddfd�ZdS)�Node�c��|jjdz}d}d}|jdd�D]�}||z
}||z
}||dztt	||�����dddt
|��t
|jj��zzz��zz
}d	}d
dt
|jj��zz}��||dzz
}|S)z? Generates a python representation of the current node
        �(�N����=rz
  � �,r�))�	__class__�__name__�	__slots__r�getattrr	�len)�self�result�indent�	separator�names     r�__repr__z
Node.__repr__"s����(�3�.�����	��N�3�B�3�'�	B�	B�D��i��F��f��F��d�S�j�E�'�$��*=�*=�$>�$>�$F�$F�t�V�WZ�^a�bf�^g�^g�jm�nr�n|�oF�kG�kG�_G�XH�NI�%J�%J�K�
K�F��I��c�C���(?�$@�$@�@�A�F�F��&�3�,����
rc��dS)z3 A sequence of all children that are Nodes
        Nr�r$s r�childrenz
Node.children5s	��	
�rrFNc	���d|z}|r.|�,|�|�jjzdz|zdz��n%|�|�jjzdz���jr||r3�fd��jD��}d�d�|D����}	n2�fd	��jD��}
d�d
�|
D����}	|�|	��|r|�d�jz��|�d������D]#\}}|�||d
z||||����$dS)a� Pretty print the Node and all its attributes and
            children (recursively) to a buffer.

            buf:
                Open IO buffer into which the Node is printed.

            offset:
                Initial offset (amount of leading spaces)

            attrnames:
                True if you want to see the attribute names in
                name=value pairs. False to only see the values.

            nodenames:
                True if you want to see the actual node names
                within their parents.

            showcoord:
                Do you want the coordinates of each Node to be
                displayed.
        rNz <z>: z: c�4��g|]}|t�|��f��Sr�r"�r
�nr$s  �r�
<listcomp>zNode.show.<locals>.<listcomp>Xs&���H�H�H�1�1�g�d�1�o�o�.�H�H�Hrz, c3� K�|]	}d|zV��
dS)z%s=%sNr)r
�nvs  rr
zNode.show.<locals>.<genexpr>Ys&����#B�#B�R�G�b�L�#B�#B�#B�#B�#B�#Brc�0��g|]}t�|����Srr/r0s  �rr2zNode.show.<locals>.<listcomp>[s#���C�C�C�a���q�)�)�C�C�Crc3� K�|]	}d|zV��
dS)z%sNr)r
�vs  rr
zNode.show.<locals>.<genexpr>\s&����#<�#<��D�1�H�#<�#<�#<�#<�#<�#<rz (at %s)r�)�offset�	attrnames�	nodenames�	showcoord�
_my_node_name)�writerr �
attr_namesr�coordr,�show)
r$�bufr9r:r;r<r=�lead�nvlist�attrstr�vlist�
child_name�childs
`            rrAz	Node.show:s����,�V�|���	<��2��I�I�d�T�^�4�4�d�:�]�J�U�R�S�S�S�S��I�I�d�T�^�4�4�d�:�;�;�;��?�	��
=�H�H�H�H���H�H�H���)�)�#B�#B�6�#B�#B�#B�B�B���C�C�C�C�4�?�C�C�C���)�)�#<�#<�e�#<�#<�#<�<�<���I�I�g�����	/��I�I�j�4�:�-�.�.�.��	�	�$����#'�=�=�?�?�	*�	*��Z���J�J����z�#�#�#�(�

�
*�
*�
*�
*�	*�	*r)	r �
__module__�__qualname__r!r)r,�sys�stdoutrArrrrrsc�������I�����&
�
�
�
�z�!�u��Y^�nr�0*�0*�0*�0*�0*�0*rrc�"�eZdZdZdZd�Zd�ZdS)�NodeVisitora- A base NodeVisitor class for visiting c_ast nodes.
        Subclass it and define your own visit_XXX methods, where
        XXX is the class name you want to visit with these
        methods.

        For example:

        class ConstantVisitor(NodeVisitor):
            def __init__(self):
                self.values = []

            def visit_Constant(self, node):
                self.values.append(node.value)

        Creates a list of values of all the constant nodes
        encountered below the given node. To use it:

        cv = ConstantVisitor()
        cv.visit(node)

        Notes:

        *   generic_visit() will be called for AST nodes for which
            no visit_XXX method was defined.
        *   The children of nodes for which a visit_XXX was
            defined will not be visited - if you need this, call
            generic_visit() on the node.
            You can use:
                NodeVisitor.generic_visit(self, node)
        *   Modeled after Python's own AST visiting facilities
            (the ast module of Python 3.0)
    Nc���|j�i|_|j�|jjd��}|�9d|jjz}t	|||j��}||j|jj<||��S)z Visit a node.
        N�visit_)�
_method_cache�getrr r"�
generic_visit)r$�node�visitor�methods    r�visitzNodeVisitor.visit�sz����%�!#�D���$�(�(���)@�$�G�G���?���� 7�7�F��d�F�D�,>�?�?�G�:A�D��t�~�6�7��w�t�}�}�rc�:�|D]}|�|���dS)zy Called if no explicit visitor function exists for a
            node. Implements preorder visiting of the node.
        N)rW)r$rT�cs   rrSzNodeVisitor.generic_visit�s.���	�	�A��J�J�q�M�M�M�M�	�	r)r rIrJ�__doc__rQrWrSrrrrNrNmsD��������B�M�
�
�
�����rrNc�*�eZdZdZdd�Zd�Zd�ZdZdS)�	ArrayDecl)�type�dim�	dim_qualsr@�__weakref__Nc�>�||_||_||_||_dS�N)r]r^r_r@)r$r]r^r_r@s     r�__init__zArrayDecl.__init__�s"����	����"�����
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr]r^)r]�appendr^�tuple�r$�nodelists  rr,zArrayDecl.children�sS�����9� �(�/�/�6�4�9�2E�"F�"F�"F��8�����%���1B�!C�!C�!C��X���rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r]r^r+s r�__iter__zArrayDecl.__iter__�s8�����9� ��)�O�O�O��8���(�N�N�N�N�N� �r)r_rb�r rIrJr!rcr,rjr?rrrr\r\�sL������D�I�����������!�J�J�Jrr\c�*�eZdZdZdd�Zd�Zd�ZdZdS)�ArrayRef)r(�	subscriptr@r`Nc�0�||_||_||_dSrb)r(rnr@)r$r(rnr@s    rrczArrayRef.__init__�s����	�"�����
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr(rn)r(rernrfrgs  rr,zArrayRef.children�sS�����9� �(�/�/�6�4�9�2E�"F�"F�"F��>�%�x����T�^�7T�'U�'U�'U��X���rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r(rnr+s rrjzArrayRef.__iter__�s=�����9� ��)�O�O�O��>�%��.� � � � � �&�%rrrbrkrrrrmrm�sL������=�I�����
���!�!�!��J�J�Jrrmc�*�eZdZdZdd�Zd�Zd�ZdZdS)�
Assignment)�op�lvalue�rvaluer@r`Nc�>�||_||_||_||_dSrb)rtrurvr@)r$rtrurvr@s     rrczAssignment.__init__�s"�������������
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nrurv)rurervrfrgs  rr,zAssignment.children�sS�����;�"�H�O�O�X�t�{�4K�$L�$L�$L��;�"�H�O�O�X�t�{�4K�$L�$L�$L��X���rc#�NK�|j�	|jV�|j�|jV�dSdSrb)rurvr+s rrjzAssignment.__iter__�s@�����;�"��+�����;�"��+������#�"r�rtrbrkrrrrsrs�sL������B�I������������J�J�Jrrsc�*�eZdZdZdd�Zd�Zd�ZdZdS)�Alignas)�	alignmentr@r`Nc�"�||_||_dSrb)r}r@)r$r}r@s   rrczAlignas.__init__�s��"�����
�
�
rc�j�g}|j�|�d|jf��t|��S)Nr})r}rerfrgs  rr,zAlignas.children�s3�����>�%�x����T�^�7T�'U�'U�'U��X���rc#�.K�|j�|jV�dSdSrb)r}r+s rrjzAlignas.__iter__�s*�����>�%��.� � � � � �&�%rrrbrkrrrr|r|�sL������5�I��������
!�!�!��J�J�Jrr|c�*�eZdZdZdd�Zd�Zd�ZdZdS)�BinaryOp)rt�left�rightr@r`Nc�>�||_||_||_||_dSrb)rtr�r�r@)r$rtr�r�r@s     rrczBinaryOp.__init__�s"�������	���
���
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr�r�)r�rer�rfrgs  rr,zBinaryOp.children�S�����9� �(�/�/�6�4�9�2E�"F�"F�"F��:�!�8�?�?�G�T�Z�3H�#I�#I�#I��X���rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r�r�r+s rrjzBinaryOp.__iter__�=�����9� ��)�O�O�O��:�!��*������"�!rrzrbrkrrrr�r��sL������?�I������������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Break�r@r`Nc��||_dSrb�r@�r$r@s  rrczBreak.__init__�
����
�
�
rc��dS�Nrrr+s rr,zBreak.children����rrc#�
K�dSrbrr+s rrjzBreak.__iter__������rrrbrkrrrr�r��L������(�I������������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Case)�expr�stmtsr@r`Nc�0�||_||_||_dSrb)r�r�r@)r$r�r�r@s    rrcz
Case.__init__�����	���
���
�
�
rc���g}|j�|�d|jf��t|jpg��D]\}}|�d|z|f��� t	|��S)Nr��	stmts[%d])r�re�	enumerater�rf�r$rh�irHs    rr,z
Case.children$ss�����9� �(�/�/�6�4�9�2E�"F�"F�"F�!�$�*�"2��3�3�	6�	6�H�A�u��O�O�[�1�_�e�4�5�5�5�5��X���rc#�JK�|j�	|jV�|jpgD]}|V��dSrb)r�r��r$rHs  rrjz
Case.__iter__+sD�����9� ��)�O�O�O��j�&�B�	�	�E��K�K�K�K�	�	rrrbrkrrrr�r�sL������9�I�����
�������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Cast)�to_typer�r@r`Nc�0�||_||_||_dSrb)r�r�r@)r$r�r�r@s    rrcz
Cast.__init__5s�������	���
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr�r�)r�rer�rfrgs  rr,z
Cast.children:sS�����<�#�X�_�_�i���5N�%O�%O�%O��9� �(�/�/�6�4�9�2E�"F�"F�"F��X���rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r�r�r+s rrjz
Cast.__iter__@s;�����<�#��,�����9� ��)�O�O�O�O�O�!� rrrbrkrrrr�r�3sL������;�I�����
�������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Compound)�block_itemsr@r`Nc�"�||_||_dSrb)r�r@)r$r�r@s   rrczCompound.__init__J���&�����
�
�
rc��g}t|jpg��D]\}}|�d|z|f��� t|��S)Nzblock_items[%d])r�r�rerfr�s    rr,zCompound.childrenN�V����!�$�"2�"8�b�9�9�	<�	<�H�A�u��O�O�.��2�E�:�;�;�;�;��X���rc#�*K�|jpgD]}|V��dSrb)r�r�s  rrjzCompound.__iter__T�2�����&�,�"�	�	�E��K�K�K�K�	�	rrrbrkrrrr�r�H�L������7�I������������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�CompoundLiteral)r]�initr@r`Nc�0�||_||_||_dSrb)r]r�r@)r$r]r�r@s    rrczCompoundLiteral.__init__\�����	���	���
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr]r�)r]rer�rfrgs  rr,zCompoundLiteral.childrena�S�����9� �(�/�/�6�4�9�2E�"F�"F�"F��9� �(�/�/�6�4�9�2E�"F�"F�"F��X���rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r]r�r+s rrjzCompoundLiteral.__iter__g�8�����9� ��)�O�O�O��9� ��)�O�O�O�O�O�!� rrrbrkrrrr�r�Z�L������8�I�����
�������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Constant)r]�valuer@r`Nc�0�||_||_||_dSrb)r]r�r@)r$r]r�r@s    rrczConstant.__init__qr�rc�$�g}t|��Srb�rfrgs  rr,zConstant.childrenv������X���rc#�
K�dSrbrr+s rrjzConstant.__iter__zr�r)r]r�rbrkrrrr�r�osL������9�I�����
������%�J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Continuer�Nc��||_dSrbr�r�s  rrczContinue.__init__�r�rc��dSr�rr+s rr,zContinue.children�r�rc#�
K�dSrbrr+s rrjzContinue.__iter__�r�rrrbrkrrrr�r��r�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Decl)
r(�quals�align�storage�funcspecr]r��bitsizer@r`Nc
��||_||_||_||_||_||_||_||_|	|_dSrb)	r(r�r�r�r�r]r�r�r@)
r$r(r�r�r�r�r]r�r�r@s
          rrcz
Decl.__init__�sE����	���
���
���� ��
���	���	������
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��|j�|�d|jf��t	|��S)Nr]r�r�)r]rer�r�rfrgs  rr,z
Decl.children�ss�����9� �(�/�/�6�4�9�2E�"F�"F�"F��9� �(�/�/�6�4�9�2E�"F�"F�"F��<�#�X�_�_�i���5N�%O�%O�%O��X���rc#�nK�|j�	|jV�|j�	|jV�|j�|jV�dSdSrb)r]r�r�r+s rrjz
Decl.__iter__�sP�����9� ��)�O�O�O��9� ��)�O�O�O��<�#��,������$�#r)r(r�r�r�r�rbrkrrrr�r��sM������t�I�	�	�	�	�������E�J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�DeclList)�declsr@r`Nc�"�||_||_dSrb)r�r@)r$r�r@s   rrczDeclList.__init__������
���
�
�
rc��g}t|jpg��D]\}}|�d|z|f��� t|��S�Nz	decls[%d]�r�r�rerfr�s    rr,zDeclList.children��S����!�$�*�"2��3�3�	6�	6�H�A�u��O�O�[�1�_�e�4�5�5�5�5��X���rc#�*K�|jpgD]}|V��dSrb�r�r�s  rrjzDeclList.__iter__��1�����j�&�B�	�	�E��K�K�K�K�	�	rrrbrkrrrr�r���L������1�I������������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Default)r�r@r`Nc�"�||_||_dSrb)r�r@)r$r�r@s   rrczDefault.__init__�r�rc��g}t|jpg��D]\}}|�d|z|f��� t|��S)Nr�)r�r�rerfr�s    rr,zDefault.children�r�rc#�*K�|jpgD]}|V��dSrb)r�r�s  rrjzDefault.__iter__�r�rrrbrkrrrr�r��r�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�DoWhile��cond�stmtr@r`Nc�0�||_||_||_dSrb�r�r�r@�r$r�r�r@s    rrczDoWhile.__init__�r�rc��g}|j�|�d|jf��|j�|�d|jf��t|��S�Nr�r��r�rer�rfrgs  rr,zDoWhile.children�r�rc#�NK�|j�	|jV�|j�|jV�dSdSrb�r�r�r+s rrjzDoWhile.__iter__�r�rrrbrkrrrr�r��r�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�
EllipsisParamr�Nc��||_dSrbr�r�s  rrczEllipsisParam.__init__�r�rc��dSr�rr+s rr,zEllipsisParam.children�r�rc#�
K�dSrbrr+s rrjzEllipsisParam.__iter__�r�rrrbrkrrrr�r��r�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�EmptyStatementr�Nc��||_dSrbr�r�s  rrczEmptyStatement.__init__�r�rc��dSr�rr+s rr,zEmptyStatement.children�r�rc#�
K�dSrbrr+s rrjzEmptyStatement.__iter__�r�rrrbrkrrrr�r��r�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Enum)r(�valuesr@r`Nc�0�||_||_||_dSrb)r(rr@)r$r(rr@s    rrcz
Enum.__init__s����	������
�
�
rc�j�g}|j�|�d|jf��t|��S)Nr)rrerfrgs  rr,z
Enum.childrens3�����;�"�H�O�O�X�t�{�4K�$L�$L�$L��X���rc#�.K�|j�|jV�dSdSrb)rr+s rrjz
Enum.__iter__
s*�����;�"��+������#�"r�r(rbrkrrrr�r�sL������:�I�����
���
����J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�
Enumerator)r(r�r@r`Nc�0�||_||_||_dSrb)r(r�r@)r$r(r�r@s    rrczEnumerator.__init__r�rc�j�g}|j�|�d|jf��t|��S)Nr�)r�rerfrgs  rr,zEnumerator.childrens3�����:�!�8�?�?�G�T�Z�3H�#I�#I�#I��X���rc#�.K�|j�|jV�dSdSrb)r�r+s rrjzEnumerator.__iter__s*�����:�!��*������"�!rrrbrkrrrrrsL������9�I�����
���
����J�J�Jrrc�*�eZdZdZdd�Zd�Zd�ZdZdS)�EnumeratorList)�enumeratorsr@r`Nc�"�||_||_dSrb)rr@)r$rr@s   rrczEnumeratorList.__init__'r�rc��g}t|jpg��D]\}}|�d|z|f��� t|��S)Nzenumerators[%d])r�rrerfr�s    rr,zEnumeratorList.children+r�rc#�*K�|jpgD]}|V��dSrb)rr�s  rrjzEnumeratorList.__iter__1r�rrrbrkrrrrr%r�rrc�*�eZdZdZdd�Zd�Zd�ZdZdS)�ExprList��exprsr@r`Nc�"�||_||_dSrb�rr@�r$rr@s   rrczExprList.__init__9r�rc��g}t|jpg��D]\}}|�d|z|f��� t|��S�Nz	exprs[%d]�r�rrerfr�s    rr,zExprList.children=r�rc#�*K�|jpgD]}|V��dSrb�rr�s  rrjzExprList.__iter__Cr�rrrbrkrrrrr7r�rrc�*�eZdZdZdd�Zd�Zd�ZdZdS)�FileAST)�extr@r`Nc�"�||_||_dSrb)rr@)r$rr@s   rrczFileAST.__init__Ks�������
�
�
rc��g}t|jpg��D]\}}|�d|z|f��� t|��S)Nzext[%d])r�rrerfr�s    rr,zFileAST.childrenOsR����!�$�(�.�b�1�1�	4�	4�H�A�u��O�O�Y��]�E�2�3�3�3�3��X���rc#�*K�|jpgD]}|V��dSrb)rr�s  rrjzFileAST.__iter__Us0�����h�n�"�	�	�E��K�K�K�K�	�	rrrbrkrrrrrIsL������/�I������������J�J�Jrrc�*�eZdZdZdd�Zd�Zd�ZdZdS)�For)r�r��nextr�r@r`Nc�L�||_||_||_||_||_dSrb)r�r�r$r�r@)r$r�r�r$r�r@s      rrczFor.__init__]s)����	���	���	���	���
�
�
rc�<�g}|j�|�d|jf��|j�|�d|jf��|j�|�d|jf��|j�|�d|jf��t|��S)Nr�r�r$r�)r�rer�r$r�rfrgs  rr,zFor.childrends������9� �(�/�/�6�4�9�2E�"F�"F�"F��9� �(�/�/�6�4�9�2E�"F�"F�"F��9� �(�/�/�6�4�9�2E�"F�"F�"F��9� �(�/�/�6�4�9�2E�"F�"F�"F��X���rc#�K�|j�	|jV�|j�	|jV�|j�	|jV�|j�|jV�dSdSrb)r�r�r$r�r+s rrjzFor.__iter__ls^�����9� ��)�O�O�O��9� ��)�O�O�O��9� ��)�O�O�O��9� ��)�O�O�O�O�O�!� rrrbrkrrrr#r#[sL������H�I������������J�J�Jrr#c�*�eZdZdZdd�Zd�Zd�ZdZdS)�FuncCall)r(�argsr@r`Nc�0�||_||_||_dSrb)r(r*r@)r$r(r*r@s    rrczFuncCall.__init__zr�rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr(r*)r(rer*rfrgs  rr,zFuncCall.childrenr�rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r(r*r+s rrjzFuncCall.__iter__�r�rrrbrkrrrr)r)xr�rr)c�*�eZdZdZdd�Zd�Zd�ZdZdS)�FuncDecl)r*r]r@r`Nc�0�||_||_||_dSrb)r*r]r@)r$r*r]r@s    rrczFuncDecl.__init__�r�rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr*r])r*rer]rfrgs  rr,zFuncDecl.children�r�rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r*r]r+s rrjzFuncDecl.__iter__�r�rrrbrkrrrr/r/�r�rr/c�*�eZdZdZdd�Zd�Zd�ZdZdS)�FuncDef)�decl�param_decls�bodyr@r`Nc�>�||_||_||_||_dSrb)r5r6r7r@)r$r5r6r7r@s     rrczFuncDef.__init__�s#����	�&�����	���
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|jpg��D]\}}|�d|z|f��� t|��S)Nr5r7zparam_decls[%d])r5rer7r�r6rfr�s    rr,zFuncDef.children�s������9� �(�/�/�6�4�9�2E�"F�"F�"F��9� �(�/�/�6�4�9�2E�"F�"F�"F�!�$�"2�"8�b�9�9�	<�	<�H�A�u��O�O�.��2�E�:�;�;�;�;��X���rc#�jK�|j�	|jV�|j�	|jV�|jpgD]}|V��dSrb)r5r7r6r�s  rrjzFuncDef.__iter__�sX�����9� ��)�O�O�O��9� ��)�O�O�O��&�,�"�	�	�E��K�K�K�K�	�	rrrbrkrrrr4r4�sL������G�I������������J�J�Jrr4c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Goto�r(r@r`Nc�"�||_||_dSrb�r(r@�r$r(r@s   rrcz
Goto.__init__������	���
�
�
rc�$�g}t|��Srbr�rgs  rr,z
Goto.children�r�rc#�
K�dSrbrr+s rrjz
Goto.__iter__�r�rrrbrkrrrr<r<��L������0�I������������J�J�Jrr<c�*�eZdZdZdd�Zd�Zd�ZdZdS)�IDr=Nc�"�||_||_dSrbr?r@s   rrczID.__init__�rArc�$�g}t|��Srbr�rgs  rr,zID.children�r�rc#�
K�dSrbrr+s rrjzID.__iter__�r�rrrbrkrrrrFrF�rDrrFc�*�eZdZdZdd�Zd�Zd�ZdZdS)�IdentifierType)�namesr@r`Nc�"�||_||_dSrb)rLr@)r$rLr@s   rrczIdentifierType.__init__�r�rc�$�g}t|��Srbr�rgs  rr,zIdentifierType.children�r�rc#�
K�dSrbrr+s rrjzIdentifierType.__iter__�r�r)rLrbrkrrrrKrK�sL������1�I������������J�J�JrrKc�*�eZdZdZdd�Zd�Zd�ZdZdS)�If�r��iftrue�iffalser@r`Nc�>�||_||_||_||_dSrb�r�rSrTr@�r$r�rSrTr@s     rrczIf.__init__��"����	���������
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��|j�|�d|jf��t	|��S�Nr�rSrT�r�rerSrTrfrgs  rr,zIf.children��s�����9� �(�/�/�6�4�9�2E�"F�"F�"F��;�"�H�O�O�X�t�{�4K�$L�$L�$L��<�#�X�_�_�i���5N�%O�%O�%O��X���rc#�nK�|j�	|jV�|j�	|jV�|j�|jV�dSdSrb�r�rSrTr+s rrjzIf.__iter__��S�����9� ��)�O�O�O��;�"��+�����<�#��,������$�#rrrbrkrrrrQrQ��L������E�I������������J�J�JrrQc�*�eZdZdZdd�Zd�Zd�ZdZdS)�InitListrNc�"�||_||_dSrbrrs   rrczInitList.__init__r�rc��g}t|jpg��D]\}}|�d|z|f��� t|��Srrr�s    rr,zInitList.childrenr�rc#�*K�|jpgD]}|V��dSrbrr�s  rrjzInitList.__iter__r�rrrbrkrrrrbrbr�rrbc�*�eZdZdZdd�Zd�Zd�ZdZdS)�Label)r(r�r@r`Nc�0�||_||_||_dSrb)r(r�r@)r$r(r�r@s    rrczLabel.__init__r�rc�j�g}|j�|�d|jf��t|��S)Nr�)r�rerfrgs  rr,zLabel.children�3�����9� �(�/�/�6�4�9�2E�"F�"F�"F��X���rc#�.K�|j�|jV�dSdSrb)r�r+s rrjzLabel.__iter__#�%�����9� ��)�O�O�O�O�O�!� rrrbrkrrrrgrgsL������8�I�����
���
����J�J�Jrrgc�*�eZdZdZdd�Zd�Zd�ZdZdS)�NamedInitializer)r(r�r@r`Nc�0�||_||_||_dSrb)r(r�r@)r$r(r�r@s    rrczNamedInitializer.__init__+r�rc���g}|j�|�d|jf��t|jpg��D]\}}|�d|z|f��� t	|��S)Nr�zname[%d])r�rer�r(rfr�s    rr,zNamedInitializer.children0sr�����9� �(�/�/�6�4�9�2E�"F�"F�"F�!�$�)�/�r�2�2�	5�	5�H�A�u��O�O�Z�!�^�U�3�4�4�4�4��X���rc#�JK�|j�	|jV�|jpgD]}|V��dSrb)r�r(r�s  rrjzNamedInitializer.__iter__7sC�����9� ��)�O�O�O��i�o�2�	�	�E��K�K�K�K�	�	rrrbrkrrrrnrn)sL������8�I�����
�������J�J�Jrrnc�*�eZdZdZdd�Zd�Zd�ZdZdS)�	ParamList)�paramsr@r`Nc�"�||_||_dSrb)rtr@)r$rtr@s   rrczParamList.__init__A��������
�
�
rc��g}t|jpg��D]\}}|�d|z|f��� t|��S)Nz
params[%d])r�rtrerfr�s    rr,zParamList.childrenEsT����!�$�+�"3��4�4�	7�	7�H�A�u��O�O�\�A�-�u�5�6�6�6�6��X���rc#�*K�|jpgD]}|V��dSrb)rtr�s  rrjzParamList.__iter__Ks1�����k�'�R�	�	�E��K�K�K�K�	�	rrrbrkrrrrsrs?sL������2�I������������J�J�Jrrsc�*�eZdZdZdd�Zd�Zd�ZdZdS)�PtrDecl)r�r]r@r`Nc�0�||_||_||_dSrb)r�r]r@)r$r�r]r@s    rrczPtrDecl.__init__Ss����
���	���
�
�
rc�j�g}|j�|�d|jf��t|��S�Nr]�r]rerfrgs  rr,zPtrDecl.childrenXrjrc#�.K�|j�|jV�dSdSrb�r]r+s rrjzPtrDecl.__iter__]rlr)r�rbrkrrrrzrzQsL������9�I�����
���
����J�J�Jrrzc�*�eZdZdZdd�Zd�Zd�ZdZdS)�Return)r�r@r`Nc�"�||_||_dSrb)r�r@)r$r�r@s   rrczReturn.__init__erArc�j�g}|j�|�d|jf��t|��S�Nr��r�rerfrgs  rr,zReturn.childrenirjrc#�.K�|j�|jV�dSdSrb�r�r+s rrjzReturn.__iter__nrlrrrbrkrrrr�r�csL������0�I��������
����J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�StaticAssert)r��messager@r`Nc�0�||_||_||_dSrb)r�r�r@)r$r�r�r@s    rrczStaticAssert.__init__vs����	������
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr�r�)r�rer�rfrgs  rr,zStaticAssert.children{sS�����9� �(�/�/�6�4�9�2E�"F�"F�"F��<�#�X�_�_�i���5N�%O�%O�%O��X���rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r�r�r+s rrjzStaticAssert.__iter__�s=�����9� ��)�O�O�O��<�#��,������$�#rrrbrkrrrr�r�tsL������;�I�����
�������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Struct�r(r�r@r`Nc�0�||_||_||_dSrb�r(r�r@�r$r(r�r@s    rrczStruct.__init__�r�rc��g}t|jpg��D]\}}|�d|z|f��� t|��Sr�r�r�s    rr,zStruct.children�r�rc#�*K�|jpgD]}|V��dSrbr�r�s  rrjzStruct.__iter__�r�rrrbrkrrrr�r���L������9�I�����
�������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�	StructRef)r(r]�fieldr@r`Nc�>�||_||_||_||_dSrb)r(r]r�r@)r$r(r]r�r@s     rrczStructRef.__init__�s"����	���	���
���
�
�
rc��g}|j�|�d|jf��|j�|�d|jf��t|��S)Nr(r�)r(rer�rfrgs  rr,zStructRef.children�r�rc#�NK�|j�	|jV�|j�|jV�dSdSrb)r(r�r+s rrjzStructRef.__iter__�r�rr�rbrkrrrr�r��sL������A�I������������J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Switchr�Nc�0�||_||_||_dSrbr�r�s    rrczSwitch.__init__�r�rc��g}|j�|�d|jf��|j�|�d|jf��t|��Sr�r�rgs  rr,zSwitch.children�r�rc#�NK�|j�	|jV�|j�|jV�dSdSrbr�r+s rrjzSwitch.__iter__�r�rrrbrkrrrr�r��r�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�	TernaryOprRNc�>�||_||_||_||_dSrbrVrWs     rrczTernaryOp.__init__�rXrc��g}|j�|�d|jf��|j�|�d|jf��|j�|�d|jf��t	|��SrZr[rgs  rr,zTernaryOp.children�r\rc#�nK�|j�	|jV�|j�	|jV�|j�|jV�dSdSrbr^r+s rrjzTernaryOp.__iter__�r_rrrbrkrrrr�r��r`rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�TypeDecl)�declnamer�r�r]r@r`Nc�L�||_||_||_||_||_dSrb)r�r�r�r]r@)r$r�r�r�r]r@s      rrczTypeDecl.__init__�s)�� ��
���
���
���	���
�
�
rc�j�g}|j�|�d|jf��t|��Sr}r~rgs  rr,zTypeDecl.children�rjrc#�.K�|j�|jV�dSdSrbr�r+s rrjzTypeDecl.__iter__�rlr)r�r�r�rbrkrrrr�r��sL������N�I��������
���2�J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Typedef)r(r�r�r]r@r`Nc�L�||_||_||_||_||_dSrb)r(r�r�r]r@)r$r(r�r�r]r@s      rrczTypedef.__init__�s)����	���
������	���
�
�
rc�j�g}|j�|�d|jf��t|��Sr}r~rgs  rr,zTypedef.children�rjrc#�.K�|j�|jV�dSdSrbr�r+s rrjzTypedef.__iter__rlr)r(r�r�rbrkrrrr�r��sL������L�I��������
���0�J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Typename)r(r�r�r]r@r`Nc�L�||_||_||_||_||_dSrb)r(r�r�r]r@)r$r(r�r�r]r@s      rrczTypename.__init__
s)����	���
���
���	���
�
�
rc�j�g}|j�|�d|jf��t|��Sr}r~rgs  rr,zTypename.childrenrjrc#�.K�|j�|jV�dSdSrbr�r+s rrjzTypename.__iter__rlr)r(r�r�rbrkrrrr�r�sL������J�I��������
���.�J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�UnaryOp)rtr�r@r`Nc�0�||_||_||_dSrb)rtr�r@)r$rtr�r@s    rrczUnaryOp.__init__s�������	���
�
�
rc�j�g}|j�|�d|jf��t|��Sr�r�rgs  rr,zUnaryOp.children#rjrc#�.K�|j�|jV�dSdSrbr�r+s rrjzUnaryOp.__iter__(rlrrzrbrkrrrr�r�sL������6�I�����
���
����J�J�Jrr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Unionr�Nc�0�||_||_||_dSrbr�r�s    rrczUnion.__init__0r�rc��g}t|jpg��D]\}}|�d|z|f��� t|��Sr�r�r�s    rr,zUnion.children5r�rc#�*K�|jpgD]}|V��dSrbr�r�s  rrjzUnion.__iter__;r�rrrbrkrrrr�r�.r�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Whiler�Nc�0�||_||_||_dSrbr�r�s    rrczWhile.__init__Cr�rc��g}|j�|�d|jf��|j�|�d|jf��t|��Sr�r�rgs  rr,zWhile.childrenHr�rc#�NK�|j�	|jV�|j�|jV�dSdSrbr�r+s rrjzWhile.__iter__Nr�rrrbrkrrrr�r�Ar�rr�c�*�eZdZdZdd�Zd�Zd�ZdZdS)�Pragma)�stringr@r`Nc�"�||_||_dSrb)r�r@)r$r�r@s   rrczPragma.__init__Xrvrc�$�g}t|��Srbr�rgs  rr,zPragma.children\r�rc#�
K�dSrbrr+s rrjzPragma.__iter__`r�r)r�rbrkrrrr�r�VsL������2�I������������J�J�Jrr�)6rKr�objectrrNr\rmrsr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr#r)r/r4r<rFrKrQrbrgrnrsrzr�r�r�r�r�r�r�r�r�r�r�r�r�rrr�<module>r�s���&�
�
�
����L*�L*�L*�L*�L*�6�L*�L*�L*�^8�8�8�8�8�&�8�8�8�t!�!�!�!�!��!�!�!�,�����t����*���������,�����d����"�����t����,�����D���������4����,�����4����*�����t����$�����d����*%�%�%�%�%�t�%�%�%�"�����t����E�E�E�E�E�4�E�E�E�<�����t����$�����d����$�����d����*�����D���������T���������4����$���������$�����T����$�����t����$�����d����$�����$����:�����t����*�����t����*�����d����4�����4���� ��������� �����T���� ���������2�����t����$�����D����$�����t����,���������$�����d����$�����T����"�����4����*�����T����&���������,�����T����*���������22�2�2�2�2�t�2�2�2�(0�0�0�0�0�d�0�0�0�(.�.�.�.�.�t�.�.�.�(�����d����$�����D����&�����D����*�����T�����r

?>