Ë
    Kæõi‹  ã                   ó|   — d dl mZmZmZmZ d dlmZ d dlmZ d dl	m
Z
  G d„ d«      Z G d„ d«      Z G d	„ d
«      Zy)é    )ÚOptionalÚIteratorÚTupleÚList)Útokenize)Úparse_version_string)ÚPythonTokenTypesc                   ó(   — e Zd Zdddee   fd„Zd„ Zy)ÚNFAArcÚnext_ÚNFAStateÚnonterminal_or_stringc                 ó    — || _         || _        y ©N)Únextr   ©Úselfr   r   s      úk/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/parso/pgen2/grammar_parser.pyÚ__init__zNFAArc.__init__   s   € Ø#ˆŒ	Ø4IˆÕ"ó    c                 óP   — d| j                   j                  ›d| j                  ›d�S )NÚ<z: Ú>)Ú	__class__Ú__name__r   ©r   s    r   Ú__repr__zNFAArc.__repr__   s   � Ø!Ÿ^™^×4Ó4°d×6PÓ6PÐQÐQr   N)r   Ú
__module__Ú__qualname__r   Ústrr   r   © r   r   r   r      s"   „ ðJ˜jð JÀÈ#Áó JóRr   r   c                   ó&   — e Zd Zdefd„Zdd„Zd„ Zy)r   Ú	from_rulec                 ó    — || _         g | _        y r   )r#   Úarcs)r   r#   s     r   r   zNFAState.__init__   s   € Ø'ˆŒØ"$ˆ�	r   Nc                 óš   — |�t        |t        «      sJ ‚t        |t        «      sJ ‚| j                  j	                  t        ||«      «       y r   )Ú
isinstancer    r   r%   Úappendr   r   s      r   Úadd_arczNFAState.add_arc   sC   € Ø$Ð,´
Ð;PÔRUÔ0VÐVÐVÜ˜%¤Ô*Ð*Ð*Ø�	‰	×Ñœ Ð'<Ó=Õ>r   c                 óP   — d| j                   j                  ›d| j                  ›d�S )Nr   z: from r   )r   r   r#   r   s    r   r   zNFAState.__repr__!   s   � Ø"&§.¡.×"9Ó"9¸4¿>»>ÐJÐJr   r   )r   r   r   r    r   r)   r   r!   r   r   r   r      s   „ ð% #ó %ó?ó
Kr   r   c                   ód   — e Zd ZdZdefd„Zdeeeef      fd„Z	d„ Z
d„ Zd„ Zd	„ Zdd„Zd„ Zd„ Zy
)ÚGrammarParserz.
    The parser for Python grammar files.
    Úbnf_grammarc                 óh   — || _         t        |t        d«      ¬«      | _        | j	                  «        y )Nz3.9)Úversion_info)Ú_bnf_grammarr   r   Ú	generatorÚ	_gettoken)r   r-   s     r   r   zGrammarParser.__init__)   s-   € Ø'ˆÔÜ!ØÜ-¨eÓ4ô
