Your IP : 216.73.216.52


Current Path : /snap/certbot/current/lib64/python3.12/site-packages/pycparser/__pycache__/
Upload File :
Current File : //snap/certbot/current/lib64/python3.12/site-packages/pycparser/__pycache__/c_ast.cpython-312.pyc

�

tI�i�����ddlZddlmZmZmZmZd�ZGd�d�ZGd�d�ZGd�d	e�Z	Gd
�de�Z
Gd�d
e�ZGd�de�ZGd�de�Z
Gd�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�ZGd6�d7e�Z Gd8�d9e�Z!Gd:�d;e�Z"Gd<�d=e�Z#Gd>�d?e�Z$Gd@�dAe�Z%GdB�dCe�Z&GdD�dEe�Z'GdF�dGe�Z(GdH�dIe�Z)GdJ�dKe�Z*GdL�dMe�Z+GdN�dOe�Z,GdP�dQe�Z-GdR�dSe�Z.GdT�dUe�Z/GdV�dWe�Z0GdX�dYe�Z1GdZ�d[e�Z2Gd\�d]e�Z3Gd^�d_e�Z4Gd`�dae�Z5Gdb�dce�Z6Gdd�dee�Z7Gdf�dge�Z8Gdh�die�Z9y)j�N)�Any�ClassVar�IO�Optionalc�t�t|t�rddjd�|D��zdzSt|�S)z[
    Get the representation of an object, with dedicated pprint-like format for lists.
    �[z,
 c3�RK�|]}t|�jdd����!y�w)�
�
 N)�_repr�replace)�.0�es  �/build/snapcraft-certbot-53a6961353a63169611ae8a78f6bfa4f/parts/certbot/install/lib/python3.12/site-packages/pycparser/c_ast.py�	<genexpr>z_repr.<locals>.<genexpr>s!����"N�Q�5��8�#3�#3�D�%�#@�"N�s�%'z
])�
isinstance�list�join�repr)�objs rrrs8���#�t���f�k�k�"N�#�"N�O�P�SX�X�X��C�y��c��eZdZUdZ	dZeeedfed<e	e
ed<d�Zd�Ze
jddd	ddd
fdeeded
edededede	efd�Zy
)�Node�.�
attr_names�coordc��|jjdz}d}d}|jddD]�}||z
}||z
}||dztt	||��jdddt
|�t
|jj�zzz�zz
}d	}d
dt
|jj�zz}��||dzz
}|S)z5Generates a python representation of the current node�(�N����=r
z
  � �,r�))�	__class__�__name__�	__slots__r�getattrr
�len)�self�result�indent�	separator�names     r�__repr__z
Node.__repr__'s������(�(�3�.�����	��N�N�3�B�'�	B�D��i��F��f��F������'�$��-�.�6�6���#��T��S����9P�9P�5Q�)Q�"R�S���	
�F��I��c�C����(?�(?�$@�@�A�F�	B�"	�&�3�,����
rc��y)z)A sequence of all children that are NodesNr�r*s r�childrenz
Node.childrenBs��rrFTN�buf�offset�	attrnames�showemptyattrs�	nodenames�	showcoord�
_my_node_namec
��d|z}|r4|�2|j||jjzdz|zdz�n+|j||jjzdz�|jr�d�}	|jD�
cgc]$}
|s|	t	||
��s|
t	||
�f��&}}
|rdjd�|D��}ndjd	�|D��}|j|�|r|jd
|j�d��|jd�|j�D] \}
}|j||d
z|||||
���"ycc}
w)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.

        showemptyattrs:
            False if you want to suppress printing empty attributes.

        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.
        r"Nz <z>: z: c�P�|duxs t|d�xrt|�dk(yyy)N�__len__r)�hasattrr))�vs r�is_emptyzNode.show.<locals>.is_emptyps(���T�	�D�g�a��3�C��A��!��C�Drz, c3�0K�|]\}}|�d|�����y�w)r!Nr)rr.�values   rrzNode.show.<locals>.<genexpr>ys����#P�+�$��t�f�A�e�W�$5�#P�s�c3�(K�|]
