
     
zi                        S SK r S SKJrJrJrJ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 " S0 S1\5      r " S2 S3\5      r " S4 S5\5      r " S6 S7\5      r  " S8 S9\5      r! " S: S;\5      r" " S< S=\5      r# " S> S?\5      r$ " S@ SA\5      r% " SB SC\5      r& " SD SE\5      r' " SF SG\5      r( " SH SI\5      r) " SJ SK\5      r* " SL SM\5      r+ " SN SO\5      r, " SP SQ\5      r- " SR SS\5      r. " ST SU\5      r/ " SV SW\5      r0 " SX SY\5      r1 " SZ S[\5      r2 " S\ S]\5      r3 " S^ S_\5      r4 " S` Sa\5      r5 " Sb Sc\5      r6 " Sd Se\5      r7 " Sf Sg\5      r8 " Sh Si\5      r9g)j    N)AnyClassVarIOOptionalc                 ~    [        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     B/var/www/html/venv/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                       \ rS rSr% Sr Sr\\\S4      \	S'   \
\   \	S'   S rS r\R                  SS	S
S	S	S4S\\   S\S\S\S\S\S\
\   4S jjrSrg)Node     .
attr_namescoordc                    U R                   R                  S-   nSnSnU R                  SS  H  nX-  nX-  nUU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$ )z5Generates a python representation of the current node( N=r
   z
   ,r   ))	__class____name__	__slots__r   getattrr   len)selfresultindent	separatornames        r   __repr__Node.__repr__'   s    ((3.	NN3B'DFF '$-.66#TS9P9P5Q)Q"RS	F IcC(?(?$@@AF (" 	3,r   c                     g)z)A sequence of all children that are NodesNr   r,   s    r   childrenNode.childrenB   s    r   r   FTNbufoffset	attrnamesshowemptyattrs	nodenames	showcoord_my_node_namec                    SU-  nU(       a4  Ub1  UR                  XR                  R                  -   S-   U-   S-   5        O*UR                  XR                  R                  -   S-   5        U R                  (       a  S n	U R                   V
s/ s H/  n
U(       d  U	" [	        X
5      5      (       a  M"  U
[	        X
5      4PM1     nn
U(       a  SR                  S U 5       5      nOSR                  S	 U 5       5      nUR                  U5        U(       a  UR                  S
U R                   S35        UR                  S5        U R                  5        H  u  pUR                  UUS-   UUUUUS9  M     g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.

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

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

showcoord:
    Do you want the coordinates of each Node to be
    displayed.
r$   Nz <z>: z: c                 d    U S L =(       d%    [        U S5      =(       a    [        U 5      S:H    g   g   g )N__len__r   )hasattrr+   )vs    r   is_emptyNode.show.<locals>.is_emptyp   s(    T	Dga3CA!CDr   z, c              3   4   #    U  H  u  pU S U 3v   M     g7f)r#   Nr   )r   r0   values      r   r   Node.show.<locals>.<genexpr>y   s     #P+$tfAeW$5s   c              3   ,   #    U  H
  u  pU v   M     g 7fNr   )r   _rF   s      r   r   rG   {   s     #Fv81ugJvs   z (at r&   r
      )r8   r9   r:   r;   r<   r=   )	writer'   r(   r   r*   r   r   r5   show)r,   r7   r8   r9   r:   r;   r<   r=   leadrC   nnvlistattrstr
child_namechilds                  r   rM   	Node.showF   sL   D V|2IId^^444t;mKeSTIId^^444t;<??E
 (A!'$2B)C &GD$%(  
 ))#P#PP))#Fv#FFIIgIIdjj\+,		$!%JJJz#-##(   "1s   !E72E7)r(   
__module____qualname____firstlineno__r)   r   r   tuplestr__annotations__r   r   r1   r5   sysstdoutr   intboolrM   __static_attributes__r   r   r   r   r       s    I,.JsCx).C=6 zz#'+EWE E 	E
 E E E  }E Er   r   c                   8    \ rS rSrSrSrS\4S jrS\4S jrSr	g)NodeVisitor   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)
