o
    "“iÕz  ã                   @   sD  d dl Z dd„ ZG dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZ	G dd„ deƒZ
G dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG d d!„ d!eƒZG d"d#„ d#eƒZG d$d%„ d%eƒZG d&d'„ d'eƒZG d(d)„ d)eƒZG d*d+„ d+eƒZG d,d-„ d-eƒZG d.d/„ d/eƒZG d0d1„ d1eƒZG d2d3„ d3eƒZG d4d5„ d5eƒZG d6d7„ d7eƒZG d8d9„ d9eƒZG d:d;„ d;eƒZG d<d=„ d=eƒZG d>d?„ d?eƒZ G d@dA„ dAeƒZ!G dBdC„ dCeƒZ"G dDdE„ dEeƒZ#G dFdG„ dGeƒZ$G dHdI„ dIeƒZ%G dJdK„ dKeƒZ&G dLdM„ dMeƒZ'G dNdO„ dOeƒZ(G dPdQ„ dQeƒZ)G dRdS„ dSeƒZ*G dTdU„ dUeƒZ+G dVdW„ dWeƒZ,G dXdY„ dYeƒZ-G dZd[„ d[eƒZ.G d\d]„ d]eƒZ/G d^d_„ d_eƒZ0G d`da„ daeƒZ1G dbdc„ dceƒZ2G ddde„ deeƒZ3G dfdg„ dgeƒZ4G dhdi„ dieƒZ5dS )jé    Nc                 C   s.   t | tƒrdd dd„ | D ƒ¡ d S t| ƒS )z[
    Get the representation of an object, with dedicated pprint-like format for lists.
    ú[z,
 c                 s   s    � | ]}t |ƒ d d¡V  qdS )Ú
ú
 N)Ú_reprÚreplace)Ú.0Úe© r	   úO/var/www/html/premium_crap/venv/lib/python3.10/site-packages/pycparser/c_ast.pyÚ	<genexpr>   s   € z_repr.<locals>.<genexpr>z
])Ú
isinstanceÚlistÚjoinÚrepr)Úobjr	   r	   r
   r      s   
r   c                   @   s:   e Zd ZdZ	 dd„ Zdd„ Zejdddddfd	d
„ZdS )ÚNoder	   c                 C   sš   | j jd }d}d}| jdd… D ]3}||7 }||7 }||d tt| |ƒƒ dddt|ƒt| j jƒ   ¡ 7 }d	}d
dt| j jƒ  }q||d 7 }|S )z? Generates a python representation of the current node
        ú(Ú Néþÿÿÿú=r   z
  ú ú,r   ú))Ú	__class__Ú__name__Ú	__slots__r   Úgetattrr   Úlen)ÚselfÚresultÚindentÚ	separatorÚnamer	   r	   r
   Ú__repr__"   s   :zNode.__repr__c                 C   ó   dS )z3 A sequence of all children that are Nodes
        Nr	   ©r   r	   r	   r
   Úchildren5   s   zNode.childrenr   FNc              	      sþ   d| }|r|dur|  |ˆ jj d | d ¡ n|  |ˆ jj d ¡ ˆ jrX|r?‡ fdd„ˆ jD ƒ}d d	d
„ |D ƒ¡}	n‡ fdd„ˆ jD ƒ}
d dd
„ |
D ƒ¡}	|  |	¡ |rb|  dˆ j ¡ |  d¡ ˆ  ¡ D ]\}}|j||d ||||d� qkdS )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.
        r   Nz <z>: z: c                    s   g | ]	}|t ˆ |ƒf‘qS r	   ©r   ©r   Únr%   r	   r
   Ú
<listcomp>X   s    zNode.show.<locals>.<listcomp>z, c                 s   ó   � | ]}d | V  qdS )z%s=%sNr	   )r   Únvr	   r	   r
   r   Y   ó   € zNode.show.<locals>.<genexpr>c                    s   g | ]}t ˆ |ƒ‘qS r	   r'   r(   r%   r	   r
   r*   [   s    c                 s   r+   )z%sNr	   )r   Úvr	   r	   r
   r   \   r-   z (at %s)r   é   )ÚoffsetÚ	attrnamesÚ	nodenamesÚ	showcoordÚ_my_node_name)Úwriter   r   Ú
attr_namesr   Úcoordr&   Úshow)r   Úbufr0   r1   r2   r3   r4   ÚleadÚnvlistÚattrstrÚvlistÚ
child_nameÚchildr	   r%   r
   r8   :   s0    

