o
    w¨Êhv  ã                   @   s$  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ƒZ3dS )fé    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	   úA/var/www/html/env/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   )ÚBinaryOp)rj   ÚleftÚrightr7   rT   Nc                 C   rU   rV   )rj   ro   rp   r7   )r   rj   ro   rp   r7   r	   r	   r
   rW   ê   rX   zBinaryOp.__init__c                 C   rY   )Nro   rp   )ro   rZ   rp   r[   r\   r	   r	   r
   r&   ð   r^   zBinaryOp.childrenc                 c   r_   rV   )ro   rp   r%   r	   r	   r
   r`   ö   ra   zBinaryOp.__iter__rm   rV   rb   r	   r	   r	   r
   rn   è   rc   rn   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
   rq   þ   ó    
rq   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   $  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‰   "  rh   r‰   c                   @   rO   )ÚCompound)Úblock_itemsr7   rT   Nc                 C   ó   || _ || _d S rV   )rŒ   r7   )r   rŒ   r7   r	   r	   r
   rW   9  ó   
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&   =  ó   zCompound.childrenc                 c   ó   � | j pg D ]}|V  qd S rV   )rŒ   r†   r	   r	   r
   r`   C  ó   €ÿzCompound.__iter__r	   rV   rb   r	   r	   r	   r
   r‹   7  ó    
r‹   c                   @   rO   )ÚCompoundLiteral)rQ   Úinitr7   rT   Nc                 C   rf   rV   )rQ   r•   r7   )r   rQ   r•   r7   r	   r	   r
   rW   K  rg   zCompoundLiteral.__init__c                 C   rY   )NrQ   r•   )rQ   rZ   r•   r[   r\   r	   r	   r
   r&   P  r^   zCompoundLiteral.childrenc                 c   r_   rV   )rQ   r•   r%   r	   r	   r
   r`   V  ra   zCompoundLiteral.__iter__r	   rV   rb   r	   r	   r	   r
   r”   I  rh   r”   c                   @   rO   )ÚConstant)rQ   Úvaluer7   rT   Nc                 C   rf   rV   )rQ   r—   r7   )r   rQ   r—   r7   r	   r	   r
   rW   `  rg   zConstant.__init__c                 C   ó   g }t |ƒS rV   ©r[   r\   r	   r	   r
   r&   e  ó   zConstant.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   i  rz   zConstant.__iter__)rQ   r—   rV   rb   r	   r	   r	   r
   r–   ^  s    
r–   c                   @   rO   )ÚContinuerr   Nc                 C   rs   rV   rt   ru   r	   r	   r
   rW   q  rv   zContinue.__init__c                 C   r$   rw   r	   r%   r	   r	   r
   r&   t  rx   zContinue.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   w  rz   zContinue.__iter__r	   rV   rb   r	   r	   r	   r
   r›   o  r{   r›   c                   @   rO   )ÚDecl)	r"   ÚqualsÚstorageÚfuncspecrQ   r•   Úbitsizer7   rT   Nc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _d S rV   )r"   r�   rž   rŸ   rQ   r•   r    r7   )	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Ÿ   rV   rb   r	   r	   r	   r
   rœ   }  s    