\}}|����y�w�Nr)r�_rAs   rrzNode.show.<locals>.<genexpr>{s����#F�8�1�e�u�g�J�#F�s�z (at r$r
�)r4r5r6r7r8r9)	�writer%r&rr(rrr2�show)r*r3r4r5r6r7r8r9�leadr?�n�nvlist�attrstr�
child_name�childs               rrGz	Node.showFsV��D�V�|����2��I�I�d�T�^�^�4�4�4�t�;�m�K�e�S�T��I�I�d�T�^�^�4�4�4�t�;�<��?�?�
E�
�����!��'�$��2B�)C��G�D�!�$�%��F��
��)�)�#P��#P�P���)�)�#F�v�#F�F���I�I�g����I�I��d�j�j�\��+�,��	�	�$��!%����		��J���J�J����z�#�-�#�#�(�
�
�		��s�)E)r&�
__module__�__qualname__r'rr�tuple�str�__annotations__rrr/r2�sys�stdoutr�int�boolrGrrrrr s����I��,.�J���s�C�x��)�.��C�=���6
��z�z���#���'+�E�
��W�E��E��	E�
�E��
E��E� ��}�Errc�,�eZdZdZdZdefd�Zdefd�Zy)�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)
    N�nodec�B�|j�i|_|jj|jjd�}|�Sd|jjz}t	|||j