úÿz	Node.show)	r   Ú
__module__Ú__qualname__r   r#   r&   ÚsysÚstdoutr8   r	   r	   r	   r
   r      s    r   c                   @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )Ú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                 C   sZ   | j du ri | _ | j  |jjd¡}|du r)d|jj }t| || jƒ}|| j |jj< ||ƒS )z Visit a node.
        NÚvisit_)Ú_method_cacheÚgetr   r   r   Úgeneric_visit)r   ÚnodeÚvisitorÚmethodr	   r	   r
   Úvisit‘   s   
zNodeVisitor.visitc                 C   s   |D ]}|   |¡ qdS )zy Called if no explicit visitor function exists for a
            node. Implements preorder visiting of the node.
        N)rL   )r   rI   Úcr	   r	   r
   rH       s   ÿzNodeVisitor.generic_visit)r   r@   rA   Ú__doc__rF   rL   rH   r	   r	   r	   r
   rD   m   s
    !rD   c                   @   ó.   e Zd ZdZd
dd„Zdd„ Zdd„ Zd	ZdS )Ú	ArrayDecl)ÚtypeÚdimÚ	dim_qualsr7   Ú__weakref__Nc                 C   ó   || _ || _|| _|| _d S ©N)rQ   rR   rS   r7   )r   rQ   rR   rS   r7   r	   r	   r
   Ú__init__©   ó   
zArrayDecl.__init__c                 C   ó@   g }| j d ur| d| j f¡ | jd ur| d| jf¡ t|ƒS )NrQ   rR   )rQ   ÚappendrR   Útuple©r   Únodelistr	   r	   r
   r&   ¯   ó   zArrayDecl.childrenc                 c   ó.   � | j d ur
| j V  | jd ur| jV  d S d S rV   )rQ   rR   r%   r	   r	   r
   Ú__iter__µ   ó   €

ÿzArrayDecl.__iter__)rS   rV   ©r   r@   rA   r   rW   r&   r`   r6   r	   r	   r	   r
   rP   §   ó    
rP   c                   @   rO   )ÚArrayRef)r"   Ú	subscriptr7   rT   Nc                 C   ó   || _ || _|| _d S rV   )r"   re   r7   )r   r"   re   r7   r	   r	   r
   rW   ¿   ó   
zArrayRef.__init__c                 C   rY   )Nr"   re   )r"   rZ   re   r[   r\   r	   r	   r
   r&   Ä   r^   zArrayRef.childrenc                 c   r_   rV   )r"   re   r%   r	   r	   r
   r`   Ê   ra   zArrayRef.__iter__r	   rV   rb   r	   r	   r	   r
   rd   ½   ó    
rd   c                   @   rO   )Ú
Assignment)ÚopÚlvalueÚrvaluer7   rT   Nc                 C   rU   rV   )rj   rk   rl   r7   )r   rj   rk   rl   r7   r	   r	   r
   rW   Ô   rX   zAssignment.__init__c                 C   rY   )Nrk   rl   )rk   rZ   rl   r[   r\   r	   r	   r
   r&   Ú   r^   zAssignment.childrenc                 c   r_   rV   )rk   rl   r%   r	   r	   r
   r`   à   ra   zAssignment.__iter__©rj   rV   rb   r	   r	   r	   r
   ri   Ò   rc   ri   c                   @   rO   )ÚAlignas)Ú	alignmentr7   rT   Nc                 C   ó   || _ || _d S rV   )ro   r7   )r   ro   r7   r	   r	   r
   rW   ê   ó   
zAlignas.__init__c                 C   ó&   g }| j d ur| d| j f¡ t|ƒS )Nro   )ro   rZ   r[   r\   r	   r	   r
   r&   î   ó   zAlignas.childrenc                 c   ó   � | j d ur| j V  d S d S rV   )ro   r%   r	   r	   r
   r`   ó   ó   €
ÿzAlignas.__iter__r	   rV   rb   r	   r	   r	   r
   rn   è   ó    