rœ   c                   @   rO   )ÚDeclList)Údeclsr7   rT   Nc                 C   r�   rV   )r¦   r7   )r   r¦   r7   r	   r	   r
   rW   œ  rŽ   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   r�   rV   )r~   r7   )r   r~   r7   r	   r	   r
   rW   ®  rŽ   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   )ÚEllipsisParamrr   Nc                 C   rs   rV   rt   ru   r	   r	   r
   rW   Õ  rv   zEllipsisParam.__init__c                 C   r$   rw   r	   r%   r	   r	   r
   r&   Ø  rx   zEllipsisParam.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   Û  rz   zEllipsisParam.__iter__r	   rV   rb   r	   r	   r	   r
   r´   Ó  r{   r´   c                   @   rO   )ÚEmptyStatementrr   Nc                 C   rs   rV   rt   ru   r	   r	   r
   rW   ã  rv   zEmptyStatement.__init__c                 C   r$   rw   r	   r%   r	   r	   r
   r&   æ  rx   zEmptyStatement.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   é  rz   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   ó&   g }| j d ur| d| j f¡ t|ƒS )Nr·   )r·   rZ   r[   r\   r	   r	   r
   r&   ö  ó   zEnum.childrenc                 c   ó   � | j d ur| j V  d S d S rV   )r·   r%   r	   r	   r
   r`   û  ó   €
ÿ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   r¸   )Nr—   )r—   rZ   r[   r\   r	   r	   r
   r&     r¹   zEnumerator.childrenc                 c   rº   rV   )r—   r%   r	   r	   r
   r`     r»   zEnumerator.__iter__r¼   rV   rb   r	   r	   r	   r
   r¾     r½   r¾   c                   @   rO   )ÚEnumeratorList)Úenumeratorsr7   rT   Nc                 C   r�   rV   )rÀ   r7   )r   rÀ   r7   r	   r	   r
   rW     rŽ   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`     r’   zEnumeratorList.__iter__r	   rV   rb   r	   r	   r	   r
   r¿     r“   r¿   c                   @   rO   )ÚExprList©Úexprsr7   rT   Nc                 C   r�   rV   ©rÃ   r7   ©r   rÃ   r7   r	   r	   r
   rW   '  rŽ   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`   1  r’   zExprList.__iter__r	   rV   rb   r	   r	   r	   r
   rÁ   %  r“   rÁ   c                   @   rO   )ÚFileAST)Úextr7   rT   Nc                 C   r�   rV   )rÊ   r7   )r   rÊ   r7   r	   r	   r
   rW   9  rŽ   zFileAST.__init__c                 C   r�   )Nzext[%d])r�   rÊ   rZ   r[   r‚   r	   r	   r
   r&   =  r�   zFileAST.childrenc                 c   r‘   rV   )rÊ   r†   r	   r	   r
   r`   C  r’   zFileAST.__iter__r	   rV   rb   r	   r	   r	   r
   rÉ   7  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   K  ó
   
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&   R  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`   Z  s   €



ÿzFor.__iter__r	   rV   rb   r	   r	   r	   r
   rË   I  s    

