§
    ŒŸj‹  ã                   ó�   — 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dS )é    )ÚOptionalÚIteratorÚTupleÚList)Útokenize)Úparse_version_string)ÚPythonTokenTypesc                   ó0   — e Zd Zdddee         fd„Zd„ ZdS )ÚNFAArcÚnext_ÚNFAStateÚnonterminal_or_stringc                 ó"   — || _         || _        d S ©N)Únextr   ©Úselfr   r   s      úg/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/parso/pgen2/grammar_parser.pyÚ__init__zNFAArc.__init__   s   € Ø#ˆŒ	Ø4IˆÔ"Ð"Ð"ó    c                 ó2   — d| j         j        ›d| j        ›d�S )Nú<z: ú>)Ú	__class__Ú__name__r   ©r   s    r   Ú__repr__zNFAArc.__repr__   s#   € € Ø!œ^Ô4Ð4Ð4°dÔ6PÐ6PÐ6PÐQÐQr   N)r   Ú
__module__Ú__qualname__r   Ústrr   r   © r   r   r   r      sT   € € € € € ðJ˜jð JÀÈ#Äð Jð Jð Jð JðRð Rð Rð Rð Rr   r   c                   ó(   — e Zd Zdefd„Zdd„Zd„ ZdS )r   Ú	from_rulec                 ó"   — || _         g | _        d S r   )r#   Úarcs)r   r#   s     r   r   zNFAState.__init__   s   € Ø'ˆŒØ"$ˆŒ	ˆ	ˆ	r   Nc                 ó¶   — |�t          |t          ¦  «        sJ ‚t          |t          ¦  «        sJ ‚| j                             t          ||¦  «        ¦  «         d S r   )Ú
isinstancer    r   r%   Úappendr   r   s      r   Úadd_arczNFAState.add_arc   s\   € Ø$Ð,µ
Ð;PÕRUÑ0VÔ0VÐ,Ð,Ð,Ý˜%¥Ñ*Ô*Ð*Ð*Ð*ØŒ	×Ò� Ð'<Ñ=Ô=Ñ>Ô>Ð>Ð>Ð>r   c                 ó2   — d| j         j        ›d| j        ›d�S )Nr   z: from r   )r   r   r#   r   s    r   r   zNFAState.__repr__!   s    € € Ø"&¤.Ô"9Ð"9Ð"9¸4¼>¸>¸>ÐJÐJr   r   )r   r   r   r    r   r)   r   r!   r   r   r   r      sW   € € € € € ð% #ð %ð %ð %ð %ð?ð ?ð ?ð ?ð
Kð Kð Kð Kð Kr   r   c                   ór   — 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d
S )ÚGrammarParserz.
    The parser for Python grammar files.
    Úbnf_grammarc                 ó‚   — || _         t          |t          d¦  «        ¬¦  «        | _        |                      ¦   «          d S )Nz3.9)Úversion_info)Ú_bnf_grammarr   r   Ú	generatorÚ	_gettoken)r   r-   s     r   r   zGrammarParser.__init__)   sF   € Ø'ˆÔÝ!ØÝ-¨eÑ4Ô4ð
