
    ^h                         S SK JrJrJrJrJrJr  SSKJr  S r	 " S S\5      r
 " S S\
5      r " S S	\
5      r " S
 S\5      r " S S\5      rg)    )AnyDictOptionalTupleClassVarSequence   )	Serializec                   x    \ rS rSr% Sr\\S'   \r\	\
   \S'   S\SS4S jrS rS	 rS
 rS r\" \5      rS rSrg)Symbol	   namer   is_termreturnNc                     Xl         g Nr   )selfr   s     F/home/james-whalen/.local/lib/python3.13/site-packages/lark/grammar.py__init__Symbol.__init__   s    	    c                     [        U[        5      (       d  [        $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )
isinstancer   NotImplementedr   r   r   others     r   __eq__Symbol.__eq__   s:    %((!!||u}},Hejj1HHr   c                     X:X  + $ r    r   s     r   __ne__Symbol.__ne__   s    ""r   c                 ,    [        U R                  5      $ r   )hashr   r   s    r   __hash__Symbol.__hash__   s    DIIr   c                 P    [        U 5      R                  < SU R                  < S3$ )N())type__name__r   r&   s    r   __repr__Symbol.__repr__   s    :..		::r   c                 D    [        U 5      " U" U R                  5      5      $ r   )r,   r   r   fs     r   renamedSymbol.renamed"   s    Dz!DII,''r   )r-   
__module____qualname____firstlineno__	__slots__str__annotations__r   r   r   boolr   r   r"   r'   r.   propertyfullreprr3   __static_attributes__r!   r   r   r   r   	   sS    I
I,GXd^,S T I
#; !H(r   r   c                   ^    \ rS rSr% SrSr\\   \S'   SS\	S\SS4S	 jjr
\S
 5       rS rSrg)Terminal&   r   
filter_outTr   r   rC   r   Nc                     Xl         X l        g r   rB   )r   r   rC   s      r   r   Terminal.__init__+   s    	$r   c                 l    [        U 5      R                  < SU R                  < SU R                  < S3$ )Nr*   , r+   )r,   r-   r   rC   r&   s    r   r=   Terminal.fullrepr/   s!    #Dz22DIItOOr   c                 Z    [        U 5      " U" U R                  5      U R                  5      $ r   )r,   r   rC   r1   s     r   r3   Terminal.renamed3   s    Dz!DII,88r   )rC   r   )F)r-   r5   r6   r7   __serialize_fields__r   r   r;   r:   r9   r   r<   r=   r3   r>   r!   r   r   r@   r@   &   sK    /"GXd^"%S %d %t % P P9r   r@   c                   J    \ rS rSr% SrSr\\   \S'   S	S\	\
\4   4S jjrSrg)
NonTerminal7   r   Fr   Nr   c                 2    [        U R                  5      SS.$ )NrM   )r   __type__)r9   r   )r   memos     r   	serializeNonTerminal.serialize<   s     DIIMBBr   r!   r   )r-   r5   r6   r7   rK   r   r   r;   r:   r   r9   r   rR   r>   r!   r   r   rM   rM   7   s2    "#GXd^#Cd38n C Cr   rM   c                       \ rS rSr% Sr\\S'   \\S'   \\   \S'   \\	   \S'   \
\S4   \S'   SS\S\S\\   S\\	   S\
\S4   S
S	4S jjrS rSrg	)RuleOptionsB   keep_all_tokensexpand1prioritytemplate_sourceempty_indicesrX   rY   rZ   r[   .r\   Nr   c                 @    Xl         X l        X0l        X@l        XPl        g r   rW   )r   rX   rY   rZ   r[   r\   s         r   r   RuleOptions.__init__K   s    . .*r   c           	      x    SU R                   < SU R                  < SU R                  < SU R                  < S3	$ )NzRuleOptions(rG   r+   )rX   rY   rZ   r[   r&   s    r   r.   RuleOptions.__repr__R   s,      LLMM  	
 	
r   )r\   rY   rX   rZ   r[   )FFNNr!   )r-   r5   r6   r7   rK   r;   r:   r   intr9   r   r   r.   r>   r!   r   r   rU   rU   B   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   rU   c                       \ rS rSr% SrSrSr\\\	4r
\\S'   \\   \S'   \\S'   \\   \S'   \	\S	'   \\S
'    SS\S\\   S\S\\   S	\\	   4
S jjrS rS rS rS rS rSrg)Rule[   zt
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)re   rf   ri   rg   rh   re   rf   ri   rg   rh   rj   Nc                     Xl         X l        X@l        X0l        U=(       d
    [	        5       U l        [        U R                   [        U R                  5      45      U l        g r   )	re   rf   rg   ri   rU   rh   r%   tuplerj   )r   re   rf   ri   rg   rh   s         r   r   Rule.__init__m   sB    "

/+-4;;dnn(=>?
r   c                 b    [        U R                  [        U R                  5      45      U l        g r   )r%   re   rl   rf   rj   r&   s    r   _deserializeRule._deserializev   s     4;;dnn(=>?
r   c                     SU R                   R                  < SSR                  S U R                   5       5      < S3$ )N<z :  c              3   8   #    U  H  oR                   v   M     g 7fr   r   ).0xs     r   	<genexpr>Rule.__str__.<locals>.<genexpr>z   s     8XAs   >)re   r   joinrf   r&   s    r   __str__Rule.__str__y   s*    "kk..8X8X0XYYr   c           	      x    SU R                   < SU R                  < SU R                  < SU R                  < S3	$ )NzRule(rG   r+   )re   rf   rg   rh   r&   s    r   r.   Rule.__repr__|   s$    )-dnndjjRVR^R^__r   c                     U R                   $ r   )rj   r&   s    r   r'   Rule.__hash__   s    zzr   c                     [        U[        5      (       d  gU R                  UR                  :H  =(       a    U R                  UR                  :H  $ )NF)r   rc   re   rf   r   s     r   r   Rule.__eq__   s7    %&&{{ell*Pt~~/PPr   )rj   rg   rf   rh   ri   re   )r   NN)r-   r5   r6   r7   __doc__r8   rK   r@   rM   rU   __serialize_namespace__r:   r   r   ra   r   r9   r   ro   r{   r.   r'   r   r>   r!   r   r   rc   rc   [   s    
 NIM&[@JC=J Z^@{ @x7G @@&.sm@CKKCX@@Z`Qr   rc   N)typingr   r   r   r   r   r   utilsr
   TOKEN_DEFAULT_PRIORITYr   r@   rM   rU   rc   r!   r   r   <module>r      sV    A A   (Y (:9v 9"C& C
) 
2*Q9 *Qr   