ˆŒð 	�‰Õr   Úreturnc              #   ó  K  — | j                   t        j                  k7  ræ| j                   t        j                  k(  r.| j	                  «        | j                   t        j                  k(  rŒ.| j                  t        j                  «      | _        | j                  t        j                  d«       | j                  «       \  }}| j                  t        j                  «       ||f–— | j                   t        j                  k7  rŒåy y ­w)NÚ:)
Útyper	   Ú	ENDMARKERÚNEWLINEr2   Ú_expectÚNAMEÚ_current_rule_nameÚOPÚ
_parse_rhs©r   ÚaÚzs      r   ÚparsezGrammarParser.parse1   s»   è ø€ à�i‰iÔ+×5Ñ5Ò5Ø—)‘)Ô/×7Ñ7Ò7Ø—‘Ô ð —)‘)Ô/×7Ñ7Ó7ð '+§l¡lÔ3C×3HÑ3HÓ&IˆDÔ#Ø�L‰LÔ)×,Ñ,¨cÔ2à—?‘?Ó$‰DˆAˆqØ�L‰LÔ)×1Ñ1Ô2à�Q�$ŠJð �i‰iÔ+×5Ñ5Õ5ùs   ‚A(DÁ+BDÄDc                 óX  — | j                  «       \  }}| j                  dk7  r||fS t        | j                  «      }t        | j                  «      }	 |j	                  |«       |j	                  |«       | j                  dk7  r	 ||fS | j                  «        | j                  «       \  }}ŒZ)NÚ|)Ú_parse_itemsÚvaluer   r;   r)   r2   )r   r?   r@   ÚaaÚzzs        r   r=   zGrammarParser._parse_rhs@   s¡   € à× Ñ Ó"‰ˆˆ1Ø�:‰:˜ÒØ�a�4ˆKä˜$×1Ñ1Ó2ˆBÜ˜$×1Ñ1Ó2ˆBØð —
‘
˜1”Ø—	‘	˜"”Ø—:‘: Ò$Øð �r�6ˆMð —‘Ô Ø×(Ñ(Ó*‘��1ð r   c                 óh  — | j                  «       \  }}| j                  t        j                  t        j                  fv s| j
                  dv rb| j                  «       \  }}|j                  |«       |}| j                  t        j                  t        j                  fv rŒS| j
                  dv rŒb||fS )N)Ú(Ú[)Ú_parse_itemr6   r	   r:   ÚSTRINGrE   r)   )r   r?   ÚbÚcÚds        r   rD   zGrammarParser._parse_itemsT   s™   € à×ÑÓ!‰ˆˆ1Ø�i‰iÔ,×1Ñ1Ô3C×3JÑ3JÐKÑKØ—:‘: Ñ+Ø×#Ñ#Ó%‰DˆAˆqà�I‰I�aŒLØˆAð �i‰iÔ,×1Ñ1Ô3C×3JÑ3JÐKÒKØ—:‘: Ò+ð
 �!ˆtˆr   c                 óz  — | j                   dk(  rX| j                  «        | j                  «       \  }}| j                  t        j
                  d«       |j                  |«       ||fS | j                  «       \  }}| j                   }|dvr||fS | j                  «        |j                  |«       |dk(  r||fS ||fS )NrJ   Ú])Ú+Ú*rR   )rE   r2   r=   r9   r	   r<   r)   Ú_parse_atom)r   r?   r@   rE   s       r   rK   zGrammarParser._parse_item_   s¯   € à�:‰:˜ÒØ�N‰NÔØ—?‘?Ó$‰DˆAˆqØ�L‰LÔ)×,Ñ,¨cÔ2ð �I‰I�aŒLØ�a�4ˆKà×#Ñ#Ó%‰DˆAˆqØ—J‘JˆEØ˜JÑ&Ø˜!�t�Ø�N‰NÔà�I‰I�aŒLØ˜Š|Ø˜!�t�ð ˜!�t�r   c                 ó
  — | j                   dk(  rG| j                  «        | j                  «       \  }}| j                  t        j
                  d«       ||fS | j                  t        j                  t        j                  fv rZt        | j                  «      }t        | j                  «      }|j                  || j                   «       | j                  «        ||fS | j                  d| j                  | j                   «       y )NrI   Ú)z+expected (...) or NAME or STRING, got %s/%s)rE   r2   r=   r9   r	   r<   r6   r:   rL   r   r;   r)   Ú_raise_errorr>   s      r   rT   zGrammarParser._parse_atomx   sÈ   € à�:‰:˜ÒØ�N‰NÔØ—?‘?Ó$‰DˆAˆqØ�L‰LÔ)×,Ñ,¨cÔ2Ø�a�4ˆKØ�Y‰YÔ+×0Ñ0Ô2B×2IÑ2IÐJÑJÜ˜×0Ñ0Ó1ˆAÜ˜×0Ñ0Ó1ˆAà�I‰I�a˜Ÿ™Ô$Ø�N‰NÔØ�a�4ˆKà×ÑÐKØ"Ÿi™i¨¯©õ5r   Nc                 ó  — | j                   |k7  r(| j                  d|| j                   | j                  «       |�,| j                  |k7  r| j                  d|| j                  «       | j                  }| j                  «        |S )Nzexpected %s, got %s [%s]zexpected %s, got %s)r6   rW   rE   r2   )r   Útype_rE   s      r   r9   zGrammarParser._expectŠ   sn   € Ø�9‰9˜ÒØ×ÑÐ8Ø# T§Y¡Y°·
±
ô<àÐ §¡¨uÒ!4Ø×ÑÐ3°U¸D¿J¹JÔGØ—
‘
ˆØ�‰ÔØˆr   c                 óZ   — t        | j                  «      }|\  | _        | _        | _        }y r   )r   r1   r6   rE   Úbegin)r   ÚtupÚprefixs      r   r2   zGrammarParser._gettoken”   s$   € Ü�4—>‘>Ó"ˆØ47Ñ1ˆŒ	�4”:˜tœz©6r   c           
      ó&  — |r	 ||z  }| j                  j                  «       | j                  d   dz
     }t        |d| j                  d   | j                  d   |f«      ‚#  dj                  |gt        t        t        |«      «      z   «      }Y Œ‡xY w)NÚ r   é   z	<grammar>)ÚjoinÚlistÚmapr    r0   Ú
splitlinesr[   ÚSyntaxError)r   ÚmsgÚargsÚlines       r   rW   zGrammarParser._raise_error˜   s�   € Ùð=Ø˜D‘j�ð × Ñ ×+Ñ+Ó-¨d¯j©j¸©m¸aÑ.?Ñ@ˆÜ˜# ¨T¯Z©Z¸©]Ø $§
¡
¨1¡¨tð 5ó 6ð 	6øð=Ø—h‘h ˜u¤t¬C´°T«NÓ';Ñ;Ó<’ús   „A  Á .Br   )r   r   r   Ú__doc__r    r   r   r   r   rA   r=   rD   rK   rT   r9   r2   rW   r!   r   r   r,   r,   %   sQ   „ ñð Có ð�x  h°Ð&8Ñ 9Ñ:ó òò(	òò25ó$ò8ó6r   r,   N)Útypingr   r   r   r   Úparso.python.tokenizer   Úparso.utilsr   Úparso.python.tokenr	   r   r   r,   r!   r   r   Ú<module>rn      s:   ð÷ 3Ó 2å *Ý ,Ý /÷Rñ R÷Kñ K÷{6ò {6r   