rn   c                   @   rO   )ÚBinaryOp)rj   ÚleftÚrightr7   rT   Nc                 C   rU   rV   )rj   rx   ry   r7   )r   rj   rx   ry   r7   r	   r	   r
   rW   û   rX   zBinaryOp.__init__c                 C   rY   )Nrx   ry   )rx   rZ   ry   r[   r\   r	   r	   r
   r&     r^   zBinaryOp.childrenc                 c   r_   rV   )rx   ry   r%   r	   r	   r
   r`     ra   zBinaryOp.__iter__rm   rV   rb   r	   r	   r	   r
   rw   ù   rc   rw   c                   @   rO   )ÚBreak©r7   rT   Nc                 C   ó
   || _ d S rV   ©r7   ©r   r7   r	   r	   r
   rW     ó   
zBreak.__init__c                 C   r$   ©Nr	   r	   r%   r	   r	   r
   r&     ó   zBreak.childrenc                 c   ó   � d S rV   r	   r%   r	   r	   r
   r`     ó   €zBreak.__iter__r	   rV   rb   r	   r	   r	   r
   rz     ó    
rz   c                   @   rO   )ÚCase)ÚexprÚstmtsr7   rT   Nc                 C   rf   rV   )r†   r‡   r7   )r   r†   r‡   r7   r	   r	   r
   rW     rg   zCase.__init__c                 C   óP   g }| j d ur| d| j f¡ t| jpg ƒD ]\}}| d| |f¡ qt|ƒS )Nr†   ú	stmts[%d])r†   rZ   Ú	enumerater‡   r[   ©r   r]   Úir?   r	   r	   r
   r&   $  ó
   zCase.childrenc                 c   ó.   � | j d ur
| j V  | jpg D ]}|V  qd S rV   )r†   r‡   ©r   r?   r	   r	   r
   r`   +  ó   €
ÿzCase.__iter__r	   rV   rb   r	   r	   r	   r
   r…     ó    
r…   c                   @   rO   )ÚCast)Úto_typer†   r7   rT   Nc                 C   rf   rV   )r“   r†   r7   )r   r“   r†   r7   r	   r	   r
   rW   5  rg   zCast.__init__c                 C   rY   )Nr“   r†   )r“   rZ   r†   r[   r\   r	   r	   r
   r&   :  r^   zCast.childrenc                 c   r_   rV   )r“   r†   r%   r	   r	   r
   r`   @  ra   zCast.__iter__r	   rV   rb   r	   r	   r	   r
   r’   3  rh   r’   c                   @   rO   )ÚCompound)Úblock_itemsr7   rT   Nc                 C   rp   rV   )r•   r7   )r   r•   r7   r	   r	   r
   rW   J  rq   zCompound.__init__c                 C   ó6   g }t | jpg ƒD ]\}}| d| |f¡ q	t|ƒS )Nzblock_items[%d])rŠ   r•   rZ   r[   r‹   r	   r	   r
   r&   N  ó   zCompound.childrenc                 c   ó   � | j pg D ]}|V  qd S rV   )r•   r�   r	   r	   r
   r`   T  ó   €ÿzCompound.__iter__r	   rV   rb   r	   r	   r	   r
   r”   H  ó    
r”   c                   @   rO   )ÚCompoundLiteral)rQ   Úinitr7   rT   Nc                 C   rf   rV   )rQ   rœ   r7   )r   rQ   rœ   r7   r	   r	   r
   rW   \  rg   zCompoundLiteral.__init__c                 C   rY   )NrQ   rœ   )rQ   rZ   rœ   r[   r\   r	   r	   r
   r&   a  r^   zCompoundLiteral.childrenc                 c   r_   rV   )rQ   rœ   r%   r	   r	   r
   r`   g  ra   zCompoundLiteral.__iter__r	   rV   rb   r	   r	   r	   r
   r›   Z  rh   r›   c                   @   rO   )ÚConstant)rQ   Úvaluer7   rT   Nc                 C   rf   rV   )rQ   rž   r7   )r   rQ   rž   r7   r	   r	   r
   rW   q  rg   zConstant.__init__c                 C   ó   g }t |ƒS rV   ©r[   r\   r	   r	   r
   r&   v  ó   zConstant.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   z  rƒ   zConstant.__iter__)rQ   rž   rV   rb   r	   r	   r	   r
   r�   o  s    
r�   c                   @   rO   )ÚContinuer{   Nc                 C   r|   rV   r}   r~   r	   r	   r
   rW   ‚  r   zContinue.__init__c                 C   r$   r€   r	   r%   r	   r	   r
   r&   …  r�   zContinue.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   ˆ  rƒ   zContinue.__iter__r	   rV   rb   r	   r	   r	   r
   r¢   €  r„   r¢   c                   @   rO   )ÚDecl)
