+
    کh                     ~    ^ RI HtHtHtHt ^ RIHt ^ RIHt ^ RI	H
t
  ! R R4      t ! R R4      t ! R	 R
4      tR# )    )OptionalIteratorTupleList)tokenize)parse_version_string)PythonTokenTypesc                   8   a  ] tR t^t o V 3R lR ltR tRtV tR# )NFAArcc                4   < V ^8  d   QhRRRS[ S[,          /# )   next_NFAStatenonterminal_or_string)r   str)format__classdict__s   "</usr/lib/python3/dist-packages/parso/pgen2/grammar_parser.py__annotate__NFAArc.__annotate__   s#     J Jj J# J    c                    Wn         W n        R # Nnextr   selfr   r   s   &&&r   __init__NFAArc.__init__   s    #	4I"r   c                T    R V P                   P                  : RV P                  : R2# )<z: >)	__class____name__r   r   s   &r   __repr__NFAArc.__repr__   s    !^^44d6P6PQQr   r   N)r$   
__module____qualname____firstlineno__r   r&   __static_attributes____classdictcell__r   s   @r   r   r      s     J JR Rr   r   c                   B   a  ] tR t^t o V 3R lR ltRR ltR tRtV tR# )r   c                    < V ^8  d   QhRS[ /# )r   	from_ruler   )r   r   s   "r   r   NFAState.__annotate__   s     % %# %r   c                     Wn         . V n        R # r   )r0   arcs)r   r0   s   &&r   r   NFAState.__init__   s    '"$	r   Nc                    Ve   \        V\        4      '       g   Q h\        V\        4      '       g   Q hV P                  P	                  \        W4      4       R # r   )
isinstancer   r   r4   appendr   r   s   &&&r   add_arcNFAState.add_arc   sF    $,
;PRU0V0VVV%****		=>r   c                T    R V P                   P                  : RV P                  : R2# )r!   z: from r"   )r#   r$   r0   r%   s   &r   r&   NFAState.__repr__!   s    "&.."9"94>>JJr   )r4   r0   r   )	r$   r(   r)   r*   r   r9   r&   r+   r,   r-   s   @r   r   r      s      % %?
K Kr   r   c                   v   a  ] tR t^%t o RtV 3R lR ltV 3R lR ltR tR tR t	R	 t
RR ltR tR tRtV tR
# )GrammarParserz&
The parser for Python grammar files.
c                    < V ^8  d   QhRS[ /# )r   bnf_grammarr1   )r   r   s   "r   r   GrammarParser.__annotate__)   s      C r   c                h    Wn         \        V\        R 4      R7      V n        V P	                  4        R# )z3.9)version_infoN)_bnf_grammarr   r   	generator	_gettoken)r   r@   s   &&r   r   GrammarParser.__init__)   s+    '!-e4
 	r   c                F   < V ^8  d   QhRS[ S[S[S[3,          ,          /# )r   return)r   r   r   )r   r   s   "r   r   rA   1   s#      xh&8 9: r   c              #    "   V P                   \        P                  8w  d   V P                   \        P                  8X  d   V P	                  4        K1  V P                  \        P                  4      V n        V P                  \        P                  R 4       V P                  4       w  rV P                  \        P                  4       W3x  K  R# 5i):N)
typer	   	ENDMARKERNEWLINErF   _expectNAME_current_rule_nameOP
_parse_rhsr   azs   &  r   parseGrammarParser.parse1   s     ii+555))/777  '+ll3C3H3H&ID#LL),,c2??$DALL)112$J 6s   CCc                Z   V P                  4       w  rV P                  R 8w  d   W3# \        V P                  4      p\        V P                  4      p VP	                  V4       VP	                  V4       V P                  R 8w  d    W43# V P                  4        V P                  4       w  rK\  )|)_parse_itemsvaluer   rQ   r9   rF   )r   rU   rV   aazzs   &    r   rS   GrammarParser._parse_rhs@   s      "::4K$112B$112B 

1		"::$ 6M  ((*1r   c                    V P                  4       w  rV P                  \        P                  \        P                  39   g   V P
                  R9   d(   V P                  4       w  r4VP                  V4       TpKg  W3# )()ra   [)_parse_itemrL   r	   rP   STRINGr\   r9   )r   rU   bcds   &    r   r[   GrammarParser._parse_itemsT   sd    !ii,113C3J3JKK::+##%DAIIaLAtr   c                |   V P                   R 8X  dW   V P                  4        V P                  4       w  rV P                  \        P
                  R4       VP                  V4       W3# V P                  4       w  rV P                   pVR9  d   W3# V P                  4        VP                  V4       VR8X  d   W3# W3# )rb   ]+)rk   *)r\   rF   rS   rO   r	   rR   r9   _parse_atom)r   rU   rV   r\   s   &   r   rc   GrammarParser._parse_item_   s    ::NN??$DALL),,c2 IIaL4K##%DAJJEJ&tNNIIaL|t tr   c                   V P                   R 8X  dF   V P                  4        V P                  4       w  rV P                  \        P
                  R4       W3# V P                  \        P                  \        P                  39   dY   \        V P                  4      p\        V P                  4      pVP                  W P                   4       V P                  4        W3# V P                  RV P                  V P                   4       R# )ra   )z+expected (...) or NAME or STRING, got %s/%sN)r\   rF   rS   rO   r	   rR   rL   rP   rd   r   rQ   r9   _raise_errorrT   s   &  r   rm   GrammarParser._parse_atomx   s    ::NN??$DALL),,c24KYY+002B2I2IJJ001A001AIIa$NN4KK"ii5r   Nc                   V P                   V8w  d(   V P                  R WP                   V P                  4       Ve.   V P                  V8w  d   V P                  RW P                  4       V P                  pV P                  4        V# )zexpected %s, got %s [%s]zexpected %s, got %s)rL   rq   r\   rF   )r   type_r\   s   &&&r   rO   GrammarParser._expect   sj    998#YY

<u!43UJJG

r   c                \    \        V P                  4      pVw  V n        V n        V n        pR # r   )r   rE   rL   r\   begin)r   tupprefixs   &  r   rF   GrammarParser._gettoken   s$    4>>"471	4:tz6r   c           
     h   V'       d
    W,          pV P                  P                  4       V P                  ^ ,          ^,
          ,          p\        VRV P                  ^ ,          V P                  ^,          V34      h   R P                  T.\        \        \        T4      4      ,           4      p L; i) z	<grammar>)joinlistmapr   rD   
splitlinesrw   SyntaxError)r   msgargslines   &&* r   rq   GrammarParser._raise_error   s    =j   ++-djjma.?@#TZZ] $

1t 5 6 	6=hhutCTN';;<s   A= =2B1)rD   rQ   rw   rE   rL   r\   r   )r$   r(   r)   r*   __doc__r   rW   rS   r[   rc   rm   rO   rF   rq   r+   r,   r-   s   @r   r>   r>   %   sF       (	25$86 6r   r>   N)typingr   r   r   r   parso.python.tokenizer   parso.utilsr   parso.python.tokenr	   r   r   r>    r   r   <module>r      s:    3 2 * , /R RK K{6 {6r   