Nnodec                 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,   rc   visitormethods       r   visitNodeVisitor.visit   s     %!#D$$(()@)@$G? 7 77FdD,>,>?G:At~~667t}r   c                 X    UR                  5        H  u  p#U R                  U5        M     g)zdCalled if no explicit visitor function exists for a
node. Implements preorder visiting of the node.
N)r5   rk   )r,   rc   rJ   cs       r   rh   NodeVisitor.generic_visit   s!     MMODAJJqM $r   )rf   )
r(   rU   rV   rW   __doc__rf   r   rk   rh   r_   r   r   r   ra   ra      s'    B M$ $ r   ra   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 rI   )rt   ru   rv   r   )r,   rt   ru   rv   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      $ )Nrt   ru   )rt   appendru   rX   r,   nodelists     r   r5   ArrayDecl.children   sO    99 OOVTYY/088OOUDHH-.Xr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )rt   ru   r4   s    r   __iter__ArrayDecl.__iter__   s0     99 ))O88((N     9;)rv   )r   ru   rv   rt   rI   
r(   rU   rV   rW   r)   ry   r5   r   r   r_   r   r   r   rr   rr      s    DI  Jr   rr   c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
ArrayRef   )r0   	subscriptr   rw   Nc                 (    Xl         X l        X0l        g rI   )r0   r   r   )r,   r0   r   r   s       r   ry   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      $ )Nr0   r   )r0   r|   r   rX   r}   s     r   r5   ArrayRef.children   sO    99 OOVTYY/0>>%OO[$..9:Xr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r0   r   r4   s    r   r   ArrayRef.__iter__   s1     99 ))O>>%..  &r   r   )r   r0   r   rI   r   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)

Assignment   )oplvaluervaluer   rw   Nc                 4    Xl         X l        X0l        X@l        g rI   )r   r   r   r   )r,   r   r   r   r   s        r   ry   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   r|   r   rX   r}   s     r   r5   Assignment.children  sO    ;;"OOXt{{34;;"OOXt{{34Xr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r   r   r4   s    r   r   Assignment.__iter__  s2     ;;"++;;"++ #r   r   )r   r   r   r   rI   r   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)
Alignasi  )	alignmentr   rw   Nc                     Xl         X l        g rI   r   r   )r,   r   r   s      r   ry   Alignas.__init__  s    "
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )Nr   )r   r|   rX   r}   s     r   r5   Alignas.children  s0    >>%OO[$..9:Xr   c              #   D   #    U R                   b  U R                   v   g g 7frI   )r   r4   s    r   r   Alignas.__iter__"  s     >>%..  &    r   r   rI   r   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)
BinaryOpi)  )r   leftrightr   rw   Nc                 4    Xl         X l        X0l        X@l        g rI   )r   r   r   r   )r,   r   r   r   r   s        r   ry   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   r|   r   rX   r}   s     r   r5   BinaryOp.children2  O    99 OOVTYY/0::!OOWdjj12Xr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r   r   r4   s    r   r   BinaryOp.__iter__:  1     99 ))O::!** "r   r   )r   r   r   r   rI   r   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)
BreakiC  r   rw   Nc                     Xl         g rI   r   r,   r   s     r   ry   Break.__init__F      
r   c                     gNr   r   r4   s    r   r5   Break.childrenI      r   c              #      #    g 7frI   r   r4   s    r   r   Break.__iter__L          r   r   rI   r   r   r   r   r   r   C      (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)
CaseiS  )exprstmtsr   rw   Nc                 (    Xl         X l        X0l        g rI   )r   r   r   )r,   r   r   r   s       r   ry   Case.__init__V      	

r   c                     / nU R                   b  UR                  SU R                   45        [        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [	        U5      $ )Nr   stmts[])r   r|   	enumerater   rX   r,   r~   irS   s       r   r5   Case.children[  sc    99 OOVTYY/0!$**"23HAOOvaS]E23 4Xr   c              #      #    U R                   b  U R                   v   U R                  =(       d    /  H  nUv   M	     g 7frI   )r   r   r,   rS   s     r   r   Case.__iter__c  s3     99 ))OZZ%2%EK &   =?r   )r   r   r   rI   r   r   r   r   r   r   S  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)
Castil  )to_typer   r   rw   Nc                 (    Xl         X l        X0l        g rI   )r   r   r   )r,   r   r   r   s       r   ry   Cast.__init__o  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   r|   r   rX   r}   s     r   r5   Cast.childrent  sO    <<#OOY5699 OOVTYY/0Xr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r   r   r4   s    r   r   Cast.__iter__|  s1     <<#,,99 ))O !r   r   )r   r   r   rI   r   r   r   r   r   r   l  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)
Compoundi  )block_itemsr   rw   Nc                     Xl         X l        g rI   r   r   )r,   r   r   s      r   ry   Compound.__init__      &
r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ )Nzblock_items[r   )r   r   r|   rX   r   s       r   r5   Compound.children  G    !$"2"2"8b9HAOO|A3a0%89 :Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   )r   r   s     r   r   Compound.__iter__  "     %%++EK ,   "$r   r   rI   r   r   r   r   r   r         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)
CompoundLiterali  )rt   initr   rw   Nc                 (    Xl         X l        X0l        g rI   )rt   r   r   )r,   rt   r   r   s       r   ry   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      $ )Nrt   r   )rt   r|   r   rX   r}   s     r   r5   CompoundLiteral.children  O    99 OOVTYY/099 OOVTYY/0Xr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )rt   r   r4   s    r   r   CompoundLiteral.__iter__  0     99 ))O99 ))O !r   r   )r   r   rt   rI   r   r   r   r   r   r         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)
Constanti  )rt   rF   r   rw   Nc                 (    Xl         X l        X0l        g rI   )rt   rF   r   )r,   rt   rF   r   s       r   ry   Constant.__init__  r   r   c                     / n[        U5      $ rI   rX   r}   s     r   r5   Constant.children      Xr   c              #      #    g 7frI   r   r4   s    r   r   Constant.__iter__  r   r   )rt   rF   )r   rt   rF   rI   r   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)
Continuei  r   Nc                     Xl         g rI   r   r   s     r   ry   Continue.__init__  r   r   c                     gr   r   r4   s    r   r5   Continue.children  r   r   c              #      #    g 7frI   r   r4   s    r   r   Continue.__iter__  r   r   r   r   rI   r   r   r   r   r  r    r   r   r  c                   4    \ rS rSrSr S	S jrS rS rSrSr	g)
Decli  )
r0   qualsalignstoragefuncspecrt   r   bitsizer   rw   Nc
                 p    Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        g rI   )	r0   r  r  r  r  rt   r   r  r   )
r,   r0   r  r  r  r  rt   r   r  r   s
             r   ry   Decl.__init__  s1     	

 		
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      $ )Nrt   r   r  )rt   r|   r   r  rX   r}   s     r   r5   Decl.children  sn    99 OOVTYY/099 OOVTYY/0<<#OOY56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rI   )rt   r   r  r4   s    r   r   Decl.__iter__  sD     99 ))O99 ))O<<#,, $   AA)r0   r  r  r  r  )	r  r  r   r  r   r0   r  r  rt   rI   r   r   r   r   r  r    s&    I QU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   rw   Nc                     Xl         X l        g rI   )r  r   )r,   r  r   s      r   ry   DeclList.__init__      

r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ Nzdecls[r   r   r  r|   rX   r   s       r   r5   DeclList.children  D    !$**"23HAOOvaS]E23 4Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   r  r   s     r   r   DeclList.__iter__        ZZ%2%EK &r   r   )r   r  rI   r   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   rw   Nc                     Xl         X l        g rI   )r   r   )r,   r   r   s      r   ry   Default.__init__%  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ )Nr   r   )r   r   r|   rX   r   s       r   r5   Default.children)  r%  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   )r   r   s     r   r   Default.__iter__/  r)  r   r   )r   r   rI   r   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)
DoWhilei6  condstmtr   rw   Nc                 (    Xl         X l        X0l        g rI   r6  r7  r   r,   r6  r7  r   s       r   ry   DoWhile.__init__9  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      $ Nr6  r7  r6  r|   r7  rX   r}   s     r   r5   DoWhile.children>  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   r6  r7  r4   s    r   r   DoWhile.__iter__F  r   r   r   r6  r   r7  rI   r   r   r   r   r4  r4  6  r   r   r4  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
EllipsisParamiO  r   Nc                     Xl         g rI   r   r   s     r   ry   EllipsisParam.__init__R  r   r   c                     gr   r   r4   s    r   r5   EllipsisParam.childrenU  r   r   c              #      #    g 7frI   r   r4   s    r   r   EllipsisParam.__iter__X  r   r   r   r   rI   r   r   r   r   rE  rE  O  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)
EmptyStatementi_  r   Nc                     Xl         g rI   r   r   s     r   ry   EmptyStatement.__init__b  r   r   c                     gr   r   r4   s    r   r5   EmptyStatement.childrene  r   r   c              #      #    g 7frI   r   r4   s    r   r   EmptyStatement.__iter__h  r   r   r   r   rI   r   r   r   r   rM  rM  _  r   r   rM  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Enumio  )r0   valuesr   rw   Nc                 (    Xl         X l        X0l        g rI   )r0   rV  r   )r,   r0   rV  r   s       r   ry   Enum.__init__r  s    	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )NrV  )rV  r|   rX   r}   s     r   r5   Enum.childrenw  s0    ;;"OOXt{{34Xr   c              #   D   #    U R                   b  U R                   v   g g 7frI   )rV  r4   s    r   r   Enum.__iter__}  s     ;;"++ #r   r0   )r   r0   rV  rI   r   r   r   r   rU  rU  o  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)

Enumeratori  )r0   rF   r   rw   Nc                 (    Xl         X l        X0l        g rI   )r0   rF   r   )r,   r0   rF   r   s       r   ry   Enumerator.__init__  r   r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )NrF   )rF   r|   rX   r}   s     r   r5   Enumerator.children  s0    ::!OOWdjj12Xr   c              #   D   #    U R                   b  U R                   v   g g 7frI   )rF   r4   s    r   r   Enumerator.__iter__  s     ::!** "r   r]  )r   r0   rF   rI   r   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)
EnumeratorListi  )enumeratorsr   rw   Nc                     Xl         X l        g rI   )rh  r   )r,   rh  r   s      r   ry   EnumeratorList.__init__  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ )Nzenumerators[r   )r   rh  r|   rX   r   s       r   r5   EnumeratorList.children  r   r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   )rh  r   s     r   r   EnumeratorList.__iter__  r   r   r   )r   rh  rI   r   r   r   r   rg  rg    r   r   rg  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
ExprListi  exprsr   rw   Nc                     Xl         X l        g rI   rr  r   r,   rr  r   s      r   ry   ExprList.__init__  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ Nzexprs[r   r   rr  r|   rX   r   s       r   r5   ExprList.children  r%  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   rr  r   s     r   r   ExprList.__iter__  r)  r   r   r   rr  rI   r   r   r   r   rp  rp    r*  r   rp  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
FileASTi  )extr   rw   Nc                     Xl         X l        g rI   )r  r   )r,   r  r   s      r   ry   FileAST.__init__  s    
r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ )Nzext[r   )r   r  r|   rX   r   s       r   r5   FileAST.children  sC    !$((.b1HAOOtA3a[%01 2Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   )r  r   s     r   r   FileAST.__iter__  s     XX^^EK $r   r   )r   r  rI   r   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)
Fori  )r   r6  nextr7  r   rw   Nc                 @    Xl         X l        X0l        X@l        XPl        g rI   )r   r6  r  r7  r   )r,   r   r6  r  r7  r   s         r   ry   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   r6  r  r7  )r   r|   r6  r  r7  rX   r}   s     r   r5   For.children  s    99 OOVTYY/099 OOVTYY/099 OOVTYY/099 OOVTYY/0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rI   )r   r6  r  r7  r4   s    r   r   For.__iter__  sV     99 ))O99 ))O99 ))O99 ))O !s   A/A1r   )r6  r   r   r  r7  rI   r   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)
FuncCalli  )r0   argsr   rw   Nc                 (    Xl         X l        X0l        g rI   )r0   r  r   )r,   r0   r  r   s       r   ry   FuncCall.__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      $ )Nr0   r  )r0   r|   r  rX   r}   s     r   r5   FuncCall.children   r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r0   r  r4   s    r   r   FuncCall.__iter__  r   r   r   )r  r   r0   rI   r   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)
FuncDecli  )r  rt   r   rw   Nc                 (    Xl         X l        X0l        g rI   )r  rt   r   )r,   r  rt   r   s       r   ry   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  rt   )r  r|   rt   rX   r}   s     r   r5   FuncDecl.children  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r  rt   r4   s    r   r   FuncDecl.__iter__!  r   r   r   )r  r   rt   rI   r   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   rw   Nc                 4    Xl         X l        X0l        X@l        g rI   )r  r  r  r   )r,   r  r  r  r   s        r   ry   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 S3U45        M     [        U5      $ )Nr  r  zparam_decls[r   )r  r|   r  r   r  rX   r   s       r   r5   FuncDef.children3  s    99 OOVTYY/099 OOVTYY/0!$"2"2"8b9HAOO|A3a0%89 :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rI   )r  r  r  r   s     r   r   FuncDef.__iter__=  sH     99 ))O99 ))O%%++EK ,s   AAr   )r  r   r  r  rI   r   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)
GotoiH  r0   r   rw   Nc                     Xl         X l        g rI   r0   r   r,   r0   r   s      r   ry   Goto.__init__K      	
r   c                     / n[        U5      $ rI   r   r}   s     r   r5   Goto.childrenO  r  r   c              #      #    g 7frI   r   r4   s    r   r   Goto.__iter__S  r   r   r]  r   r0   rI   r   r   r   r   r  r  H      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)
IDiZ  r  Nc                     Xl         X l        g rI   r  r  s      r   ry   ID.__init__]  r  r   c                     / n[        U5      $ rI   r   r}   s     r   r5   ID.childrena  r  r   c              #      #    g 7frI   r   r4   s    r   r   ID.__iter__e  r   r   r]  r  rI   r   r   r   r   r  r  Z  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)
IdentifierTypeil  )namesr   rw   Nc                     Xl         X l        g rI   )r  r   )r,   r  r   s      r   ry   IdentifierType.__init__o  r   r   c                     / n[        U5      $ rI   r   r}   s     r   r5   IdentifierType.childrens  r  r   c              #      #    g 7frI   r   r4   s    r   r   IdentifierType.__iter__w  r   r   )r  )r   r  rI   r   r   r   r   r  r  l  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~  r6  iftrueiffalser   rw   Nc                 4    Xl         X l        X0l        X@l        g rI   r6  r  r  r   r,   r6  r  r  r   s        r   ry   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      $ Nr6  r  r  r6  r|   r  r  rX   r}   s     r   r5   If.children  n    99 OOVTYY/0;;"OOXt{{34<<#OOY56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rI   r6  r  r  r4   s    r   r   If.__iter__  E     99 ))O;;"++<<#,, $r  r   r6  r   r  r  rI   r   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  rq  Nc                     Xl         X l        g rI   rt  ru  s      r   ry   InitList.__init__  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ rx  ry  r   s       r   r5   InitList.children  r%  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   r|  r   s     r   r   InitList.__iter__  r)  r   r   r~  rI   r   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  )r0   r7  r   rw   Nc                 (    Xl         X l        X0l        g rI   )r0   r7  r   )r,   r0   r7  r   s       r   ry   Label.__init__  r   r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ )Nr7  )r7  r|   rX   r}   s     r   r5   Label.children  0    99 OOVTYY/0Xr   c              #   D   #    U R                   b  U R                   v   g g 7frI   )r7  r4   s    r   r   Label.__iter__       99 ))O !r   r]  )r   r0   r7  rI   r   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  )r0   r   r   rw   Nc                 (    Xl         X l        X0l        g rI   )r0   r   r   )r,   r0   r   r   s       r   ry   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 S3U45        M     [	        U5      $ )Nr   zname[r   )r   r|   r   r0   rX   r   s       r   r5   NamedInitializer.children  sb    99 OOVTYY/0!$))/r2HAOOuQCq\512 3Xr   c              #      #    U R                   b  U R                   v   U R                  =(       d    /  H  nUv   M	     g 7frI   )r   r0   r   s     r   r   NamedInitializer.__iter__  s1     99 ))OYY_"_EK %r   r   )r   r   r0   rI   r   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   rw   Nc                     Xl         X l        g rI   )r  r   )r,   r  r   s      r   ry   ParamList.__init__      
r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ )Nzparams[r   )r   r  r|   rX   r   s       r   r5   ParamList.children  sD    !$++"34HAOOwqc^U34 5Xr   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   )r  r   s     r   r   ParamList.__iter__  s      [[&B&EK 'r   r   )r   r  rI   r   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)
PtrDecli  )r  rt   r   rw   Nc                 (    Xl         X l        X0l        g rI   )r  rt   r   )r,   r  rt   r   s       r   ry   PtrDecl.__init__  s    
	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ Nrt   rt   r|   rX   r}   s     r   r5   PtrDecl.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frI   rt   r4   s    r   r   PtrDecl.__iter__   r  r   )r  )r   r  rt   rI   r   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)
Returni  )r   r   rw   Nc                     Xl         X l        g rI   )r   r   )r,   r   r   s      r   ry   Return.__init__
  r  r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ Nr   r   r|   rX   r}   s     r   r5   Return.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frI   r   r4   s    r   r   Return.__iter__  r  r   r   )r   r   rI   r   r   r   r   r  r    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)
StaticAsserti  )r6  messager   rw   Nc                 (    Xl         X l        X0l        g rI   )r6  r  r   )r,   r6  r  r   s       r   ry   StaticAssert.__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      $ )Nr6  r  )r6  r|   r  rX   r}   s     r   r5   StaticAssert.children#  sO    99 OOVTYY/0<<#OOY56Xr   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r6  r  r4   s    r   r   StaticAssert.__iter__+  s1     99 ))O<<#,, $r   r   )r6  r   r  rI   r   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)
Structi4  r0   r  r   rw   Nc                 (    Xl         X l        X0l        g rI   r0   r  r   r,   r0   r  r   s       r   ry   Struct.__init__7  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ r"  r#  r   s       r   r5   Struct.children<  r%  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   r'  r   s     r   r   Struct.__iter__B  r)  r   r]  r   r  r0   rI   r   r   r   r   r%  r%  4      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)
	StructRefiI  )r0   rt   fieldr   rw   Nc                 4    Xl         X l        X0l        X@l        g rI   )r0   rt   r3  r   )r,   r0   rt   r3  r   s        r   ry   StructRef.__init__L  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      $ )Nr0   r3  )r0   r|   r3  rX   r}   s     r   r5   StructRef.childrenR  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   )r0   r3  r4   s    r   r   StructRef.__iter__Z  r   r   r  )r   r3  r0   rt   rI   r   r   r   r   r2  r2  I  s    AI Jr   r2  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Switchic  r5  Nc                 (    Xl         X l        X0l        g rI   r9  r:  s       r   ry   Switch.__init__f  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      $ r=  r>  r}   s     r   r5   Switch.childrenk  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   rA  r4   s    r   r   Switch.__iter__s  r   r   r   rC  rI   r   r   r   r   r;  r;  c  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)
	TernaryOpi|  r  Nc                 4    Xl         X l        X0l        X@l        g rI   r  r  s        r   ry   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  r}   s     r   r5   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rI   r  r4   s    r   r   TernaryOp.__iter__  r  r  r   r  rI   r   r   r   r   rC  rC  |  r  r   rC  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  rt   r   rw   Nc                 @    Xl         X l        X0l        X@l        XPl        g rI   )rL  r  r  rt   r   )r,   rL  r  r  rt   r   s         r   ry   TypeDecl.__init__  s     

	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r
  r  r}   s     r   r5   TypeDecl.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frI   r  r4   s    r   r   TypeDecl.__iter__  r  r   )rL  r  r  )r  r   rL  r  rt   rI   r   r   r   r   rK  rK    s    NIJr   rK  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Typedefi  )r0   r  r  rt   r   rw   Nc                 @    Xl         X l        X0l        X@l        XPl        g rI   )r0   r  r  rt   r   )r,   r0   r  r  rt   r   s         r   ry   Typedef.__init__  s    	
	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r
  r  r}   s     r   r5   Typedef.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frI   r  r4   s    r   r   Typedef.__iter__  r  r   )r0   r  r  )r   r0   r  r  rt   rI   r   r   r   r   rT  rT    s    LIJr   rT  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Typenamei  )r0   r  r  rt   r   rw   Nc                 @    Xl         X l        X0l        X@l        XPl        g rI   )r0   r  r  rt   r   )r,   r0   r  r  rt   r   s         r   ry   Typename.__init__  s    	

	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r
  r  r}   s     r   r5   Typename.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frI   r  r4   s    r   r   Typename.__iter__  r  r   )r0   r  r  )r  r   r0   r  rt   rI   r   r   r   r   r\  r\    s    JIJr   r\  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   rw   Nc                 (    Xl         X l        X0l        g rI   )r   r   r   )r,   r   r   r   s       r   ry   UnaryOp.__init__  s    	
r   c                 p    / nU R                   b  UR                  SU R                   45        [        U5      $ r  r  r}   s     r   r5   UnaryOp.children  r  r   c              #   D   #    U R                   b  U R                   v   g g 7frI   r  r4   s    r   r   UnaryOp.__iter__  r  r   r   )r   r   r   rI   r   r   r   r   rd  rd    s    6I
 Jr   rd  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 rI   r(  r)  s       r   ry   Union.__init__  r   r   c                     / n[        U R                  =(       d    / 5       H  u  p#UR                  SU S3U45        M     [        U5      $ r"  r#  r   s       r   r5   Union.children  r%  r   c              #   L   #    U R                   =(       d    /  H  nUv   M	     g 7frI   r'  r   s     r   r   Union.__iter__  r)  r   r]  r/  rI   r   r   r   r   rl  rl     r0  r   rl  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Whilei  r5  Nc                 (    Xl         X l        X0l        g rI   r9  r:  s       r   ry   While.__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      $ r=  r>  r}   s     r   r5   While.children  r   r   c              #   z   #    U R                   b  U R                   v   U R                  b  U R                  v   g g 7frI   rA  r4   s    r   r   While.__iter__%  r   r   r   rC  rI   r   r   r   r   rt  rt    r   r   rt  c                   2    \ rS rSrSrS	S jrS rS rSrSr	g)
Pragmai.  )stringr   rw   Nc                     Xl         X l        g rI   )r}  r   )r,   r}  r   s      r   ry   Pragma.__init__1  r   r   c                     / n[        U5      $ rI   r   r}   s     r   r5   Pragma.children5  r  r   c              #      #    g 7frI   r   r4   s    r   r   Pragma.__iter__9  r   r   )r}  )r   r}  rI   r   r   r   r   r|  r|  .  s    2I Jr   r|  ):r[   typingr   r   r   r   r   r   ra   rr   r   r   r   r   r   r   r   r   r   r   r  r  r  r,  r4  rE  rM  rU  r_  rg  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%  r2  r;  rC  rK  rT  r\  rd  rl  rt  r|  r   r   r   <module>r     s{  $  . .k k\7 7t   4t 2 4d (t 4D  4 24 2t (d 2t ,t  34 3lt (d (d 2D  T  4 * *T (t (d ( $  Ft 2t 2d <4 $ $T $ <t (D *t 2 (d *T (4 2T * 4T 2 <t 6d 6t 6d *D *D 2T r   