r"   ÚqualsÚalignÚstorageÚfuncspecrQ   rœ   Úbitsizer7   rT   Nc
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _d S rV   )	r"   r¤   r¥   r¦   r§   rQ   rœ   r¨   r7   )
r   r"   r¤   r¥   r¦   r§   rQ   rœ   r¨   r7   r	   r	   r
   rW   �  s   
zDecl.__init__c                 C   óZ   g }| j d ur| d| j f¡ | jd ur| d| jf¡ | jd ur)| d| jf¡ t|ƒS )NrQ   rœ   r¨   )rQ   rZ   rœ   r¨   r[   r\   r	   r	   r
   r&   ›  ó
   zDecl.childrenc                 c   ó@   � | j d ur
| j V  | jd ur| jV  | jd ur| jV  d S d S rV   )rQ   rœ   r¨   r%   r	   r	   r
   r`   ¢  ó   €


ÿzDecl.__iter__)r"   r¤   r¥   r¦   r§   rV   rb   r	   r	   r	   r
   r£   Ž  s    
r£   c                   @   rO   )ÚDeclList)Údeclsr7   rT   Nc                 C   rp   rV   )r®   r7   )r   r®   r7   r	   r	   r
   rW   ®  rq   zDeclList.__init__c                 C   r–   ©Nz	decls[%d]©rŠ   r®   rZ   r[   r‹   r	   r	   r
   r&   ²  r—   zDeclList.childrenc                 c   r˜   rV   ©r®   r�   r	   r	   r
   r`   ¸  r™   zDeclList.__iter__r	   rV   rb   r	   r	   r	   r
   r­   ¬  rš   r­   c                   @   rO   )ÚDefault)r‡   r7   rT   Nc                 C   rp   rV   )r‡   r7   )r   r‡   r7   r	   r	   r
   rW   À  rq   zDefault.__init__c                 C   r–   )Nr‰   )rŠ   r‡   rZ   r[   r‹   r	   r	   r
   r&   Ä  r—   zDefault.childrenc                 c   r˜   rV   )r‡   r�   r	   r	   r
   r`   Ê  r™   zDefault.__iter__r	   rV   rb   r	   r	   r	   r
   r²   ¾  rš   r²   c                   @   rO   )ÚDoWhile©ÚcondÚstmtr7   rT   Nc                 C   rf   rV   ©rµ   r¶   r7   ©r   rµ   r¶   r7   r	   r	   r
   rW   Ò  rg   zDoWhile.__init__c                 C   rY   ©Nrµ   r¶   ©rµ   rZ   r¶   r[   r\   r	   r	   r
   r&   ×  r^   zDoWhile.childrenc                 c   r_   rV   ©rµ   r¶   r%   r	   r	   r
   r`   Ý  ra   zDoWhile.__iter__r	   rV   rb   r	   r	   r	   r
   r³   Ð  rh   r³   c                   @   rO   )ÚEllipsisParamr{   Nc                 C   r|   rV   r}   r~   r	   r	   r
   rW   ç  r   zEllipsisParam.__init__c                 C   r$   r€   r	   r%   r	   r	   r
   r&   ê  r�   zEllipsisParam.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   í  rƒ   zEllipsisParam.__iter__r	   rV   rb   r	   r	   r	   r
   r¼   å  r„   r¼   c                   @   rO   )ÚEmptyStatementr{   Nc                 C   r|   rV   r}   r~   r	   r	   r
   rW   õ  r   zEmptyStatement.__init__c                 C   r$   r€   r	   r%   r	   r	   r
   r&   ø  r�   zEmptyStatement.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   û  rƒ   zEmptyStatement.__iter__r	   rV   rb   r	   r	   r	   r
   r½   ó  r„   r½   c                   @   rO   )ÚEnum)r"   Úvaluesr7   rT   Nc                 C   rf   rV   )r"   r¿   r7   )r   r"   r¿   r7   r	   r	   r
   rW     rg   zEnum.__init__c                 C   rr   )Nr¿   )r¿   rZ   r[   r\   r	   r	   r
   r&     rs   zEnum.childrenc                 c   rt   rV   )r¿   r%   r	   r	   r
   r`     ru   zEnum.__iter__©r"   rV   rb   r	   r	   r	   r
   r¾     ó    
r¾   c                   @   rO   )Ú
Enumerator)r"   rž   r7   rT   Nc                 C   rf   rV   )r"   rž   r7   )r   r"   rž   r7   r	   r	   r
   rW     rg   zEnumerator.__init__c                 C   rr   )Nrž   )rž   rZ   r[   r\   r	   r	   r
   r&     rs   zEnumerator.childrenc                 c   rt   rV   )rž   r%   r	   r	   r
   r`     ru   zEnumerator.__iter__rÀ   rV   rb   r	   r	   r	   r
   rÂ     rÁ   rÂ   c                   @   rO   )ÚEnumeratorList)Úenumeratorsr7   rT   Nc                 C   rp   rV   )rÄ   r7   )r   rÄ   r7   r	   r	   r
   rW   '  rq   zEnumeratorList.__init__c                 C   r–   )Nzenumerators[%d])rŠ   rÄ   rZ   r[   r‹   r	   r	   r
   r&   +  r—   zEnumeratorList.childrenc                 c   r˜   rV   )rÄ   r�   r	   r	   r
   r`   1  r™   zEnumeratorList.__iter__r	   rV   rb   r	   r	   r	   r
   rÃ   %  rš   rÃ   c                   @   rO   )ÚExprList©Úexprsr7   rT   Nc                 C   rp   rV   ©rÇ   r7   ©r   rÇ   r7   r	   r	   r
   rW   9  rq   zExprList.__init__c                 C   r–   ©Nz	exprs[%d]©rŠ   rÇ   rZ   r[   r‹   r	   r	   r
   r&   =  r—   zExprList.childrenc                 c   r˜   rV   ©rÇ   r�   r	   r	   r
   r`   C  r™   zExprList.__iter__r	   rV   rb   r	   r	   r	   r
   rÅ   7  rš   rÅ   c                   @   rO   )ÚFileAST)Úextr7   rT   Nc                 C   rp   rV   )rÎ   r7   )r   rÎ   r7   r	   r	   r
   rW   K  rq   zFileAST.__init__c                 C   r–   )Nzext[%d])rŠ   rÎ   rZ   r[   r‹   r	   r	   r
   r&   O  r—   zFileAST.childrenc                 c   r˜   rV   )rÎ   r�   r	   r	   r
   r`   U  r™   zFileAST.__iter__r	   rV   rb   r	   r	   r	   r
   rÍ   I  rš   rÍ   c                   @   rO   )ÚFor)rœ   rµ   Únextr¶   r7   rT   Nc                 C   ó"   || _ || _|| _|| _|| _d S rV   )rœ   rµ   rÐ   r¶   r7   )r   rœ   rµ   rÐ   r¶   r7   r	   r	   r
   rW   ]  ó
   
zFor.__init__c                 C   st   g }| j d ur| d| j f¡ | jd ur| d| jf¡ | jd ur)| d| jf¡ | jd ur6| d| jf¡ t|ƒS )Nrœ   rµ   rÐ   r¶   )rœ   rZ   rµ   rÐ   r¶   r[   r\   r	   r	   r
   r&   d  s   zFor.childrenc                 c   sR   � | j d ur
| j V  | jd ur| jV  | jd ur| jV  | jd ur'| jV  d S d S rV   )rœ   rµ   rÐ   r¶   r%   r	   r	   r
   r`   l  s   €



ÿzFor.__iter__r	   rV   rb   r	   r	   r	   r
   rÏ   [  s    

rÏ   c                   @   rO   )ÚFuncCall)r"   Úargsr7   rT   Nc                 C   rf   rV   )r"   rÔ   r7   )r   r"   rÔ   r7   r	   r	   r
   rW   z  rg   zFuncCall.__init__c                 C   rY   )Nr"   rÔ   )r"   rZ   rÔ   r[   r\   r	   r	   r
   r&     r^   zFuncCall.childrenc                 c   r_   rV   )r"   rÔ   r%   r	   r	   r
   r`   …  ra   zFuncCall.__iter__r	   rV   rb   r	   r	   r	   r
   rÓ   x  rh   rÓ   c                   @   rO   )ÚFuncDecl)rÔ   rQ   r7   rT   Nc                 C   rf   rV   )rÔ   rQ   r7   )r   rÔ   rQ   r7   r	   r	   r
   rW   �  rg   zFuncDecl.__init__c                 C   rY   )NrÔ   rQ   )rÔ   rZ   rQ   r[   r\   r	   r	   r
   r&   ”  r^   zFuncDecl.childrenc                 c   r_   rV   )rÔ   rQ   r%   r	   r	   r
   r`   š  ra   zFuncDecl.__iter__r	   rV   rb   r	   r	   r	   r
   rÕ   �  rh   rÕ   c                   @   rO   )ÚFuncDef)ÚdeclÚparam_declsÚbodyr7   rT   Nc                 C   rU   rV   )r×   rØ   rÙ   r7   )r   r×   rØ   rÙ   r7   r	   r	   r
   rW   ¤  rX   zFuncDef.__init__c                 C   sj   g }| j d ur| d| j f¡ | jd ur| d| jf¡ t| jp!g ƒD ]\}}| d| |f¡ q#t|ƒS )Nr×   rÙ   zparam_decls[%d])r×   rZ   rÙ   rŠ   rØ   r[   r‹   r	   r	   r
   r&   ª  s   zFuncDef.childrenc                 c   s@   � | j d ur
