
    XhQ                         d dl mZmZmZmZ ddlmZ d Z G d de      Z G d de      Z	 G d d	e      Z
 G d
 de      Z G d de      Zy)    )OptionalTupleClassVarSequence   )	Serializec                   n    e Zd ZU dZeed<   eZee	   ed<   deddfdZ
d Zd Zd	 Zd
 Z ee      Zd Zy)Symbolnamer   is_termreturnNc                     || _         y Nr   )selfr   s     @/var/www/html/myenv/lib/python3.12/site-packages/lark/grammar.py__init__zSymbol.__init__   s	    	    c                     t        |t              sJ |       | j                  |j                  k(  xr | j                  |j                  k(  S r   )
isinstancer
   r   r   r   others     r   __eq__zSymbol.__eq__   s<    %(/%/(||u}},Hejj1HHr   c                     | |k(   S r    r   s     r   __ne__zSymbol.__ne__   s    EM""r   c                 ,    t        | j                        S r   )hashr   r   s    r   __hash__zSymbol.__hash__   s    DIIr   c                 L    t        |       j                  d| j                  dS )N())type__name__r   r   s    r   __repr__zSymbol.__repr__   s    :..		::r   c                 D     t        |        || j                              S r   )r$   r   r   fs     r   renamedzSymbol.renamed!   s    tDz!DII,''r   )r%   
__module____qualname__	__slots__str__annotations__NotImplementedr   r   boolr   r   r   r    r&   propertyfullreprr*   r   r   r   r
   r
   	   sS    I
I,GXd^,S T I#; !H(r   r
   c                   D    e Zd ZU dZdZee   ed<   ddZe	d        Z
d Zy)	Terminalr   
filter_outTr   c                      || _         || _        y r   r6   )r   r   r7   s      r   r   zTerminal.__init__*   s    	$r   c                 f    t        |       j                  d| j                  d| j                  dS )Nr"   , r#   )r$   r%   r   r7   r   s    r   r3   zTerminal.fullrepr.   s!    #Dz22DIItOOr   c                 Z     t        |        || j                        | j                        S r   )r$   r   r7   r(   s     r   r*   zTerminal.renamed2   s!    tDz!DII,88r   N)F)r%   r+   r,   __serialize_fields__r   r   r1   r/   r   r2   r3   r*   r   r   r   r5   r5   %   s6    /"GXd^"% P P9r   r5   c                   &    e Zd ZU dZdZee   ed<   y)NonTerminalr   Fr   N)r%   r+   r,   r<   r   r   r1   r/   r   r   r   r>   r>   6   s    "#GXd^#r   r>   c                       e Zd ZU dZeed<   eed<   ee   ed<   ee   ed<   e	edf   ed<   ddededee   dee   de	edf   d	dfd
Z
d Zy)RuleOptionskeep_all_tokensexpand1prioritytemplate_sourceempty_indicesrB   rC   rD   rE   .rF   Nr   c                 J    || _         || _        || _        || _        || _        y r   rA   )r   rB   rC   rD   rE   rF   s         r   r   zRuleOptions.__init__E   s(    . .*r   c           	      p    d| j                   d| j                  d| j                  d| j                  d	S )NzRuleOptions(r:   r#   )rB   rC   rD   rE   r   s    r   r&   zRuleOptions.__repr__L   s,      LLMM  	
 	
r   )FFNNr   )r%   r+   r,   r<   r1   r/   r   intr.   r   r   r&   r   r   r   r@   r@   <   s    gMsmc]"s##+ +T +S[\_S` +  yA  BE  yF +  \a  bf  hk  bk  \l +  tx +
r   r@   c                       e Zd ZU dZdZdZeeefZ	ee
d<   ee   e
d<   ee
d<   ee   e
d<   ee
d<   ee
d	<   	 ddedee   dedee   dee   f
dZd Zd Zd Zd Zd Zy
)Rulez
        origin : a symbol
        expansion : a list of symbols
        order : index of this expansion amongst all rules of the same name
    )origin	expansionaliasoptionsorder_hash)rL   rM   rP   rN   rO   rL   rM   rP   rN   rO   rQ   Nc                     || _         || _        || _        || _        |xs
 t	               | _        t        | j                   t        | j                        f      | _        y r   )	rL   rM   rN   rP   r@   rO   r   tuplerQ   )r   rL   rM   rP   rN   rO   s         r   r   zRule.__init__g   sJ    "

/+-4;;dnn(=>?
r   c                 b    t        | j                  t        | j                        f      | _        y r   )r   rL   rS   rM   rQ   r   s    r   _deserializezRule._deserializep   s     4;;dnn(=>?
r   c                 |    d| j                   j                  ddj                  d | j                  D              dS )N<z :  c              3   4   K   | ]  }|j                     y wr   r   ).0xs     r   	<genexpr>zRule.__str__.<locals>.<genexpr>t   s     8XA8Xs   >)rL   r   joinrM   r   s    r   __str__zRule.__str__s   s*    "kk..8X8X0XYYr   c           	      p    d| j                   d| j                  d| j                  d| j                  d	S )NzRule(r:   r#   )rL   rM   rN   rO   r   s    r   r&   zRule.__repr__v   s$    )-dnndjjRVR^R^__r   c                     | j                   S r   )rQ   r   s    r   r    zRule.__hash__y   s    zzr   c                     t        |t              sy| j                  |j                  k(  xr | j                  |j                  k(  S )NF)r   rK   rL   rM   r   s     r   r   zRule.__eq__|   s4    %&{{ell*Pt~~/PPr   )r   NN)r%   r+   r,   __doc__r-   r<   r5   r>   r@   __serialize_namespace__r/   r   r
   rI   r   r.   r   rU   r_   r&   r    r   r   r   r   rK   rK   U   s    
 NIM&[@JC=J Z^@{ @x7G @@&.sm@CKKCX@@Z`Qr   rK   N)typingr   r   r   r   utilsr   TOKEN_DEFAULT_PRIORITYr
   r5   r>   r@   rK   r   r   r   <module>rh      sT    6 6   (Y (89v 9"$& $
) 
2*Q9 *Qr   