rË   c                   @   rO   )ÚFuncCall)r"   Úargsr7   rT   Nc                 C   rf   rV   )r"   rÐ   r7   )r   r"   rÐ   r7   r	   r	   r
   rW   h  rg   zFuncCall.__init__c                 C   rY   )Nr"   rÐ   )r"   rZ   rÐ   r[   r\   r	   r	   r
   r&   m  r^   zFuncCall.childrenc                 c   r_   rV   )r"   rÐ   r%   r	   r	   r
   r`   s  ra   zFuncCall.__iter__r	   rV   rb   r	   r	   r	   r
   rÏ   f  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   r�   rV   ©r"   r7   ©r   r"   r7   r	   r	   r
   rW   ¬  rŽ   zGoto.__init__c                 C   r˜   rV   r™   r\   r	   r	   r
   r&   °  rš   zGoto.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   ´  rz   zGoto.__iter__r¼   rV   rb   r	   r	   r	   r
   rÖ   ª  ó    
rÖ   c                   @   rO   )ÚIDr×   Nc                 C   r�   rV   rØ   rÙ   r	   r	   r
   rW   ¼  rŽ   zID.__init__c                 C   r˜   rV   r™   r\   r	   r	   r
   r&   À  rš   zID.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   Ä  rz   zID.__iter__r¼   rV   rb   r	   r	   r	   r
   rÛ   º  rÚ   rÛ   c                   @   rO   )ÚIdentifierType)Únamesr7   rT   Nc                 C   r�   rV   )rÝ   r7   )r   rÝ   r7   r	   r	   r
   rW   Ì  rŽ   zIdentifierType.__init__c                 C   r˜   rV   r™   r\   r	   r	   r
   r&   Ð  rš   zIdentifierType.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   Ô  rz   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   r�   rV   rÄ   rÅ   r	   r	   r
   rW   õ  rŽ   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   r¸   )Nr®   )r®   rZ   r[   r\   r	   r	   r
   r&     r¹   zLabel.childrenc                 c   rº   rV   )r®   r%   r	   r	   r
   r`     r»   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&     r„   zNamedInitializer.childrenc                 c   r…   rV   )r}   r"   r†   r	   r	   r
   r`   %  r‡   zNamedInitializer.__iter__r	   rV   rb   r	   r	   r	   r
   rê     rˆ   rê   c                   @   rO   )Ú	ParamList)Úparamsr7   rT   Nc                 C   r�   rV   )rì   r7   )r   rì   r7   r	   r	   r
   rW   /  rŽ   zParamList.__init__c                 C   r�   )Nz
params[%d])r�   rì   rZ   r[   r‚   r	   r	   r
   r&   3  r�   zParamList.childrenc                 c   r‘   rV   )rì   r†   r	   r	   r
   r`   9  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   A  rg   zPtrDecl.__init__c                 C   r¸   ©NrQ   ©rQ   rZ   r[   r\   r	   r	   r
   r&   F  r¹   zPtrDecl.childrenc                 c   rº   rV   ©rQ   r%   r	   r	   r
   r`   K  r»   zPtrDecl.__iter__)r�   rV   rb   r	   r	   r	   r
   rí   ?  r½   rí   c                   @   rO   )ÚReturn)r}   r7   rT   Nc                 C   r�   rV   )r}   r7   )r   r}   r7   r	   r	   r
   rW   S  rŽ   zReturn.__init__c                 C   r¸   ©Nr}   ©r}   rZ   r[   r\   r	   r	   r
   r&   W  r¹   zReturn.childrenc                 c   rº   rV   ©r}   r%   r	   r	   r
   r`   \  r»   zReturn.__iter__r	   rV   rb   r	   r	   r	   r
   rñ   Q  s    
rñ   c                   @   rO   )ÚStruct©r"   r¦   r7   rT   Nc                 C   rf   rV   ©r"   r¦   r7   ©r   r"   r¦   r7   r	   r	   r
   rW   d  rg   zStruct.__init__c                 C   r�   r§   r¨   r‚   r	   r	   r
   r&   i  r�   zStruct.childrenc                 c   r‘   rV   r©   r†   r	   r	   r
   r`   o  r’   zStruct.__iter__r¼   rV   rb   r	   r	   r	   r
   rõ   b  ó    
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   w  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ú   u  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�   rQ   r7   rT   Nc                 C   rU   rV   )rÿ   r�   rQ   r7   )r   rÿ   r�   rQ   r7   r	   r	   r
   rW   »  rX   zTypeDecl.__init__c                 C   r¸   rî   rï   r\   r	   r	   r
   r&   Á  r¹   zTypeDecl.childrenc                 c   rº   rV   rð   r%   r	   r	   r
   r`   Æ  r»   zTypeDecl.__iter__)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   r¸   rî   rï   r\   r	   r	   r
   r&   Õ  r¹   zTypedef.childrenc                 c   rº   rV   rð   r%   r	   r	   r
   r`   Ú  r»   zTypedef.__iter__)r"   r�   rž   rV   rb   r	   r	   r	   r
   r  Ì  s    
r  c                   @   rO   )ÚTypename)r"   r�   rQ   r7   rT   Nc                 C   rU   rV   )r"   r�   rQ   r7   )r   r"   r�   rQ   r7   r	   r	   r
   rW   â  rX   zTypename.__init__c                 C   r¸   rî   rï   r\   r	   r	   r
   r&   è  r¹   zTypename.childrenc                 c   rº   rV   rð   r%   r	   r	   r
   r`   í  r»   zTypename.__iter__)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   r¸   rò   ró   r\   r	   r	   r
   r&   ú  r¹   zUnaryOp.childrenc                 c   rº   rV   rô   r%   r	   r	   r
   r`   ÿ  r»   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     rg   zUnion.__init__c                 C   r�   r§   r¨   r‚   r	   r	   r
   r&     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     rg   zWhile.__init__c                 C   rY   r±   r²   r\   r	   r	   r
   r&     r^   zWhile.childrenc                 c   r_   rV   r³   r%   r	   r	   r
   r`   %  ra   zWhile.__iter__r	   rV   rb   r	   r	   r	   r
   r    rh   r  c                   @   rO   )ÚPragma)Ústringr7   rT   Nc                 C   r�   rV   )r  r7   )r   r  r7   r	   r	   r
   rW   /  rŽ   zPragma.__init__c                 C   r˜   rV   r™   r\   r	   r	   r
   r&   3  rš   zPragma.childrenc                 c   ry   rV   r	   r%   r	   r	   r
   r`   7  rz   zPragma.__iter__)r  rV   rb   r	   r	   r	   r
   r  -  rÚ   r  )4rB   r   Úobjectr   rD   rP   rd   ri   rn   rq   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>   sf   	O: