
    daf3$                    d   d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
  G d de      Z G d d      Z G d d      Zd	Z G d
 d      Z G d d      Z G d de      Z G d de      Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z G d de      Z G d de      Z G d  d!      Z G d" d#      Z G d$ d%e      Z G d& d'e      Z G d( d)e      Z G d* d+      Z  G d, d-      Z!e
ee f   Z"e
e"eeeeee!f   Z#e	e$e$f   Z%e	e$ee$   f   Z&ee&   Z'ee   Z(ee   Z)e
ee!f   Z*y.)/    )annotations)AbstractSetAnyIterableIteratorListOptionalTupleUnionc                      e Zd Zy)GrammarErrorN)__name__
__module____qualname__     8/root/Python-3.12.4/Tools/peg_generator/pegen/grammar.pyr   r      s    r   r   c                      e Zd ZddZddZy)GrammarVisitorc                z    d|j                   j                  z   }t        | || j                        } ||g|i |S )zVisit a node.visit_)	__class__r   getattrgeneric_visit)selfnodeargskwargsmethodvisitors         r   visitzGrammarVisitor.visit   s?    DNN333$(:(:;t-d-f--r   c                    |D ]F  }t        |t              r|D ]  } | j                  |g|i |  1 | j                  |g|i | H y)z9Called if no explicit visitor function exists for a node.N)
isinstancelistr!   )r   r   r   r   valueitems         r   r   zGrammarVisitor.generic_visit   s\     	3E%&! 6DDJJt5d5f56 