ñ 
ô 
ˆŒð 	�ŠÑÔÐÐÐr   Úreturnc              #   óÞ  K  — | j         t          j        k    rÕ| j         t          j        k    r)|                      ¦   «          | j         t          j        k    °)|                      t          j        ¦  «        | _        |                      t          j        d¦  «         |  	                    ¦   «         \  }}|                      t          j        ¦  «         ||fV — | j         t          j        k    °Ód S d S )Nú:)
Útyper	   Ú	ENDMARKERÚNEWLINEr2   Ú_expectÚNAMEÚ_current_rule_nameÚOPÚ
_parse_rhs©r   ÚaÚzs      r   ÚparsezGrammarParser.parse1   sÒ   è è € àŒiÕ+Ô5Ò5Ð5Ø”)Õ/Ô7Ò7Ð7Ø—’Ñ Ô Ð ð ”)Õ/Ô7Ò7Ð7ð '+§l¢lÕ3CÔ3HÑ&IÔ&IˆDÔ#Ø�LŠLÕ)Ô,¨cÑ2Ô2Ð2à—?’?Ñ$Ô$‰DˆAˆqØ�LŠLÕ)Ô1Ñ2Ô2Ð2à�Q�$ˆJˆJˆJð ŒiÕ+Ô5Ò5Ð5Ð5Ð5Ð5Ð5r   c                 ól  — |                       ¦   «         \  }}| j        dk    r||fS t          | j        ¦  «        }t          | j        ¦  «        }	 |                     |¦  «         |                     |¦  «         | j        dk    rn,|                      ¦   «          |                       ¦   «         \  }}Œb||fS )Nú|)Ú_parse_itemsÚvaluer   r;   r)   r2   )r   r?   r@   ÚaaÚzzs        r   r=   zGrammarParser._parse_rhs@   s·   € à× Ò Ñ"Ô"‰ˆˆ1ØŒ:˜ÒÐØ�a�4ˆKå˜$Ô1Ñ2Ô2ˆBÝ˜$Ô1Ñ2Ô2ˆBð	+ð —
’
˜1‘”�Ø—	’	˜"‘”�Ø”: Ò$Ð$Øà—’Ñ Ô Ð Ø×(Ò(Ñ*Ô*‘��1ð	+ð �r�6ˆMr   c                 ó4  — |                       ¦   «         \  }}| j        t          j        t          j        fv s	| j        dv rV|                       ¦   «         \  }}|                     |¦  «         |}| j        t          j        t          j        fv °M| j        dv °V||fS )N)ú(ú[)Ú_parse_itemr6   r	   r:   ÚSTRINGrE   r)   )r   r?   ÚbÚcÚds        r   rD   zGrammarParser._parse_itemsT   s›   € à×ÒÑ!Ô!‰ˆˆ1ØŒiÕ,Ô1Õ3CÔ3JÐKÐKÐKØ”: Ð+Ð+Ø×#Ò#Ñ%Ô%‰DˆAˆqà�IŠI�a‰LŒLˆLØˆAð ŒiÕ,Ô1Õ3CÔ3JÐKÐKÐKØ”: Ð+Ð+ð
 �!ˆtˆr   c                 óš  — | j         dk    rd|                      ¦   «          |                      ¦   «         \  }}|                      t          j        d¦  «         |                     |¦  «         ||fS |                      ¦   «         \  }}| j         }|dvr||fS |                      ¦   «          |                     |¦  «         |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Ô2Ð2ð �IŠI�a‰LŒLˆLØ�a�4ˆKà×#Ò#Ñ%Ô%‰DˆAˆqØ”JˆEØ˜JÐ&Ð&Ø˜!�t�Ø�NŠNÑÔÐà�IŠI�a‰LŒLˆLØ˜Š|ˆ|Ø˜!�t�ð ˜!�t�r   c                 óð  — | j         dk    rO|                      ¦   «          |                      ¦   «         \  }}|                      t          j        d¦  «         ||fS | j        t          j        t          j        fv r[t          | j
        ¦  «        }t          | j
        ¦  «        }|                     || j         ¦  «         |                      ¦   «          ||fS |                      d| j        | j         ¦  «         d S )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Ô2Ð2Ø�a�4ˆKØŒYÕ+Ô0Õ2BÔ2IÐJÐJÐJÝ˜Ô0Ñ1Ô1ˆAÝ˜Ô0Ñ1Ô1ˆAà�IŠI�a˜œÑ$Ô$Ð$Ø�NŠNÑÔÐØ�a�4ˆKà×ÒÐKØ"œi¨¬ñ5ô 5ð 5ð 5ð 5r   Nc                 óè   — | j         |k    r"|                      d|| j         | j        ¦  «         |�'| j        |k    r|                      d|| 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Š   s~   € ØŒ9˜ÒÐØ×ÒÐ8Ø# T¤Y°´
ñ<ô <ð <àÐ ¤¨uÒ!4Ð!4Ø×ÒÐ3°U¸D¼JÑGÔGÐGØ”
ˆØ�ŠÑÔÐØˆr   c                 óZ   — t          | j        ¦  «        }|\  | _        | _        | _        }d S r   )r   r1   r6   rE   Úbegin)r   ÚtupÚprefixs      r   r2   zGrammarParser._gettoken”   s)   € Ý�4”>Ñ"Ô"ˆØ47Ñ1ˆŒ	�4”:˜tœz¨6¨6¨6r   c           
      óB  — |rG	 ||z  }n@#  d                      |gt          t          t          |¦  «        ¦  «        z   ¦  «        }Y nxY w| j                             ¦   «         | j        d         dz
           }t          |d| j        d         | j        d         |f¦  «        ‚)Nú r   é   z	<grammar>)ÚjoinÚlistÚmapr    r0   Ú
splitlinesr[   ÚSyntaxError)r   ÚmsgÚargsÚlines       r   rW   zGrammarParser._raise_error˜   s¡   € Øð 	=ð=Ø˜D‘j��øð=Ø—h’h ˜u¥t­Cµ°T©N¬NÑ';Ô';Ñ;Ñ<Ô<���øøøØÔ ×+Ò+Ñ-Ô-¨d¬j¸¬m¸aÑ.?Ô@ˆÝ˜# ¨T¬Z¸¬]Ø $¤
¨1¤¨tð 5ñ 6ô 6ð 	6s	   „
 Š;Ar   )r   r   r   Ú__doc__r    r   r   r   r   rA   r=   rD   rK   rT   r9   r2   rW   r!   r   r   r,   r,   %   sÑ   € € € € € ðð ð Cð ð ð ð ð�x  h°Ð&8Ô 9Ô:ð ð ð ð ðð ð ð(	ð 	ð 	ðð ð ð25ð 5ð 5ð$ð ð ð ð8ð 8ð 8ð6ð 6ð 6ð 6ð 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Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à *Ð *Ð *Ð *Ð *Ð *Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø /Ð /Ð /Ð /Ð /Ð /ðRð Rð Rð Rð Rñ Rô Rð RðKð Kð Kð Kð Kñ Kô Kð Kð{6ð {6ð {6ð {6ð {6ñ {6ô {6ð {6ð {6ð {6r   