| j V  | jd ur| jV  | jpg D ]}|V  qd S rV   )r×   rÙ   rØ   r�   r	   r	   r
   r`   ²  s   €

ÿzFuncDef.__iter__r	   rV   rb   r	   r	   r	   r
   rÖ   ¢  s    
rÖ   c                   @   rO   )ÚGoto©r"   r7   rT   Nc                 C   rp   rV   ©r"   r7   ©r   r"   r7   r	   r	   r
   rW   ¾  rq   zGoto.__init__c                 C   rŸ   rV   r    r\   r	   r	   r
   r&   Â  r¡   zGoto.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   Æ  rƒ   zGoto.__iter__rÀ   rV   rb   r	   r	   r	   r
   rÚ   ¼  ó    
rÚ   c                   @   rO   )ÚIDrÛ   Nc                 C   rp   rV   rÜ   rÝ   r	   r	   r
   rW   Î  rq   zID.__init__c                 C   rŸ   rV   r    r\   r	   r	   r
   r&   Ò  r¡   zID.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   Ö  rƒ   zID.__iter__rÀ   rV   rb   r	   r	   r	   r
   rß   Ì  rÞ   rß   c                   @   rO   )ÚIdentifierType)Únamesr7   rT   Nc                 C   rp   rV   )rá   r7   )r   rá   r7   r	   r	   r
   rW   Þ  rq   zIdentifierType.__init__c                 C   rŸ   rV   r    r\   r	   r	   r
   r&   â  r¡   zIdentifierType.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   æ  rƒ   zIdentifierType.__iter__)rá   rV   rb   r	   r	   r	   r
   rà   Ü  rÞ   rà   c                   @   rO   )ÚIf©rµ   ÚiftrueÚiffalser7   rT   Nc                 C   rU   rV   ©rµ   rä   rå   r7   ©r   rµ   rä   rå   r7   r	   r	   r
   rW   î  rX   zIf.__init__c                 C   r©   ©Nrµ   rä   rå   ©rµ   rZ   rä   rå   r[   r\   r	   r	   r
   r&   ô  rª   zIf.childrenc                 c   r«   rV   ©rµ   rä   rå   r%   r	   r	   r
   r`   û  r¬   zIf.__iter__r	   rV   rb   r	   r	   r	   r
   râ   ì  ó    