�}||j|jj<||�S)z
Visit a node.N�visit_)�
_method_cache�getr%r&r(�
generic_visit)r*rY�visitor�methods    r�visitzNodeVisitor.visit�s������%�!#�D���$�$�(�(����)@�)@�$�G���?����� 7� 7�7�F��d�F�D�,>�,>�?�G�:A�D���t�~�~�6�6�7��t�}�rc�V�|j�D]\}}|j|��y)ztCalled if no explicit visitor function exists for a
        node. Implements preorder visiting of the node.
        N)r2ra)r*rYrD�cs    rr^zNodeVisitor.generic_visit�s(���M�M�O�	�D�A�q��J�J�q�M�	r)r&rNrO�__doc__r\rrar^rrrrXrX�s'���B�M��$���$�rrXc�(�eZdZdZdd�Zd�Zd�ZdZy)�	ArrayDecl)�type�dim�	dim_qualsr�__weakref__Nc�<�||_||_||_||_yrC)rgrhrir)r*rgrhrirs     r�__init__zArrayDecl.__init__�s����	����"�����
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nrgrh)rg�appendrhrP�r*�nodelists  rr2zArrayDecl.children�sO�����9�9� ��O�O�V�T�Y�Y�/�0��8�8���O�O�U�D�H�H�-�.��X��rc#�vK�|j�|j��|j�|j��yy�wrC)rgrhr1s r�__iter__zArrayDecl.__iter__�s1�����9�9� ��)�)�O��8�8���(�(�N� ���79)rirC�r&rNrOr'rlr2rrrrrrrfrf�s��D�I���� �Jrrfc�(�eZdZdZdd�Zd�Zd�ZdZy)�ArrayRef)r.�	subscriptrrjNc�.�||_||_||_yrC)r.rwr)r*r.rwrs    rrlzArrayRef.__init__�s����	�"�����
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr.rw)r.rnrwrPros  rr2zArrayRef.children�sO�����9�9� ��O�O�V�T�Y�Y�/�0��>�>�%��O�O�[�$�.�.�9�:��X��rc#�vK�|j�|j��|j�|j��yy�wrC)r.rwr1s rrrzArrayRef.__iter__�s2�����9�9� ��)�)�O��>�>�%��.�.� �&�rsrrCrtrrrrvrv�s��=�I��
�!��Jrrvc�(�eZdZdZdd�Zd�Zd�ZdZy)�
Assignment)�op�lvalue�rvaluerrjNc�<�||_||_||_||_yrC)r}r~rr)r*r}r~rrs     rrlzAssignment.__init__�s�������������
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr~r)r~rnrrPros  rr2zAssignment.childrensO�����;�;�"��O�O�X�t�{�{�3�4��;�;�"��O�O�X�t�{�{�3�4��X��rc#�vK�|j�|j��|j�|j��yy�wrC)r~rr1s rrrzAssignment.__iter__s3�����;�;�"��+�+���;�;�"��+�+��#�rs�r}rCrtrrrr|r|�s��B�I�����Jrr|c�(�eZdZdZdd�Zd�Zd�ZdZy)�Alignas)�	alignmentrrjNc� �||_||_yrC)r�r)r*r�rs   rrlzAlignas.__init__s��"�����
rc�n�g}|j�|jd|jf�t|�S)Nr�)r�rnrPros  rr2zAlignas.childrens0�����>�>�%��O�O�[�$�.�.�9�:��X��rc#�BK�|j�|j��yy�wrC)r�r1s rrrzAlignas.__iter__"s�����>�>�%��.�.� �&���rrCrtrrrr�r�s��5�I���!��Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�BinaryOp)r}�left�rightrrjNc�<�||_||_||_||_yrC)r}r�r�r)r*r}r�r�rs     rrlzBinaryOp.__init__,s�������	���
���
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr�r�)r�rnr�rPros  rr2zBinaryOp.children2�O�����9�9� ��O�O�V�T�Y�Y�/�0��:�:�!��O�O�W�d�j�j�1�2��X��rc#�vK�|j�|j��|j�|j��yy�wrC)r�r�r1s rrrzBinaryOp.__iter__:�2�����9�9� ��)�)�O��:�:�!��*�*��"�rsr�rCrtrrrr�r�)s��?�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Break�rrjNc��||_yrC�r�r*rs  rrlzBreak.__init__F�	����
rc��y�Nrrr1s rr2zBreak.childrenI���rc#�K�y�wrCrr1s rrrzBreak.__iter__L�	�������rrCrtrrrr�r�C���(�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Case)�expr�stmtsrrjNc�.�||_||_||_yrC)r�r�r)r*r�r�rs    rrlz
Case.__init__V�����	���
���
rc���g}|j�|jd|jf�t|jxsg�D]\}}|jd|�d�|f��t	|�S)Nr��stmts[�])r�rn�	enumerater�rP�r*rp�irMs    rr2z
Case.children[sj�����9�9� ��O�O�V�T�Y�Y�/�0�!�$�*�*�"2��3�	4�H�A�u��O�O�v�a�S��]�E�2�3�	4��X��rc#�rK�|j�|j��|jxsgD]}|���y�wrC)r�r��r*rMs  rrrz
Case.__iter__cs6�����9�9� ��)�)�O��Z�Z�%�2�	�E��K�	���57rrCrtrrrr�r�Ss��9�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Cast)�to_typer�rrjNc�.�||_||_||_yrC)r�r�r)r*r�r�rs    rrlz
Cast.__init__os�������	���
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr�r�)r�rnr�rPros  rr2z
Cast.childrentsO�����<�<�#��O�O�Y����5�6��9�9� ��O�O�V�T�Y�Y�/�0��X��rc#�vK�|j�|j��|j�|j��yy�wrC)r�r�r1s rrrz
Cast.__iter__|s2�����<�<�#��,�,���9�9� ��)�)�O�!�rsrrCrtrrrr�r�ls��;�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Compound)�block_itemsrrjNc� �||_||_yrC)r�r)r*r�rs   rrlzCompound.__init__����&�����
rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�S)Nzblock_items[r�)r�r�rnrPr�s    rr2zCompound.children��N����!�$�"2�"2�"8�b�9�	:�H�A�u��O�O�|�A�3�a�0�%�8�9�	:��X��rc#�>K�|jxsgD]}|���y�wrC)r�r�s  rrrzCompound.__iter__��%�����%�%�+��	�E��K�	���rrCrtrrrr�r�����7�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�CompoundLiteral)rg�initrrjNc�.�||_||_||_yrC)rgr�r)r*rgr�rs    rrlzCompoundLiteral.__init__������	���	���
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nrgr�)rgrnr�rPros  rr2zCompoundLiteral.children��O�����9�9� ��O�O�V�T�Y�Y�/�0��9�9� ��O�O�V�T�Y�Y�/�0��X��rc#�vK�|j�|j��|j�|j��yy�wrC)rgr�r1s rrrzCompoundLiteral.__iter__��1�����9�9� ��)�)�O��9�9� ��)�)�O�!�rsrrCrtrrrr�r�����8�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Constant)rgrArrjNc�.�||_||_||_yrC)rgrAr)r*rgrArs    rrlzConstant.__init__�r�rc��g}t|�SrC�rPros  rr2zConstant.children�������X��rc#�K�y�wrCrr1s rrrzConstant.__iter__�r�r�)rgrArCrtrrrr�r��s��9�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Continuer�Nc��||_yrCr�r�s  rrlzContinue.__init__�r�rc��yr�rr1s rr2zContinue.children�r�rc#�K�y�wrCrr1s rrrzContinue.__iter__�r�r�rrCrtrrrr�r��r�rr�c�*�eZdZdZ	dd�Zd�Zd�ZdZy)�Decl)
r.�quals�align�storage�funcspecrgr��bitsizerrjNc
��||_||_||_||_||_||_||_||_|	|_yrC)	r.r�r�r�r�rgr�r�r)
r*r.r�r�r�r�rgr�r�rs
          rrlz
Decl.__init__�sC����	���
���
���� ��
���	���	������
rc��g}|j�|jd|jf�|j�|jd|jf�|j�|jd|jf�t	|�S)Nrgr�r�)rgrnr�r�rPros  rr2z
Decl.children�sn�����9�9� ��O�O�V�T�Y�Y�/�0��9�9� ��O�O�V�T�Y�Y�/�0��<�<�#��O�O�Y����5�6��X��rc#�K�|j�|j��|j�|j��|j�|j��yy�wrC)rgr�r�r1s rrrz
Decl.__iter__�sE�����9�9� ��)�)�O��9�9� ��)�)�O��<�<�#��,�,��$���AA)r.r�r�r�r�rCrtrrrr�r��s&���I�QU�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�DeclList)�declsrrjNc� �||_||_yrC)r�r)r*r�rs   rrlzDeclList.__init__�����
���
rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�S�Nzdecls[r��r�r�rnrPr�s    rr2zDeclList.children�K����!�$�*�*�"2��3�	4�H�A�u��O�O�v�a�S��]�E�2�3�	4��X��rc#�>K�|jxsgD]}|���y�wrC�r�r�s  rrrzDeclList.__iter__�#�����Z�Z�%�2�	�E��K�	�r�rrCrtrrrr�r����1�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Default)r�rrjNc� �||_||_yrC)r�r)r*r�rs   rrlzDefault.__init__%r�rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�S)Nr�r�)r�r�rnrPr�s    rr2zDefault.children)r�rc#�>K�|jxsgD]}|���y�wrC)r�r�s  rrrzDefault.__iter__/r�r�rrCrtrrrr�r�"r�rr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�DoWhile��cond�stmtrrjNc�.�||_||_||_yrC�r�r�r�r*r�r�rs    rrlzDoWhile.__init__9r�rc��g}|j�|jd|jf�|j�|jd|jf�t|�S�Nr�r��r�rnr�rPros  rr2zDoWhile.children>r�rc#�vK�|j�|j��|j�|j��yy�wrC�r�r�r1s rrrzDoWhile.__iter__Fr�rsrrCrtrrrr�r�6r�rr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�
EllipsisParamr�Nc��||_yrCr�r�s  rrlzEllipsisParam.__init__Rr�rc��yr�rr1s rr2zEllipsisParam.childrenUr�rc#�K�y�wrCrr1s rrrzEllipsisParam.__iter__Xr�r�rrCrtrrrrrOr�rrc�(�eZdZdZdd�Zd�Zd�ZdZy)�EmptyStatementr�Nc��||_yrCr�r�s  rrlzEmptyStatement.__init__br�rc��yr�rr1s rr2zEmptyStatement.childrener�rc#�K�y�wrCrr1s rrrzEmptyStatement.__iter__hr�r�rrCrtrrrrr_r�rrc�(�eZdZdZdd�Zd�Zd�ZdZy)�Enum)r.�valuesrrjNc�.�||_||_||_yrC)r.rr)r*r.rrs    rrlz
Enum.__init__rs����	������
rc�n�g}|j�|jd|jf�t|�S)Nr)rrnrPros  rr2z
Enum.childrenws0�����;�;�"��O�O�X�t�{�{�3�4��X��rc#�BK�|j�|j��yy�wrC)rr1s rrrz
Enum.__iter__}s�����;�;�"��+�+��#�r��r.rCrtrrrr
r
os��:�I��
���Jrr
c�(�eZdZdZdd�Zd�Zd�ZdZy)�
Enumerator)r.rArrjNc�.�||_||_||_yrC)r.rAr)r*r.rArs    rrlzEnumerator.__init__�r�rc�n�g}|j�|jd|jf�t|�S)NrA)rArnrPros  rr2zEnumerator.children�s0�����:�:�!��O�O�W�d�j�j�1�2��X��rc#�BK�|j�|j��yy�wrC)rAr1s rrrzEnumerator.__iter__�s�����:�:�!��*�*��"�r�rrCrtrrrrr�s��9�I��
���Jrrc�(�eZdZdZdd�Zd�Zd�ZdZy)�EnumeratorList)�enumeratorsrrjNc� �||_||_yrC)rr)r*rrs   rrlzEnumeratorList.__init__�r�rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�S)Nzenumerators[r�)r�rrnrPr�s    rr2zEnumeratorList.children�r�rc#�>K�|jxsgD]}|���y�wrC)rr�s  rrrzEnumeratorList.__iter__�r�r�rrCrtrrrrr�r�rrc�(�eZdZdZdd�Zd�Zd�ZdZy)�ExprList��exprsrrjNc� �||_||_yrC�r!r�r*r!rs   rrlzExprList.__init__�r�rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�S�Nzexprs[r��r�r!rnrPr�s    rr2zExprList.children�r�rc#�>K�|jxsgD]}|���y�wrC�r!r�s  rrrzExprList.__iter__�r�r�rrCrtrrrrr�r�rrc�(�eZdZdZdd�Zd�Zd�ZdZy)�FileAST)�extrrjNc� �||_||_yrC)r,r)r*r,rs   rrlzFileAST.__init__�s�������
rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�S)Nzext[r�)r�r,rnrPr�s    rr2zFileAST.children�sJ����!�$�(�(�.�b�1�	2�H�A�u��O�O�t�A�3�a�[�%�0�1�	2��X��rc#�>K�|jxsgD]}|���y�wrC)r,r�s  rrrzFileAST.__iter__�s"�����X�X�^��	�E��K�	�r�rrCrtrrrr+r+�s��/�I�����Jrr+c�(�eZdZdZdd�Zd�Zd�ZdZy)�For)r�r��nextr�rrjNc�J�||_||_||_||_||_yrC)r�r�r2r�r)r*r�r�r2r�rs      rrlzFor.__init__�s%����	���	���	���	���
rc�d�g}|j�|jd|jf�|j�|jd|jf�|j�|jd|jf�|j�|jd|jf�t|�S)Nr�r�r2r�)r�rnr�r2r�rPros  rr2zFor.children�s������9�9� ��O�O�V�T�Y�Y�/�0��9�9� ��O�O�V�T�Y�Y�/�0��9�9� ��O�O�V�T�Y�Y�/�0��9�9� ��O�O�V�T�Y�Y�/�0��X��rc#��K�|j�|j��|j�|j��|j�|j��|j�|j��yy�wrC)r�r�r2r�r1s rrrzFor.__iter__�sW�����9�9� ��)�)�O��9�9� ��)�)�O��9�9� ��)�)�O��9�9� ��)�)�O�!�s�A+A-rrCrtrrrr1r1�s��H�I��
���Jrr1c�(�eZdZdZdd�Zd�Zd�ZdZy)�FuncCall)r.�argsrrjNc�.�||_||_||_yrC)r.r8r)r*r.r8rs    rrlzFuncCall.__init__�r�rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr.r8)r.rnr8rPros  rr2zFuncCall.childrenr�rc#�vK�|j�|j��|j�|j��yy�wrC)r.r8r1s rrrzFuncCall.__iter__r�rsrrCrtrrrr7r7�r�rr7c�(�eZdZdZdd�Zd�Zd�ZdZy)�FuncDecl)r8rgrrjNc�.�||_||_||_yrC)r8rgr)r*r8rgrs    rrlzFuncDecl.__init__r�rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr8rg)r8rnrgrPros  rr2zFuncDecl.childrenr�rc#�vK�|j�|j��|j�|j��yy�wrC)r8rgr1s rrrzFuncDecl.__iter__!r�rsrrCrtrrrr=r=r�rr=c�(�eZdZdZdd�Zd�Zd�ZdZy)�FuncDef)�decl�param_decls�bodyrrjNc�<�||_||_||_||_yrC)rCrDrEr)r*rCrDrErs     rrlzFuncDef.__init__-s����	�&�����	���
rc�0�g}|j�|jd|jf�|j�|jd|jf�t|jxsg�D]\}}|jd|�d�|f��t|�S)NrCrEzparam_decls[r�)rCrnrEr�rDrPr�s    rr2zFuncDef.children3s������9�9� ��O�O�V�T�Y�Y�/�0��9�9� ��O�O�V�T�Y�Y�/�0�!�$�"2�"2�"8�b�9�	:�H�A�u��O�O�|�A�3�a�0�%�8�9�	:��X��rc#�K�|j�|j��|j�|j��|jxsgD]}|���y�wrC)rCrErDr�s  rrrzFuncDef.__iter__=sK�����9�9� ��)�)�O��9�9� ��)�)�O��%�%�+��	�E��K�	�s�AArrCrtrrrrBrB*s��G�I�����JrrBc�(�eZdZdZdd�Zd�Zd�ZdZy)�Goto�r.rrjNc� �||_||_yrC�r.r�r*r.rs   rrlz
Goto.__init__K�����	���
rc��g}t|�SrCr�ros  rr2z
Goto.childrenOr�rc#�K�y�wrCrr1s rrrz
Goto.__iter__Sr�r�rrCrtrrrrJrJH���0�I�����JrrJc�(�eZdZdZdd�Zd�Zd�ZdZy)�IDrKNc� �||_||_yrCrMrNs   rrlzID.__init__]rOrc��g}t|�SrCr�ros  rr2zID.childrenar�rc#�K�y�wrCrr1s rrrzID.__iter__er�r�rrCrtrrrrTrTZrRrrTc�(�eZdZdZdd�Zd�Zd�ZdZy)�IdentifierType)�namesrrjNc� �||_||_yrC)rZr)r*rZrs   rrlzIdentifierType.__init__or�rc��g}t|�SrCr�ros  rr2zIdentifierType.childrensr�rc#�K�y�wrCrr1s rrrzIdentifierType.__iter__wr�r�)rZrCrtrrrrYrYls��1�I�����JrrYc�(�eZdZdZdd�Zd�Zd�ZdZy)�If�r��iftrue�iffalserrjNc�<�||_||_||_||_yrC�r�rarbr�r*r�rarbrs     rrlzIf.__init__������	���������
rc��g}|j�|jd|jf�|j�|jd|jf�|j�|jd|jf�t	|�S�Nr�rarb�r�rnrarbrPros  rr2zIf.children��n�����9�9� ��O�O�V�T�Y�Y�/�0��;�;�"��O�O�X�t�{�{�3�4��<�<�#��O�O�Y����5�6��X��rc#�K�|j�|j��|j�|j��|j�|j��yy�wrC�r�rarbr1s rrrzIf.__iter__��F�����9�9� ��)�)�O��;�;�"��+�+���<�<�#��,�,��$�r�rrCrtrrrr_r_~���E�I�����Jrr_c�(�eZdZdZdd�Zd�Zd�ZdZy)�InitListr Nc� �||_||_yrCr#r$s   rrlzInitList.__init__�r�rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�Sr&r'r�s    rr2zInitList.children�r�rc#�>K�|jxsgD]}|���y�wrCr)r�s  rrrzInitList.__iter__�r�r�rrCrtrrrrprp�r�rrpc�(�eZdZdZdd�Zd�Zd�ZdZy)�Label)r.r�rrjNc�.�||_||_||_yrC)r.r�r)r*r.r�rs    rrlzLabel.__init__�r�rc�n�g}|j�|jd|jf�t|�S)Nr�)r�rnrPros  rr2zLabel.children��0�����9�9� ��O�O�V�T�Y�Y�/�0��X��rc#�BK�|j�|j��yy�wrC)r�r1s rrrzLabel.__iter__�������9�9� ��)�)�O�!�r�rrCrtrrrruru�s��8�I��
���Jrruc�(�eZdZdZdd�Zd�Zd�ZdZy)�NamedInitializer)r.r�rrjNc�.�||_||_||_yrC)r.r�r)r*r.r�rs    rrlzNamedInitializer.__init__�r�rc���g}|j�|jd|jf�t|jxsg�D]\}}|jd|�d�|f��t	|�S)Nr�zname[r�)r�rnr�r.rPr�s    rr2zNamedInitializer.children�si�����9�9� ��O�O�V�T�Y�Y�/�0�!�$�)�)�/�r�2�	3�H�A�u��O�O�u�Q�C�q�\�5�1�2�	3��X��rc#�rK�|j�|j��|jxsgD]}|���y�wrC)r�r.r�s  rrrzNamedInitializer.__iter__�s5�����9�9� ��)�)�O��Y�Y�_�"�	�E��K�	�r�rrCrtrrrr|r|�s��8�I��
���Jrr|c�(�eZdZdZdd�Zd�Zd�ZdZy)�	ParamList)�paramsrrjNc� �||_||_yrC)r�r)r*r�rs   rrlzParamList.__init__���������
rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�S)Nzparams[r�)r�r�rnrPr�s    rr2zParamList.children�sK����!�$�+�+�"3��4�	5�H�A�u��O�O�w�q�c��^�U�3�4�	5��X��rc#�>K�|jxsgD]}|���y�wrC)r�r�s  rrrzParamList.__iter__�s#�����[�[�&�B�	�E��K�	�r�rrCrtrrrr�r��s��2�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�PtrDecl)r�rgrrjNc�.�||_||_||_yrC)r�rgr)r*r�rgrs    rrlzPtrDecl.__init__�s����
���	���
rc�n�g}|j�|jd|jf�t|�S�Nrg�rgrnrPros  rr2zPtrDecl.children�rxrc#�BK�|j�|j��yy�wrC�rgr1s rrrzPtrDecl.__iter__rzr�)r�rCrtrrrr�r��s��9�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Return)r�rrjNc� �||_||_yrC)r�r)r*r�rs   rrlzReturn.__init__
rOrc�n�g}|j�|jd|jf�t|�S�Nr��r�rnrPros  rr2zReturn.childrenrxrc#�BK�|j�|j��yy�wrC�r�r1s rrrzReturn.__iter__rzr�rrCrtrrrr�r�s��0�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�StaticAssert)r��messagerrjNc�.�||_||_||_yrC)r�r�r)r*r�r�rs    rrlzStaticAssert.__init__s����	������
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr�r�)r�rnr�rPros  rr2zStaticAssert.children#sO�����9�9� ��O�O�V�T�Y�Y�/�0��<�<�#��O�O�Y����5�6��X��rc#�vK�|j�|j��|j�|j��yy�wrC)r�r�r1s rrrzStaticAssert.__iter__+s2�����9�9� ��)�)�O��<�<�#��,�,��$�rsrrCrtrrrr�r�s��;�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Struct�r.r�rrjNc�.�||_||_||_yrC�r.r�r�r*r.r�rs    rrlzStruct.__init__7r�rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�Sr�r�r�s    rr2zStruct.children<r�rc#�>K�|jxsgD]}|���y�wrCr�r�s  rrrzStruct.__iter__Br�r�rrCrtrrrr�r�4���9�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�	StructRef)r.rg�fieldrrjNc�<�||_||_||_||_yrC)r.rgr�r)r*r.rgr�rs     rrlzStructRef.__init__Ls����	���	���
���
rc��g}|j�|jd|jf�|j�|jd|jf�t|�S)Nr.r�)r.rnr�rPros  rr2zStructRef.childrenRr�rc#�vK�|j�|j��|j�|j��yy�wrC)r.r�r1s rrrzStructRef.__iter__Zr�rsr�rCrtrrrr�r�Is��A�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Switchr�Nc�.�||_||_||_yrCr�r�s    rrlzSwitch.__init__fr�rc��g}|j�|jd|jf�|j�|jd|jf�t|�Sr�r�ros  rr2zSwitch.childrenkr�rc#�vK�|j�|j��|j�|j��yy�wrCrr1s rrrzSwitch.__iter__sr�rsrrCrtrrrr�r�cr�rr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�	TernaryOpr`Nc�<�||_||_||_||_yrCrdres     rrlzTernaryOp.__init__rfrc��g}|j�|jd|jf�|j�|jd|jf�|j�|jd|jf�t	|�Srhriros  rr2zTernaryOp.children�rjrc#�K�|j�|j��|j�|j��|j�|j��yy�wrCrlr1s rrrzTernaryOp.__iter__�rmr�rrCrtrrrr�r�|rnrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�TypeDecl)�declnamer�r�rgrrjNc�J�||_||_||_||_||_yrC)r�r�r�rgr)r*r�r�r�rgrs      rrlzTypeDecl.__init__�s%�� ��
���
���
���	���
rc�n�g}|j�|jd|jf�t|�Sr�r�ros  rr2zTypeDecl.children�rxrc#�BK�|j�|j��yy�wrCr�r1s rrrzTypeDecl.__iter__�rzr�)r�r�r�rCrtrrrr�r��s��N�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Typedef)r.r�r�rgrrjNc�J�||_||_||_||_||_yrC)r.r�r�rgr)r*r.r�r�rgrs      rrlzTypedef.__init__�s%����	���
������	���
rc�n�g}|j�|jd|jf�t|�Sr�r�ros  rr2zTypedef.children�rxrc#�BK�|j�|j��yy�wrCr�r1s rrrzTypedef.__iter__�rzr�)r.r�r�rCrtrrrr�r��s��L�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Typename)r.r�r�rgrrjNc�J�||_||_||_||_||_yrC)r.r�r�rgr)r*r.r�r�rgrs      rrlzTypename.__init__�s%����	���
���
���	���
rc�n�g}|j�|jd|jf�t|�Sr�r�ros  rr2zTypename.children�rxrc#�BK�|j�|j��yy�wrCr�r1s rrrzTypename.__iter__�rzr�)r.r�r�rCrtrrrr�r��s��J�I�����Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�UnaryOp)r}r�rrjNc�.�||_||_||_yrC)r}r�r)r*r}r�rs    rrlzUnaryOp.__init__�s�������	���
rc�n�g}|j�|jd|jf�t|�Sr�r�ros  rr2zUnaryOp.children�rxrc#�BK�|j�|j��yy�wrCr�r1s rrrzUnaryOp.__iter__�rzr�r�rCrtrrrr�r��s��6�I��
���Jrr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Unionr�Nc�.�||_||_||_yrCr�r�s    rrlzUnion.__init__r�rc��g}t|jxsg�D]\}}|jd|�d�|f��t|�Sr�r�r�s    rr2zUnion.childrenr�rc#�>K�|jxsgD]}|���y�wrCr�r�s  rrrzUnion.__iter__r�r�rrCrtrrrr�r�r�rr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Whiler�Nc�.�||_||_||_yrCr�r�s    rrlzWhile.__init__r�rc��g}|j�|jd|jf�|j�|jd|jf�t|�Sr�r�ros  rr2zWhile.childrenr�rc#�vK�|j�|j��|j�|j��yy�wrCrr1s rrrzWhile.__iter__%r�rsrrCrtrrrr�r�r�rr�c�(�eZdZdZdd�Zd�Zd�ZdZy)�Pragma)�stringrrjNc� �||_||_yrC)r�r)r*r�rs   rrlzPragma.__init__1r�rc��g}t|�SrCr�ros  rr2zPragma.children5r�rc#�K�y�wrCrr1s rrrzPragma.__iter__9r�r�)r�rCrtrrrr�r�.s��2�I�����Jrr�):rS�typingrrrrrrrXrfrvr|r�r�r�r�r�r�r�r�r�r�r�r�r�rrr
rrrr+r1r7r=rBrJrTrYr_rprur|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�<module>r�s{��$�.�.��k�k�\7�7�t �� �4�t��2���4�d��(�t��4
�D�
� �4��2�4��2�t��(�d��2�t��,
�t�
� 3�4�3�l�t��(�d��(�d��2
�D�
� 
�T�
� �4��*���*�T��(�t��(�d��( �$� �F�t��2�t��2�d��<�4��$���$�T��$���<�t��(�D��*�t��2���(�d��*�T��(�4��2�T��*���4�T��2���<�t��6�d��6�t��6�d��*�D��*�D��2�T�r