
    #	hz                     t   S SK r S r " S S\5      r " S S\5      r " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r	 " S S\5      r
 " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r " S' S(\5      r " S) S*\5      r " S+ S,\5      r " S- S.\5      r " S/ S0\5      r " S1 S2\5      r " S3 S4\5      r " S5 S6\5      r " S7 S8\5      r " S9 S:\5      r " S; S<\5      r " S= S>\5      r  " S? S@\5      r! " SA SB\5      r" " SC SD\5      r# " SE SF\5      r$ " SG SH\5      r% " SI SJ\5      r& " SK SL\5      r' " SM SN\5      r( " SO SP\5      r) " SQ SR\5      r* " SS ST\5      r+ " SU SV\5      r, " SW SX\5      r- " SY SZ\5      r. " S[ S\\5      r/ " S] S^\5      r0 " S_ S`\5      r1 " Sa Sb\5      r2 " Sc Sd\5      r3 " Se Sf\5      r4 " Sg Sh\5      r5g)i    Nc                 ~    [        U [        5      (       a  SSR                  S U  5       5      -   S-   $ [        U 5      $ )zS
Get the representation of an object, with dedicated pprint-like format for lists.
[z,
 c              3   X   #    U  H   n[        U5      R                  S S5      v   M"     g7f)

 N)_reprreplace).0es     A/var/www/html/env/lib/python3.13/site-packages/pycparser/c_ast.py	<genexpr>_repr.<locals>.<genexpr>   s$     "N#Q58#3#3D%#@#@#s   (*z
])
isinstancelistjoinrepr)objs    r   r   r      s;     #tfkk"N#"NOPSXXXCy    c                   P    \ rS rSrSr S rS r\R                  SSSSS4S jr	Sr
g)	Node    c                    U R                   R                  S-   nSnSnU R                  SS  H  nX-  nX-  nXS-   [        [	        X5      5      R                  SSS[        U5      [        U R                   R                  5      -   -  -   5      -   -  nS	nS
S[        U R                   R                  5      -  -   nM     XS-   -  nU$ )z>Generates a python representation of the current node
        ( N=r   z
   ,r   ))	__class____name__	__slots__r   getattrr	   len)selfresultindent	separatornames        r   __repr__Node.__repr__"   s     ((3.	NN3B'DFFSjE'$*=$>$F$FtVWZ^abf^gjmnrn|n|  oF  oF  kG  _G  XH  NI  %J  K  KFIcC(?(?$@@AF ( 	3,r   c                     g)z2A sequence of all children that are Nodes
        Nr   r&   s    r   childrenNode.children5   s     	r   r   FNc           
         SU-  nU(       a4  Ub1  UR                  XpR                  R                  -   S-   U-   S-   5        O*UR                  XpR                  R                  -   S-   5        U R                  (       a  U(       a?  U R                   Vs/ s H  o[	        X5      4PM     n	nSR                  S U	 5       5      n
O=U R                   Vs/ s H  n[	        X5      PM     nnSR                  S U 5       5      n
UR                  U
5        U(       a  UR                  S	U R                  -  5        UR                  S
5        U R                  5        H  u  pUR                  UUS-   UUUUS9  M     gs  snf s  snf )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: z, c              3   ,   #    U  H
  nS U-  v   M     g7f)z%s=%sNr   )r
   nvs     r   r   Node.show.<locals>.<genexpr>Y   s     #B6RGbL6   c              3   ,   #    U  H
  nS U-  v   M     g7f)z%sNr   )r
   vs     r   r   r4   \   s     #<eD1Her5   z (at %s)r      )offset	attrnames	nodenames	showcoord_my_node_name)	writer!   r"   
attr_namesr$   r   coordr/   show)r&   bufr9   r:   r;   r<   r=   leadnnvlistattrstrvlist
child_namechilds                 r   rA   	Node.show:   s>   , V|2IId^^444d:]JURSIId^^444d:;??8<H1gdo.H))#B6#BB37??C?a)?C))#<e#<<IIgIIj4::-.		$#'==?ZJJz###(  * $3 I Ds   E7E<)r"   
__module____qualname____firstlineno__r#   r+   r/   sysstdoutrA   __static_attributes__r   r   r   r   r      s0    I&
 zz!uY^nr 0*r   r   c                   (    \ rS rSrSrSrS rS rSrg)NodeVisitorm   ap  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                 B   U R                   c  0 U l         U R                   R                  UR                  R                  S5      nUcQ  SUR                  R                  -   n[	        XU R
                  5      nX R                   UR                  R                  '   U" U5      $ )zVisit a node.
        Nvisit_)_method_cachegetr!   r"   r$   generic_visit)r&   nodevisitormethods       r   visitNodeVisitor.visit   s     %!#D$$(()@)@$G? 7 77FdD,>,>?G:At~~667t}r   c                 8    U H  nU R                  U5        M     g)zdCalled if no explicit visitor function exists for a
node. Implements preorder visiting of the node.
N)r\   )r&   rY   cs      r   rX   NodeVisitor.generic_visit   s     AJJqM r   )rV   )	r"   rK   rL   rM   __doc__rV   r\   rX   rP   r   r   r   rR   rR   m   s    B Mr   rR   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
	ArrayDecl   )typedim	dim_qualsr@   __weakref__Nc                 4    Xl         X l        X0l        X@l        g N)re   rf   rg   r@   )r&   re   rf   rg   r@   s        r   __init__ArrayDecl.__init__   s    	"
r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nre   rf   )re   appendrf   tupler&   nodelists     r   r/   ArrayDecl.children   sM    99 (//64992E"F88%1B!CXr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )re   rf   r.   s    r   __iter__ArrayDecl.__iter__   s0     99 ))O88((N     9;)rg   )r@   rf   rg   re   rj   
r"   rK   rL   rM   r#   rk   r/   rt   r?   rP   r   r   r   rc   rc      s    DI !Jr   rc   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
ArrayRef   )r*   	subscriptr@   rh   Nc                 (    Xl         X l        X0l        g rj   )r*   r{   r@   )r&   r*   r{   r@   s       r   rk   ArrayRef.__init__   s    	"
r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr*   r{   )r*   rn   r{   ro   rp   s     r   r/   ArrayRef.children   sM    99 (//64992E"F>>%xT^^7T'UXr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r*   r{   r.   s    r   rt   ArrayRef.__iter__   s1     99 ))O>>%..  &rv   r   )r@   r*   r{   rj   rw   r   r   r   ry   ry      s    =I
! Jr   ry   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)

Assignment   )oplvaluervaluer@   rh   Nc                 4    Xl         X l        X0l        X@l        g rj   )r   r   r   r@   )r&   r   r   r   r@   s        r   rk   Assignment.__init__   s    
r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr   r   )r   rn   r   ro   rp   s     r   r/   Assignment.children   sM    ;;"HOOXt{{4K$L;;"HOOXt{{4K$LXr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r   r   r.   s    r   rt   Assignment.__iter__   s2     ;;"++;;"++ #rv   r   )r@   r   r   r   rj   rw   r   r   r   r   r      s    BI Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Alignas   )	alignmentr@   rh   Nc                     Xl         X l        g rj   r   r@   )r&   r   r@   s      r   rk   Alignas.__init__   s    "
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )Nr   )r   rn   ro   rp   s     r   r/   Alignas.children   s/    >>%xT^^7T'UXr   c              #   D   #    U R                   b  U R                   v   g g 7frj   )r   r.   s    r   rt   Alignas.__iter__   s     >>%..  &    r   r   rj   rw   r   r   r   r   r      s    5I
! Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
BinaryOp   )r   leftrightr@   rh   Nc                 4    Xl         X l        X0l        X@l        g rj   )r   r   r   r@   )r&   r   r   r   r@   s        r   rk   BinaryOp.__init__   s    	

r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr   r   )r   rn   r   ro   rp   s     r   r/   BinaryOp.children  M    99 (//64992E"F::!8??GTZZ3H#IXr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r   r   r.   s    r   rt   BinaryOp.__iter__  1     99 ))O::!** "rv   r   )r@   r   r   r   rj   rw   r   r   r   r   r      s    ?I Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Breaki  r@   rh   Nc                     Xl         g rj   r@   r&   r@   s     r   rk   Break.__init__      
r   c                     gNr   r   r.   s    r   r/   Break.children      r   c              #      #    g 7frj   r   r.   s    r   rt   Break.__iter__          r   r   rj   rw   r   r   r   r   r         (I Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Casei  )exprstmtsr@   rh   Nc                 (    Xl         X l        X0l        g rj   )r   r   r@   )r&   r   r   r@   s       r   rk   Case.__init__      	

r   c                     / nU R                   b  UR                  SU R                   45        [        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [	        U5      $ )Nr   	stmts[%d])r   rn   	enumerater   ro   r&   rq   irI   s       r   r/   Case.children$  s^    99 (//64992E"F!$**"23HAOO[1_e45 4Xr   c              #      #    U R                   b  U R                   v   U R                  =(       d    /  H  nUv   M	     g 7frj   )r   r   r&   rI   s     r   rt   Case.__iter__+  s3     99 ))Ojj&B&EK '   =?r   )r@   r   r   rj   rw   r   r   r   r   r     s    9I
 Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Casti3  )to_typer   r@   rh   Nc                 (    Xl         X l        X0l        g rj   )r   r   r@   )r&   r   r   r@   s       r   rk   Cast.__init__5  s    	
r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr   r   )r   rn   r   ro   rp   s     r   r/   Cast.children:  sM    <<#X__i5N%O99 (//64992E"FXr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r   r   r.   s    r   rt   Cast.__iter__@  s1     <<#,,99 ))O !rv   r   )r@   r   r   rj   rw   r   r   r   r   r   3  s    ;I
 Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
CompoundiH  )block_itemsr@   rh   Nc                     Xl         X l        g rj   r   r@   )r&   r   r@   s      r   rk   Compound.__init__J      &
r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ )Nzblock_items[%d])r   r   rn   ro   r   s       r   r/   Compound.childrenN  D    !$"2"2"8b9HAOO.2E:; :Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   )r   r   s     r   rt   Compound.__iter__T  "     &&,",EK -   "$r   r   rj   rw   r   r   r   r   r   H      7I Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
CompoundLiteraliZ  )re   initr@   rh   Nc                 (    Xl         X l        X0l        g rj   )re   r   r@   )r&   re   r   r@   s       r   rk   CompoundLiteral.__init__\      		
r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nre   r   )re   rn   r   ro   rp   s     r   r/   CompoundLiteral.childrena  M    99 (//64992E"F99 (//64992E"FXr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )re   r   r.   s    r   rt   CompoundLiteral.__iter__g  0     99 ))O99 ))O !rv   r   )r@   r   re   rj   rw   r   r   r   r   r   Z      8I
 Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Constantio  )re   valuer@   rh   Nc                 (    Xl         X l        X0l        g rj   )re   r   r@   )r&   re   r   r@   s       r   rk   Constant.__init__q  r   r   c                     / n[        U5      $ rj   ro   rp   s     r   r/   Constant.childrenv      Xr   c              #      #    g 7frj   r   r.   s    r   rt   Constant.__iter__z  r   r   )re   r   )r@   re   r   rj   rw   r   r   r   r   r   o  s    9I
 %Jr   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Continuei  r   Nc                     Xl         g rj   r   r   s     r   rk   Continue.__init__  r   r   c                     gr   r   r.   s    r   r/   Continue.children  r   r   c              #      #    g 7frj   r   r.   s    r   rt   Continue.__iter__  r   r   r   r   rj   rw   r   r   r   r   r     r   r   r   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Decli  )
r*   qualsalignstoragefuncspecre   r   bitsizer@   rh   Nc
                 p    Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        g rj   )	r*   r  r  r  r  re   r   r  r@   )
r&   r*   r  r  r  r  re   r   r  r@   s
             r   rk   Decl.__init__  s/    	

 		
r   c                    / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        U R                  b  UR                  SU R                  45        [	        U5      $ )Nre   r   r  )re   rn   r   r  ro   rp   s     r   r/   Decl.children  sk    99 (//64992E"F99 (//64992E"F<<#X__i5N%OXr   c              #      #    U R                   b  U R                   v   U R                  b  U R                  v   U R                  b  U R                  v   g g 7frj   )re   r   r  r.   s    r   rt   Decl.__iter__  sD     99 ))O99 ))O<<#,, $   AA)r*   r  r  r  r  )	r  r  r@   r  r   r*   r  r  re   rj   rw   r   r   r   r  r    s    tI	 EJr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
DeclListi  )declsr@   rh   Nc                     Xl         X l        g rj   )r  r@   )r&   r  r@   s      r   rk   DeclList.__init__      

r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ Nz	decls[%d]r   r  rn   ro   r   s       r   r/   DeclList.children  @    !$**"23HAOO[1_e45 4Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   r  r   s     r   rt   DeclList.__iter__        jj&B&EK 'r   r   )r@   r  rj   rw   r   r   r   r  r        1I Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Defaulti  )r   r@   rh   Nc                     Xl         X l        g rj   )r   r@   )r&   r   r@   s      r   rk   Default.__init__  r  r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ )Nr   )r   r   rn   ro   r   s       r   r/   Default.children  r  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   )r   r   s     r   rt   Default.__iter__  r  r   r   )r@   r   rj   rw   r   r   r   r!  r!    r  r   r!  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
DoWhilei  condstmtr@   rh   Nc                 (    Xl         X l        X0l        g rj   r+  r,  r@   r&   r+  r,  r@   s       r   rk   DoWhile.__init__  r   r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ Nr+  r,  r+  rn   r,  ro   rp   s     r   r/   DoWhile.children  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   r+  r,  r.   s    r   rt   DoWhile.__iter__  r   rv   r   r+  r@   r,  rj   rw   r   r   r   r)  r)    r   r   r)  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
EllipsisParami  r   Nc                     Xl         g rj   r   r   s     r   rk   EllipsisParam.__init__  r   r   c                     gr   r   r.   s    r   r/   EllipsisParam.children  r   r   c              #      #    g 7frj   r   r.   s    r   rt   EllipsisParam.__iter__  r   r   r   r   rj   rw   r   r   r   r:  r:    r   r   r:  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
EmptyStatementi  r   Nc                     Xl         g rj   r   r   s     r   rk   EmptyStatement.__init__  r   r   c                     gr   r   r.   s    r   r/   EmptyStatement.children  r   r   c              #      #    g 7frj   r   r.   s    r   rt   EmptyStatement.__iter__  r   r   r   r   rj   rw   r   r   r   rB  rB    r   r   rB  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Enumi  )r*   valuesr@   rh   Nc                 (    Xl         X l        X0l        g rj   )r*   rK  r@   )r&   r*   rK  r@   s       r   rk   Enum.__init__  s    	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )NrK  )rK  rn   ro   rp   s     r   r/   Enum.children  s/    ;;"HOOXt{{4K$LXr   c              #   D   #    U R                   b  U R                   v   g g 7frj   )rK  r.   s    r   rt   Enum.__iter__  s     ;;"++ #r   r*   )r@   r*   rK  rj   rw   r   r   r   rJ  rJ    s    :I

 Jr   rJ  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)

Enumeratori  )r*   r   r@   rh   Nc                 (    Xl         X l        X0l        g rj   )r*   r   r@   )r&   r*   r   r@   s       r   rk   Enumerator.__init__  r   r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )Nr   )r   rn   ro   rp   s     r   r/   Enumerator.children  s/    ::!8??GTZZ3H#IXr   c              #   D   #    U R                   b  U R                   v   g g 7frj   )r   r.   s    r   rt   Enumerator.__iter__  s     ::!** "r   rR  )r@   r*   r   rj   rw   r   r   r   rT  rT    s    9I

 Jr   rT  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
EnumeratorListi%  )enumeratorsr@   rh   Nc                     Xl         X l        g rj   )r]  r@   )r&   r]  r@   s      r   rk   EnumeratorList.__init__'  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ )Nzenumerators[%d])r   r]  rn   ro   r   s       r   r/   EnumeratorList.children+  r   r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   )r]  r   s     r   rt   EnumeratorList.__iter__1  r   r   r   )r@   r]  rj   rw   r   r   r   r\  r\  %  r   r   r\  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
ExprListi7  exprsr@   rh   Nc                     Xl         X l        g rj   rg  r@   r&   rg  r@   s      r   rk   ExprList.__init__9  r  r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ Nz	exprs[%d]r   rg  rn   ro   r   s       r   r/   ExprList.children=  r  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   rg  r   s     r   rt   ExprList.__iter__C  r  r   r   r@   rg  rj   rw   r   r   r   re  re  7  r  r   re  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
FileASTiI  )extr@   rh   Nc                     Xl         X l        g rj   )rv  r@   )r&   rv  r@   s      r   rk   FileAST.__init__K  s    
r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ )Nzext[%d])r   rv  rn   ro   r   s       r   r/   FileAST.childrenO  s?    !$((.b1HAOOY]E23 2Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   )rv  r   s     r   rt   FileAST.__iter__U  s     hhn"nEK %r   r   )r@   rv  rj   rw   r   r   r   ru  ru  I  s    /I Jr   ru  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Fori[  )r   r+  nextr,  r@   rh   Nc                 @    Xl         X l        X0l        X@l        XPl        g rj   )r   r+  r  r,  r@   )r&   r   r+  r  r,  r@   s         r   rk   For.__init__]  s    				
r   c                 l   / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        U R                  b  UR                  SU R                  45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr   r+  r  r,  )r   rn   r+  r  r,  ro   rp   s     r   r/   For.childrend  s    99 (//64992E"F99 (//64992E"F99 (//64992E"F99 (//64992E"FXr   c              #      #    U R                   b  U R                   v   U R                  b  U R                  v   U R                  b  U R                  v   U R                  b  U R                  v   g g 7frj   )r   r+  r  r,  r.   s    r   rt   For.__iter__l  sV     99 ))O99 ))O99 ))O99 ))O !s   A/A1r   )r+  r@   r   r  r,  rj   rw   r   r   r   r~  r~  [  s    HI Jr   r~  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
FuncCallix  )r*   argsr@   rh   Nc                 (    Xl         X l        X0l        g rj   )r*   r  r@   )r&   r*   r  r@   s       r   rk   FuncCall.__init__z  r   r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr*   r  )r*   rn   r  ro   rp   s     r   r/   FuncCall.children  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r*   r  r.   s    r   rt   FuncCall.__iter__  r   rv   r   )r  r@   r*   rj   rw   r   r   r   r  r  x  r   r   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
FuncDecli  )r  re   r@   rh   Nc                 (    Xl         X l        X0l        g rj   )r  re   r@   )r&   r  re   r@   s       r   rk   FuncDecl.__init__  r   r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr  re   )r  rn   re   ro   rp   s     r   r/   FuncDecl.children  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r  re   r.   s    r   rt   FuncDecl.__iter__  r   rv   r   )r  r@   re   rj   rw   r   r   r   r  r    r   r   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
FuncDefi  )declparam_declsbodyr@   rh   Nc                 4    Xl         X l        X0l        X@l        g rj   )r  r  r  r@   )r&   r  r  r  r@   s        r   rk   FuncDef.__init__  s    	&	
r   c                 >   / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ )Nr  r  zparam_decls[%d])r  rn   r  r   r  ro   r   s       r   r/   FuncDef.children  s    99 (//64992E"F99 (//64992E"F!$"2"2"8b9HAOO.2E:; :Xr   c              #      #    U R                   b  U R                   v   U R                  b  U R                  v   U R                  =(       d    /  H  nUv   M	     g 7frj   )r  r  r  r   s     r   rt   FuncDef.__iter__  sH     99 ))O99 ))O&&,",EK -s   AAr   )r  r@   r  r  rj   rw   r   r   r   r  r    s    GI Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Gotoi  r*   r@   rh   Nc                     Xl         X l        g rj   r*   r@   r&   r*   r@   s      r   rk   Goto.__init__      	
r   c                     / n[        U5      $ rj   r   rp   s     r   r/   Goto.children  r   r   c              #      #    g 7frj   r   r.   s    r   rt   Goto.__iter__  r   r   rR  r@   r*   rj   rw   r   r   r   r  r        0I Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
IDi  r  Nc                     Xl         X l        g rj   r  r  s      r   rk   ID.__init__  r  r   c                     / n[        U5      $ rj   r   rp   s     r   r/   ID.children  r   r   c              #      #    g 7frj   r   r.   s    r   rt   ID.__iter__  r   r   rR  r  rj   rw   r   r   r   r  r    r  r   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
IdentifierTypei  )namesr@   rh   Nc                     Xl         X l        g rj   )r  r@   )r&   r  r@   s      r   rk   IdentifierType.__init__  r  r   c                     / n[        U5      $ rj   r   rp   s     r   r/   IdentifierType.children  r   r   c              #      #    g 7frj   r   r.   s    r   rt   IdentifierType.__iter__  r   r   )r  )r@   r  rj   rw   r   r   r   r  r    s    1I Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Ifi  r+  iftrueiffalser@   rh   Nc                 4    Xl         X l        X0l        X@l        g rj   r+  r  r  r@   r&   r+  r  r  r@   s        r   rk   If.__init__      	
r   c                    / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        U R                  b  UR                  SU R                  45        [	        U5      $ Nr+  r  r  r+  rn   r  r  ro   rp   s     r   r/   If.children  k    99 (//64992E"F;;"HOOXt{{4K$L<<#X__i5N%OXr   c              #      #    U R                   b  U R                   v   U R                  b  U R                  v   U R                  b  U R                  v   g g 7frj   r+  r  r  r.   s    r   rt   If.__iter__  E     99 ))O;;"++<<#,, $r  r   r+  r@   r  r  rj   rw   r   r   r   r  r        EI Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
InitListi  rf  Nc                     Xl         X l        g rj   ri  rj  s      r   rk   InitList.__init__  r  r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ rm  rn  r   s       r   r/   InitList.children  r  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   rq  r   s     r   rt   InitList.__iter__  r  r   r   rs  rj   rw   r   r   r   r  r    r  r   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Labeli  )r*   r,  r@   rh   Nc                 (    Xl         X l        X0l        g rj   )r*   r,  r@   )r&   r*   r,  r@   s       r   rk   Label.__init__  r   r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )Nr,  )r,  rn   ro   rp   s     r   r/   Label.children  /    99 (//64992E"FXr   c              #   D   #    U R                   b  U R                   v   g g 7frj   )r,  r.   s    r   rt   Label.__iter__#       99 ))O !r   rR  )r@   r*   r,  rj   rw   r   r   r   r  r    s    8I

 Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
NamedInitializeri)  )r*   r   r@   rh   Nc                 (    Xl         X l        X0l        g rj   )r*   r   r@   )r&   r*   r   r@   s       r   rk   NamedInitializer.__init__+  r   r   c                     / nU R                   b  UR                  SU R                   45        [        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [	        U5      $ )Nr   zname[%d])r   rn   r   r*   ro   r   s       r   r/   NamedInitializer.children0  s]    99 (//64992E"F!$))/r2HAOOZ!^U34 3Xr   c              #      #    U R                   b  U R                   v   U R                  =(       d    /  H  nUv   M	     g 7frj   )r   r*   r   s     r   rt   NamedInitializer.__iter__7  s1     99 ))Oiio2oEK &r   r   )r@   r   r*   rj   rw   r   r   r   r  r  )  s    8I
 Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
	ParamListi?  )paramsr@   rh   Nc                     Xl         X l        g rj   )r  r@   )r&   r  r@   s      r   rk   ParamList.__init__A      
r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ )Nz
params[%d])r   r  rn   ro   r   s       r   r/   ParamList.childrenE  sA    !$++"34HAOO\A-u56 5Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   )r  r   s     r   rt   ParamList.__iter__K  s      kk'R'EK (r   r   )r@   r  rj   rw   r   r   r   r  r  ?  s    2I Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
PtrDecliQ  )r  re   r@   rh   Nc                 (    Xl         X l        X0l        g rj   )r  re   r@   )r&   r  re   r@   s       r   rk   PtrDecl.__init__S  s    
	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ Nre   re   rn   ro   rp   s     r   r/   PtrDecl.childrenX  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frj   re   r.   s    r   rt   PtrDecl.__iter__]  r  r   )r  )r@   r  re   rj   rw   r   r   r   r  r  Q  s    9I

 Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Returnic  )r   r@   rh   Nc                     Xl         X l        g rj   )r   r@   )r&   r   r@   s      r   rk   Return.__init__e  r  r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ Nr   r   rn   ro   rp   s     r   r/   Return.childreni  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frj   r   r.   s    r   rt   Return.__iter__n  r  r   r   )r@   r   rj   rw   r   r   r   r  r  c  s    0I
 Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
StaticAssertit  )r+  messager@   rh   Nc                 (    Xl         X l        X0l        g rj   )r+  r  r@   )r&   r+  r  r@   s       r   rk   StaticAssert.__init__v  s    	
r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr+  r  )r+  rn   r  ro   rp   s     r   r/   StaticAssert.children{  sM    99 (//64992E"F<<#X__i5N%OXr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r+  r  r.   s    r   rt   StaticAssert.__iter__  s1     99 ))O<<#,, $rv   r   )r+  r@   r  rj   rw   r   r   r   r  r  t  s    ;I
 Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Structi  r*   r  r@   rh   Nc                 (    Xl         X l        X0l        g rj   r*   r  r@   r&   r*   r  r@   s       r   rk   Struct.__init__  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ r  r  r   s       r   r/   Struct.children  r  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   r  r   s     r   rt   Struct.__iter__  r  r   rR  r@   r  r*   rj   rw   r   r   r   r  r        9I
 Jr   r  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
	StructRefi  )r*   re   fieldr@   rh   Nc                 4    Xl         X l        X0l        X@l        g rj   )r*   re   r(  r@   )r&   r*   re   r(  r@   s        r   rk   StructRef.__init__  s    		

r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ )Nr*   r(  )r*   rn   r(  ro   rp   s     r   r/   StructRef.children  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   )r*   r(  r.   s    r   rt   StructRef.__iter__  r   rv   r  )r@   r(  r*   re   rj   rw   r   r   r   r'  r'    s    AI Jr   r'  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Switchi  r*  Nc                 (    Xl         X l        X0l        g rj   r.  r/  s       r   rk   Switch.__init__  r   r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ r2  r3  rp   s     r   r/   Switch.children  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   r6  r.   s    r   rt   Switch.__iter__  r   rv   r   r8  rj   rw   r   r   r   r0  r0    r   r   r0  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
	TernaryOpi  r  Nc                 4    Xl         X l        X0l        X@l        g rj   r  r  s        r   rk   TernaryOp.__init__  r  r   c                    / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        U R                  b  UR                  SU R                  45        [	        U5      $ r  r  rp   s     r   r/   TernaryOp.children  r  r   c              #      #    U R                   b  U R                   v   U R                  b  U R                  v   U R                  b  U R                  v   g g 7frj   r  r.   s    r   rt   TernaryOp.__iter__  r  r  r   r  rj   rw   r   r   r   r8  r8    r  r   r8  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
TypeDecli  )declnamer  r  re   r@   rh   Nc                 @    Xl         X l        X0l        X@l        XPl        g rj   )rA  r  r  re   r@   )r&   rA  r  r  re   r@   s         r   rk   TypeDecl.__init__  s     

	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r  r   rp   s     r   r/   TypeDecl.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frj   r  r.   s    r   rt   TypeDecl.__iter__  r  r   )rA  r  r  )r  r@   rA  r  re   rj   rw   r   r   r   r@  r@    s    NI
 2Jr   r@  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Typedefi  )r*   r  r  re   r@   rh   Nc                 @    Xl         X l        X0l        X@l        XPl        g rj   )r*   r  r  re   r@   )r&   r*   r  r  re   r@   s         r   rk   Typedef.__init__  s    	
	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r  r   rp   s     r   r/   Typedef.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frj   r  r.   s    r   rt   Typedef.__iter__  r  r   )r*   r  r  )r@   r*   r  r  re   rj   rw   r   r   r   rI  rI    s    LI
 0Jr   rI  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Typenamei  )r*   r  r  re   r@   rh   Nc                 @    Xl         X l        X0l        X@l        XPl        g rj   )r*   r  r  re   r@   )r&   r*   r  r  re   r@   s         r   rk   Typename.__init__
  s    	

	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r  r   rp   s     r   r/   Typename.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frj   r  r.   s    r   rt   Typename.__iter__  r  r   )r*   r  r  )r  r@   r*   r  re   rj   rw   r   r   r   rQ  rQ    s    JI
 .Jr   rQ  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
UnaryOpi  )r   r   r@   rh   Nc                 (    Xl         X l        X0l        g rj   )r   r   r@   )r&   r   r   r@   s       r   rk   UnaryOp.__init__  s    	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r
  r  rp   s     r   r/   UnaryOp.children#  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frj   r  r.   s    r   rt   UnaryOp.__iter__(  r  r   r   )r@   r   r   rj   rw   r   r   r   rY  rY    s    6I

 Jr   rY  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Unioni.  r  Nc                 (    Xl         X l        X0l        g rj   r  r  s       r   rk   Union.__init__0  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU-  U45        M     [        U5      $ r  r  r   s       r   r/   Union.children5  r  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frj   r  r   s     r   rt   Union.__iter__;  r  r   rR  r$  rj   rw   r   r   r   ra  ra  .  r%  r   ra  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
WhileiA  r*  Nc                 (    Xl         X l        X0l        g rj   r.  r/  s       r   rk   While.__init__C  r   r   c                     / nU R                   b  UR                  SU R                   45        U R                  b  UR                  SU R                  45        [        U5      $ r2  r3  rp   s     r   r/   While.childrenH  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frj   r6  r.   s    r   rt   While.__iter__N  r   rv   r   r8  rj   rw   r   r   r   ri  ri  A  r   r   ri  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
PragmaiV  )stringr@   rh   Nc                     Xl         X l        g rj   )rr  r@   )r&   rr  r@   s      r   rk   Pragma.__init__X  r  r   c                     / n[        U5      $ rj   r   rp   s     r   r/   Pragma.children\  r   r   c              #      #    g 7frj   r   r.   s    r   rt   Pragma.__iter__`  r   r   )rr  )r@   rr  rj   rw   r   r   r   rq  rq  V  s    2I Jr   rq  )6rN   r   objectr   rR   rc   ry   r   r   r   r   r   r   r   r   r   r   r  r  r!  r)  r:  rB  rJ  rT  r\  re  ru  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r'  r0  r8  r@  rI  rQ  rY  ra  ri  rq  r   r   r   <module>rz     sy  & L*6 L*^8& 8t! !,t * ,d "t ,D 4 ,4 *t $d *%t %"t E4 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 * 22t 2(0d 0(.t .(d $D &D *T r   