râ   c                   @   rO   )ÚInitListrÆ   Nc                 C   rp   rV   rÈ   rÉ   r	   r	   r
   rW     rq   zInitList.__init__c                 C   r–   rÊ   rË   r‹   r	   r	   r
   r&     r—   zInitList.childrenc                 c   r˜   rV   rÌ   r�   r	   r	   r
   r`     r™   zInitList.__iter__r	   rV   rb   r	   r	   r	   r
   rì     rš   rì   c                   @   rO   )ÚLabel)r"   r¶   r7   rT   Nc                 C   rf   rV   )r"   r¶   r7   )r   r"   r¶   r7   r	   r	   r
   rW     rg   zLabel.__init__c                 C   rr   )Nr¶   )r¶   rZ   r[   r\   r	   r	   r
   r&     rs   zLabel.childrenc                 c   rt   rV   )r¶   r%   r	   r	   r
   r`   #  ru   zLabel.__iter__rÀ   rV   rb   r	   r	   r	   r
   rí     rÁ   rí   c                   @   rO   )ÚNamedInitializer)r"   r†   r7   rT   Nc                 C   rf   rV   )r"   r†   r7   )r   r"   r†   r7   r	   r	   r
   rW   +  rg   zNamedInitializer.__init__c                 C   rˆ   )Nr†   zname[%d])r†   rZ   rŠ   r"   r[   r‹   r	   r	   r
   r&   0  r�   zNamedInitializer.childrenc                 c   rŽ   rV   )r†   r"   r�   r	   r	   r
   r`   7  r�   zNamedInitializer.__iter__r	   rV   rb   r	   r	   r	   r
   rî   )  r‘   rî   c                   @   rO   )Ú	ParamList)Úparamsr7   rT   Nc                 C   rp   rV   )rð   r7   )r   rð   r7   r	   r	   r
   rW   A  rq   zParamList.__init__c                 C   r–   )Nz
params[%d])rŠ   rð   rZ   r[   r‹   r	   r	   r
   r&   E  r—   zParamList.childrenc                 c   r˜   rV   )rð   r�   r	   r	   r
   r`   K  r™   zParamList.__iter__r	   rV   rb   r	   r	   r	   r
   rï   ?  rš   rï   c                   @   rO   )ÚPtrDecl)r¤   rQ   r7   rT   Nc                 C   rf   rV   )r¤   rQ   r7   )r   r¤   rQ   r7   r	   r	   r
   rW   S  rg   zPtrDecl.__init__c                 C   rr   ©NrQ   ©rQ   rZ   r[   r\   r	   r	   r
   r&   X  rs   zPtrDecl.childrenc                 c   rt   rV   ©rQ   r%   r	   r	   r
   r`   ]  ru   zPtrDecl.__iter__)r¤   rV   rb   r	   r	   r	   r
   rñ   Q  rÁ   rñ   c                   @   rO   )ÚReturn)r†   r7   rT   Nc                 C   rp   rV   )r†   r7   )r   r†   r7   r	   r	   r
   rW   e  rq   zReturn.__init__c                 C   rr   ©Nr†   ©r†   rZ   r[   r\   r	   r	   r
   r&   i  rs   zReturn.childrenc                 c   rt   rV   ©r†   r%   r	   r	   r
   r`   n  ru   zReturn.__iter__r	   rV   rb   r	   r	   r	   r
   rõ   c  rv   rõ   c                   @   rO   )ÚStaticAssert)rµ   Úmessager7   rT   Nc                 C   rf   rV   )rµ   rú   r7   )r   rµ   rú   r7   r	   r	   r
   rW   v  rg   zStaticAssert.__init__c                 C   rY   )Nrµ   rú   )rµ   rZ   rú   r[   r\   r	   r	   r
   r&   {  r^   zStaticAssert.childrenc                 c   r_   rV   )rµ   rú   r%   r	   r	   r
   r`   �  ra   zStaticAssert.__iter__r	   rV   rb   r	   r	   r	   r
   rù   t  rh   rù   c                   @   rO   )ÚStruct©r"   r®   r7   rT   Nc                 C   rf   rV   ©r"   r®   r7   ©r   r"   r®   r7   r	   r	   r
   rW   ‹  rg   zStruct.__init__c                 C   r–   r¯   r°   r‹   r	   r	   r
   r&   �  r—   zStruct.childrenc                 c   r˜   rV   r±   r�   r	   r	   r
   r`   –  r™   zStruct.__iter__rÀ   rV   rb   r	   r	   r	   r
   rû   ‰  ó    
rû   c                   @   rO   )Ú	StructRef)r"   rQ   Úfieldr7   rT   Nc                 C   rU   rV   )r"   rQ   r  r7   )r   r"   rQ   r  r7   r	   r	   r
   rW   ž  rX   zStructRef.__init__c                 C   rY   )Nr"   r  )r"   rZ   r  r[   r\   r	   r	   r
   r&   ¤  r^   zStructRef.childrenc                 c   r_   rV   )r"   r  r%   r	   r	   r
   r`   ª  ra   zStructRef.__iter__rô   rV   rb   r	   r	   r	   r
   r   œ  rc   r   c                   @   rO   )ÚSwitchr´   Nc                 C   rf   rV   r·   r¸   r	   r	   r
   rW   ´  rg   zSwitch.__init__c                 C   rY   r¹   rº   r\   r	   r	   r
   r&   ¹  r^   zSwitch.childrenc                 c   r_   rV   r»   r%   r	   r	   r
   r`   ¿  ra   zSwitch.__iter__r	   rV   rb   r	   r	   r	   r
   r  ²  rh   r  c                   @   rO   )Ú	TernaryOprã   Nc                 C   rU   rV   ræ   rç   r	   r	   r
   rW   É  rX   zTernaryOp.__init__c                 C   r©   rè   ré   r\   r	   r	   r
   r&   Ï  rª   zTernaryOp.childrenc                 c   r«   rV   rê   r%   r	   r	   r
   r`   Ö  r¬   zTernaryOp.__iter__r	   rV   rb   r	   r	   r	   r
   r  Ç  rë   r  c                   @   rO   )ÚTypeDecl)Údeclnamer¤   r¥   rQ   r7   rT   Nc                 C   rÑ   rV   )r  r¤   r¥   rQ   r7   )r   r  r¤   r¥   rQ   r7   r	   r	   r
   rW   â  rÒ   zTypeDecl.__init__c                 C   rr   rò   ró   r\   r	   r	   r
   r&   é  rs   zTypeDecl.childrenc                 c   rt   rV   rô   r%   r	   r	   r
   r`   î  ru   zTypeDecl.__iter__)r  r¤   r¥   rV   rb   r	   r	   r	   r
   r  à  ó    
