
    hQ                         S SK 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)    )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     _C:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\lark/grammar.py__init__Symbol.__init__   s    	    c                     [        U[        5      (       d   U5       eU R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )
isinstancer
   r   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__NotImplementedr   r   boolr   r   r   r$   r+   propertyfullreprr0   __static_attributes__r   r   r   r
   r
   	   sS    I
I,GXd^,S T I#; !H(r   r
   c                   N    \ rS rSr% SrSr\\   \S'   S
S jr	\
S 5       rS rSrg	)Terminal%   r   
filter_outTr   c                     Xl         X l        g r   r@   )r   r   rA   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   rA   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   rA   r.   s     r   r0   Terminal.renamed2   s    Dz!DII,88r   )rA   r   N)F)r*   r2   r3   r4   __serialize_fields__r   r   r9   r7   r   r:   r;   r0   r<   r   r   r   r>   r>   %   s6    /"GXd^"% P P9r   r>   c                   .    \ rS rSr% SrSr\\   \S'   Sr	g)NonTerminal6   r   Fr   r   N)
r*   r2   r3   r4   rI   r   r   r9   r7   r<   r   r   r   rK   rK   6   s    "#GXd^#r   rK   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	)RuleOptions<   keep_all_tokensexpand1prioritytemplate_sourceempty_indicesrQ   rR   rS   rT   .rU   Nr   c                 @    Xl         X l        X0l        X@l        XPl        g r   rP   )r   rQ   rR   rS   rT   rU   s         r   r   RuleOptions.__init__E   s    . .*r   c           	      x    SU R                   < SU R                  < SU R                  < SU R                  < S3	$ )NzRuleOptions(rE   r(   )rQ   rR   rS   rT   r#   s    r   r+   RuleOptions.__repr__L   s,      LLMM  	
 	
r   )rU   rR   rQ   rS   rT   )FFNNr   )r*   r2   r3   r4   rI   r9   r7   r   intr6   r   r   r+   r<   r   r   r   rN   rN   <   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   rN   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)RuleU   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)r^   r_   rb   r`   ra   r^   r_   rb   r`   ra   rc   Nc                     Xl         X l        X@l        X0l        U=(       d
    [	        5       U l        [        U R                   [        U R                  5      45      U l        g r   )	r^   r_   r`   rb   rN   ra   r"   tuplerc   )r   r^   r_   rb   r`   ra   s         r   r   Rule.__init__g   sB    "

/+-4;;dnn(=>?
r   c                 b    [        U R                  [        U R                  5      45      U l        g r   )r"   r^   re   r_   rc   r#   s    r   _deserializeRule._deserializep   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>t   s     8XAs   >)r^   r   joinr_   r#   s    r   __str__Rule.__str__s   s*    "kk..8X8X0XYYr   c           	      x    SU R                   < SU R                  < SU R                  < SU R                  < S3	$ )NzRule(rE   r(   )r^   r_   r`   ra   r#   s    r   r+   Rule.__repr__v   s$    )-dnndjjRVR^R^__r   c                     U R                   $ r   )rc   r#   s    r   r$   Rule.__hash__y   s    zzr   c                     [        U[        5      (       d  gU R                  UR                  :H  =(       a    U R                  UR                  :H  $ )NF)r   r\   r^   r_   r   s     r   r   Rule.__eq__|   s7    %&&{{ell*Pt~~/PPr   )rc   r`   r_   ra   rb   r^   )r   NN)r*   r2   r3   r4   __doc__r5   rI   r>   rK   rN   __serialize_namespace__r7   r   r
   rZ   r   r6   r   rh   rt   r+   r$   r   r<   r   r   r   r\   r\   U   s    
 NIM&[@JC=J Z^@{ @x7G @@&.sm@CKKCX@@Z`Qr   r\   N)typingr   r   r   r   utilsr   TOKEN_DEFAULT_PRIORITYr
   r>   rK   rN   r\   r   r   r   <module>r      sT    6 6   (Y (89v 9"$& $
) 
2*Q9 *Qr   