524262	3r   N)r   r   r   r   r   r   returnr   )r   zIterable[Any]r   r   r   r   r'   r   )r   r   r   r!   r   r   r   r   r   r      s    .3r   r   c                  ,    e Zd ZddZddZddZddZy)	Grammarc                    i }|D ]7  }|j                   |v rt        d|j                         |||j                   <   9 || _        t        |      | _        y )NzRepeated rule )namer   rulesdictmetas)r   r,   r.   	all_rulesrules        r   __init__zGrammar.__init__%   sZ    	 	(DyyI%"^DII=#ABB#'Idii 	( 
%[
r   c                b    dj                  d | j                  j                         D              S )N
c              3  8   K   | ]  \  }}t        |        y wNstr).0r+   r0   s      r   	<genexpr>z"Grammar.__str__.<locals>.<genexpr>0   s     HztTTHs   )joinr,   itemsr   s    r   __str__zGrammar.__str__/   s$    yyHTZZ5E5E5GHHHr   c                ,   dg}|j                  d       | j                  j                         D ]   }|j                  dt        |       d       " |j                  d       |j                  d       |j                  d       dj	                  |      S )	NzGrammar(z  [z    ,z  ],z"  {repr(list(self.metas.items()))})r3   )appendr,   valuesreprr:   )r   linesr0   s      r   __repr__zGrammar.__repr__2   s~    UJJ%%' 	/DLL4T
|1-.	/V9:Syyr   c              #  T   K   | j                   j                         E d {    y 7 wr5   )r,   rB   r<   s    r   __iter__zGrammar.__iter__<   s     ::$$&&&s   (&(N)r,   zIterable[Rule]r.   z#Iterable[Tuple[str, Optional[str]]]r'   r7   )r'   zIterator[Rule]r   r   r   r1   r=   rE   rG   r   r   r   r)   r)   $   s    !I 'r   r)   Tc                  F    e Zd Zd	d
dZddZddZddZddZddZddZ	y)RuleNc                j    || _         || _        || _        t        |      | _        d| _        d| _        y )NF)r+   typerhsboolmemoleft_recursiveleader)r   r+   rM   rN   rP   s        r   r1   zRule.__init__E   s1    		J	#r   c                8    | j                   j                  d      S )N_loopr+   
startswithr<   s    r   is_loopzRule.is_loopM   s    yy##G,,r   c                8    | j                   j                  d      S )N_gatherrU   r<   s    r   	is_gatherzRule.is_gatherP   s    yy##I..r   c                ~   t         s| j                  | j                   d| j                   }n(| j                   d| j                   d| j                   }t	        |      dk  r|S |j                  d      d   dz   g}|| j                  j                  D cg c]  }d| 	 c}z  }dj                  |      S c c}w )	Nz: [z]: X   :r   z    | r3   )
SIMPLE_STRrM   r+   rN   lensplitaltsr:   )r   resrD   alts       r   r=   zRule.__str__S   s    *YYKr$((,CYYKq3txxj9Cs8b=J3"S()DHHMM:SF3%.::yy ;s   B:c                V    d| j                   d| j                  d| j                  dS )NzRule(, r@   )r+   rM   rN   r<   s    r   rE   zRule.__repr__^   s)    tyym2dii]"TXXLBBr   c              #  (   K   | j                    y wr5   rN   r<   s    r   rG   zRule.__iter__a        hh   c                   | j                   }| j                         st        |j                        dk(  rt        |j                  d   j                        dk(  rdt        |j                  d   j                  d   j                  t              r0|j                  d   j                  d   j                  j                   }|S )N   r   )rN   rW   r`   rb   r;   r#   r&   Groupr   rN   s     r   flattenzRule.flattend   s    hhCHH"CHHQK%%&!+388A;,,Q/44e<((1+##A&++//C
r   r5   )r+   r7   rM   Optional[str]rN   RhsrP   zOptional[object]r'   rO   rH   r'   zIterator[Rhs])r'   rq   )
r   r   r   r1   rW   rZ   r=   rE   rG   ro   r   r   r   rK   rK   D   s&    -/	 C
r   rK   c                  $    e Zd ZddZddZddZy)Leafc                    || _         y r5   r%   )r   r%   s     r   r1   zLeaf.__init__r   s	    
r   c                    | j                   S r5   rw   r<   s    r   r=   zLeaf.__str__u   s    zzr   c              #     K   y wr5   r   r<   s    r   rG   zLeaf.__iter__x   	        N)r%   r7   rH   )r'   zIterable[str]r   r   r   r1   r=   rG   r   r   r   ru   ru   q   s    r   ru   c                  ,     e Zd ZdZd fdZddZ xZS )NameLeafzThe value is the name.c                @    | j                   dk(  ryt        | 	         S )N	ENDMARKER$)r%   superr=   )r   r   s    r   r=   zNameLeaf.__str__   s    ::$w  r   c                "    d| j                   dS )Nz	NameLeaf(r@   rw   r<   s    r   rE   zNameLeaf.__repr__   s    4::.**r   rH   )r   r   r   __doc__r=   rE   __classcell__r   s   @r   r~   r~   }   s     !
+r   r~   c                      e Zd ZdZddZy)
StringLeafz0The value is a string literal, including quotes.c                "    d| j                   dS )NzStringLeaf(r@   rw   r<   s    r   rE   zStringLeaf.__repr__   s    TZZN!,,r   NrH   )r   r   r   r   rE   r   r   r   r   r      s
    :-r   r   c                  >    e Zd ZddZddZddZd	dZed
d       Zy)rq   c                     || _         d | _        y r5   )rb   rP   )r   rb   s     r   r1   zRhs.__init__       	9=	r   c                F    dj                  d | j                  D              S )Nz | c              3  2   K   | ]  }t        |        y wr5   r6   )r8   rd   s     r   r9   zRhs.__str__.<locals>.<genexpr>   s     8s#c(8   )r:   rb   r<   s    r   r=   zRhs.__str__   s    zz8dii888r   c                "    d| j                   dS )NzRhs(r@   rb   r<   s    r   rE   zRhs.__repr__       dii]!$$r   c              #  (   K   | j                    y wr5   r   r<   s    r   rG   zRhs.__iter__        iirj   c                    t        | j                        dk7  s%t        | j                  d   j                        dk7  ryt        | j                  d   dd       yy)Nrl   r   FactionT)r`   rb   r;   r   r<   s    r   can_be_inlinedzRhs.can_be_inlined   sL    tyy>Q#diil&8&8"9Q">499Q<40<r   N)rb   z	List[Alt]rH   )r'   zIterator[List[Alt]]rr   )	r   r   r   r1   r=   rE   rG   propertyr   r   r   r   rq   rq      s*    >9%  r   rq   c                  4    e Zd ZdddddZd	dZd	dZd
dZy)AltN)icutr   c               .    || _         || _        || _        y r5   )r;   r   r   )r   r;   r   r   s       r   r1   zAlt.__init__   s    
	r   c                    dj                  d | j                  D              }t        s| j                  r| d| j                   dS |S )N c              3  2   K   | ]  }t        |        y wr5   r6   )r8   r&   s     r   r9   zAlt.__str__.<locals>.<genexpr>   s     9dD	9r   z { z })r:   r;   r_   r   )r   cores     r   r=   zAlt.__str__   s?    xx9djj99dkkV4}C00Kr   c                   t        | j                        g}| j                  dk\  r|j                  d| j                          | j                  r|j                  d| j                         ddj                  |       dS )Nr   zicut=zaction=zAlt(rf   r@   )rC   r;   r   rA   r   r:   )r   r   s     r   rE   zAlt.__repr__   sk    TZZ !99>KK%		{+,;;KK'$++12diio&a((r   c              #  (   K   | j                    y wr5   )r;   r<   s    r   rG   zAlt.__iter__   s     jjrj   )r;   zList[NamedItem]r   intr   rp   rH   )r'   zIterator[List[NamedItem]]rI   r   r   r   r   r      s    >@Z^ 
)r   r   c                  .    e Zd ZdddZddZddZd	dZy)
	NamedItemNc                .    || _         || _        || _        y r5   )r+   r&   rM   )r   r+   r&   rM   s       r   r1   zNamedItem.__init__   s    			r   c                    t         s'| j                  r| j                   d| j                   S t        | j                        S )N=)r_   r+   r&   r7   r<   s    r   r=   zNamedItem.__str__   s2    diiii[$))--tyy>!r   c                <    d| j                   d| j                  dS )Nz
NamedItem(rf   r@   )r+   r&   r<   s    r   rE   zNamedItem.__repr__   s    DII=499-q99r   c              #  (   K   | j                    y wr5   )r&   r<   s    r   rG   zNamedItem.__iter__   r   rj   r5   )r+   rp   r&   ItemrM   rp   rH   r'   zIterator[Item]rI   r   r   r   r   r      s    
":r   r   c                  $    e Zd ZddZddZddZy)Forcedc                    || _         y r5   r   r   r   s     r   r1   zForced.__init__   	    	r   c                     d| j                    S )Nz&&r   r<   s    r   r=   zForced.__str__   s    DII;r   c              #  (   K   | j                    y wr5   r   r<   s    r   rG   zForced.__iter__   r   rj   Nr   PlainrH   r'   zIterator[Plain]r|   r   r   r   r   r      s     r   r   c                  $    e Zd ZddZddZddZy)	Lookaheadc                     || _         || _        y r5   )r   sign)r   r   r   s      r   r1   zLookahead.__init__   s    		r   c                6    | j                    | j                   S r5   )r   r   r<   s    r   r=   zLookahead.__str__   s    ))TYYK((r   c              #  (   K   | j                    y wr5   r   r<   s    r   rG   zLookahead.__iter__   r   rj   N)r   r   r   r7   rH   r   r|   r   r   r   r   r      s    )r   r   c                  (     e Zd Zd fdZddZ xZS )PositiveLookaheadc                &    t         |   |d       y )N&r   r1   r   r   r   s     r   r1   zPositiveLookahead.__init__       s#r   c                "    d| j                   dS )NzPositiveLookahead(r@   r   r<   s    r   rE   zPositiveLookahead.__repr__       #DII=22r   r   rH   r   r   r   r1   rE   r   r   s   @r   r   r          $3r   r   c                  (     e Zd Zd fdZddZ xZS )NegativeLookaheadc                &    t         |   |d       y )N!r   r   s     r   r1   zNegativeLookahead.__init__   r   r   c                "    d| j                   dS )NzNegativeLookahead(r@   r   r<   s    r   rE   zNegativeLookahead.__repr__   r   r   r   rH   r   r   s   @r   r   r      r   r   r   c                  ,    e Zd ZddZddZddZddZy)	Optc                    || _         y r5   r   r   s     r   r1   zOpt.__init__   r   r   c                J    t        | j                        }d|v rd| dS | dS )Nr   r\   ]?r7   r   r   ss     r   r=   zOpt.__str__   s.    		N!8qc8OS7Nr   c                "    d| j                   dS )NzOpt(r@   r   r<   s    r   rE   zOpt.__repr__  r   r   c              #  (   K   | j                    y wr5   r   r<   s    r   rG   zOpt.__iter__
  r   rj   N)r   r   rH   r   rI   r   r   r   r   r      s    %r   r   c                       e Zd ZdZddZddZy)Repeatz Shared base class for x* and x+.c                     || _         d | _        y r5   )r   rP   r   s     r   r1   zRepeat.__init__  r   r   c              #  (   K   | j                    y wr5   r   r<   s    r   rG   zRepeat.__iter__  r   rj   Nr   r   )r   r   r   r   r1   rG   r   r   r   r   r     s    *>r   r   c                      e Zd ZddZddZy)Repeat0c                J    t        | j                        }d|v rd| dS | dS )Nr   (z)**r   r   s     r   r=   zRepeat0.__str__  /    		N!8qc9S7Nr   c                "    d| j                   dS )NzRepeat0(r@   r   r<   s    r   rE   zRepeat0.__repr__"      $))a((r   NrH   r   r   r   r=   rE   r   r   r   r   r         )r   r   c                      e Zd ZddZddZy)Repeat1c                J    t        | j                        }d|v rd| dS | dS )Nr   r   z)++r   r   s     r   r=   zRepeat1.__str__'  r   r   c                "    d| j                   dS )NzRepeat1(r@   r   r<   s    r   rE   zRepeat1.__repr__/  r   r   NrH   r   r   r   r   r   r   &  r   r   r   c                  $    e Zd ZddZddZddZy)Gatherc                     || _         || _        y r5   	separatorr   )r   r   r   s      r   r1   zGather.__init__4  s    "	r   c                :    | j                   d| j                  dS )N.r   r   r<   s    r   r=   zGather.__str__8  s    ..#1TYYM33r   c                <    d| j                   d| j                  dS )NzGather(rf   r@   r   r<   s    r   rE   zGather.__repr__;  s     *"TYYM;;r   N)r   r   r   r   rH   )r   r   r   r1   r=   rE   r   r   r   r   r   3  s    4<r   r   c                  ,    e Zd ZddZddZddZddZy)	rm   c                    || _         y r5   rh   rn   s     r   r1   zGroup.__init__@  s	    r   c                "    d| j                    dS )Nr   r@   rh   r<   s    r   r=   zGroup.__str__C  s    488*Ar   c                "    d| j                   dS )NzGroup(r@   rh   r<   s    r   rE   zGroup.__repr__F  s    |1%%r   c              #  (   K   | j                    y wr5   rh   r<   s    r   rG   zGroup.__iter__I  ri   rj   N)rN   rq   rH   rs   rI   r   r   r   rm   rm   ?  s    &r   rm   c                  <    e Zd ZddZd	dZd	dZd
dZddZddZy)Cutc                     y r5   r   r<   s    r   r1   zCut.__init__N  s    r   c                     y)NzCut()r   r<   s    r   rE   zCut.__repr__Q  s    r   c                     y)N~r   r<   s    r   r=   zCut.__str__T  s    r   c              #     K   y wr5   r   r<   s    r   rG   zCut.__iter__W  rz   r{   c                0    t        |t              st        S y)NT)r#   r   NotImplemented)r   others     r   __eq__z
Cut.__eq__[  s    %%!!r   c                    t               S r5   )setr<   s    r   initial_nameszCut.initial_names`  s	    ur   N)r'   NonerH   )r'   zIterator[Tuple[str, str]])r  objectr'   rO   )r'   zAbstractSet[str])	r   r   r   r1   rE   r=   rG   r  r  r   r   r   r   r   M  s     
r   r   N)+
__future__r   typingr   r   r   r   r   r	   r
   r   	Exceptionr   r   r)   r_   rK   ru   r~   r   rq   r   r   r   r   r   r   r   r   r   r   r   rm   r   r   r   r7   RuleName	MetaTupleMetaListRuleListNamedItemListLookaheadOrCutr   r   r   <module>r     ss   "	 	 		9 	3 3"' ': 
* *Z	 		+t 	+- - 0 2 & 	 	3	 33	 3 & 
)f 
)
)f 
)	<V 	<  . 	dEkUCC<=c?#x}$%		?:Yy#~&r   