r  c                   @   rO   )ÚTypedef)r"   r¤   r¦   rQ   r7   rT   Nc                 C   rÑ   rV   )r"   r¤   r¦   rQ   r7   )r   r"   r¤   r¦   rQ   r7   r	   r	   r
   rW   ö  rÒ   zTypedef.__init__c                 C   rr   rò   ró   r\   r	   r	   r
   r&   ý  rs   zTypedef.childrenc                 c   rt   rV   rô   r%   r	   r	   r
   r`     ru   zTypedef.__iter__)r"   r¤   r¦   rV   rb   r	   r	   r	   r
   r  ô  r  r  c                   @   rO   )ÚTypename)r"   r¤   r¥   rQ   r7   rT   Nc                 C   rÑ   rV   )r"   r¤   r¥   rQ   r7   )r   r"   r¤   r¥   rQ   r7   r	   r	   r
   rW   
  rÒ   zTypename.__init__c                 C   rr   rò   ró   r\   r	   r	   r
   r&     rs   zTypename.childrenc                 c   rt   rV   rô   r%   r	   r	   r
   r`     ru   zTypename.__iter__)r"   r¤   r¥   rV   rb   r	   r	   r	   r
   r    r  r  c                   @   rO   )ÚUnaryOp)rj   r†   r7   rT   Nc                 C   rf   rV   )rj   r†   r7   )r   rj   r†   r7   r	   r	   r
   rW     rg   zUnaryOp.__init__c                 C   rr   rö   r÷   r\   r	   r	   r
   r&   #  rs   zUnaryOp.childrenc                 c   rt   rV   rø   r%   r	   r	   r
   r`   (  ru   zUnaryOp.__iter__rm   rV   rb   r	   r	   r	   r
   r	    rÁ   r	  c                   @   rO   )ÚUnionrü   Nc                 C   rf   rV   rý   rþ   r	   r	   r
   rW   0  rg   zUnion.__init__c                 C   r–   r¯   r°   r‹   r	   r	   r
   r&   5  r—   zUnion.childrenc                 c   r˜   rV   r±   r�   r	   r	   r
   r`   ;  r™   zUnion.__iter__rÀ   rV   rb   r	   r	   r	   r
   r
  .  rÿ   r
  c                   @   rO   )ÚWhiler´   Nc                 C   rf   rV   r·   r¸   r	   r	   r
   rW   C  rg   zWhile.__init__c                 C   rY   r¹   rº   r\   r	   r	   r
   r&   H  r^   zWhile.childrenc                 c   r_   rV   r»   r%   r	   r	   r
   r`   N  ra   zWhile.__iter__r	   rV   rb   r	   r	   r	   r
   r  A  rh   r  c                   @   rO   )ÚPragma)Ústringr7   rT   Nc                 C   rp   rV   )r  r7   )r   r  r7   r	   r	   r
   rW   X  rq   zPragma.__init__c                 C   rŸ   rV   r    r\   r	   r	   r
   r&   \  r¡   zPragma.childrenc                 c   r‚   rV   r	   r%   r	   r	   r
   r`   `  rƒ   zPragma.__iter__)r  rV   rb   r	   r	   r	   r
   r  V  rÞ   r  )6rB   r   Úobjectr   rD   rP   rd   ri   rn   rw   rz   r…   r’   r”   r›   r�   r¢   r£   r­   r²   r³   r¼   r½   r¾   rÂ   rÃ   rÅ   rÍ   rÏ   rÓ   rÕ   rÖ   rÚ   rß   rà   râ   rì   rí   rî   rï   rñ   rõ   rù   rû   r   r  r  r  r  r  r	  r
  r  r  r	   r	   r	   r
   Ú<module>   sj   	O: