
    ^h                         S SK JrJ r   S SKJrJrJrJr  SSKJrJ	r	  SSK
Jr  SSKJrJrJr  S SKJr   " S	 S
\\   5      r " S S\\   5      rg)    )deepcopycopy)DictAnyGenericList   )TokenLexerThread)ParserCallbacks   )ShiftParseTableBaseStateT)UnexpectedTokenc                       \ rS rSr% Sr\\   \S'   \\S'   \	\S'   \\S'   \\S'   \
\\
\	\4   4   \S'   S\\   S\S\	4S	 jrS
rg)	ParseConf   )parse_table	callbacksstartstart_state	end_statestatesr   r   r   r   r   r   c                     Xl         U R                   R                  U   U l        U R                   R                  U   U l        U R                   R
                  U l        X l        X0l        g N)r   start_statesr   
end_statesr   r   r   r   )selfr   r   r   s       X/home/james-whalen/.local/lib/python3.13/site-packages/lark/parsers/lalr_parser_state.py__init__ParseConf.__init__   sV    &++88?))44U;&&--"
    )r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno__	__slots__r   r   __annotations__r   strr   tupler!   __static_attributes__ r#   r    r   r      sb    YI''Jc5j))**N6$:  _b r#   r   c                       \ rS rSr% Sr\\   \S'   \\S'   \	\   \S'   \
\S'   SS\\   S\4S jjr\S	\4S
 j5       rS	\4S jrS rSSS jjrSS\S	\4S jjrSrg)ParserState    )
parse_conflexerstate_stackvalue_stackr1   r2   r3   r4   Nc                     Xl         X l        U=(       d    U R                   R                  /U l        U=(       d    / U l        g r   )r1   r2   r   r3   r4   )r   r1   r2   r3   r4   s        r    r!   ParserState.__init__(   s3    $
&G4??+F+F*G&,"r#   returnc                      U R                   S   $ )N)r3   r   s    r    positionParserState.position.   s    ##r#   c                     [        U[        5      (       d  [        $ [        U R                  5      [        UR                  5      :H  =(       a    U R
                  UR
                  :H  $ r   )
isinstancer/   NotImplementedlenr3   r;   )r   others     r    __eq__ParserState.__eq__3   sK    %--!!4##$E,=,=(>>b4==TYTbTbCbbr#   c                 "    U R                  5       $ r   )r   r:   s    r    __copy__ParserState.__copy__8   s    yy{r#   c                     [        U 5      " U R                  U R                  [        U R                  5      U(       a  [        U R                  5      5      $ [        U R                  5      5      $ r   )typer1   r2   r   r3   r   r4   )r   deepcopy_valuess     r    r   ParserState.copy;   s[    DzOOJJ!!"*9HT%%&	
 	
 @DDDTDT?U	
 	
r#   tokenc                    U R                   nU R                  nU R                  R                  nU R                  R                  nU R                  R
                  n US   n XX   UR                     u  pX:w  d   eU	[        L aP  U(       a   eUR                  U
5        UR                  UR                  U;  a  UOXqR                     " U5      5        g U
n[        UR                  5      nU(       a  XN* S  nX>* S 2	 XN* S 2	 O/ nU(       a
  X}   " U5      OUnXSS      UR                  R                      u  nnU[        L d   eUR                  U5        UR                  U5        U(       a  US   U:X  a  US   $ GM"  ! [         aJ    XX   R                  5        Vs1 s H  oR                  5       (       d  M  UiM     Os  snf nn[        XU S S9ef = f)Nr9   )stateinteractive_parser)r3   r4   r1   r   r   r   rH   KeyErrorkeysisupperr   r   appendr@   	expansionoriginname)r   rK   is_endr3   r4   r   r   r   rM   actionargsexpectedrulesizevalue_action	new_states                     r    
feed_tokenParserState.feed_tokenC   s   &&&&''OO--	OO--	OE\$mEJJ7
 ###!!z""3'""EJJi,G5YWaWaMbchMij 4>>*#EF+A#EF+#EF+A.7	*Q%+O%<T[[=M=M%N"%'''""9-""5)k"o:&r?*G   \'-}'9'9';K';!yy{A';KK%eTVZ[[\s   "E> >GF?8F?>G)r2   r1   r3   r4   )NN)T)r7   zParserState[StateT])F)r$   r%   r&   r'   r(   r   r   r)   r   r   listr!   propertyr;   boolrB   rE   r   r
   r   r`   r,   r-   r#   r    r/   r/       s    CI&!!f-9V#4 -[ - $& $ $ct c

*+ *+ *+ *+r#   r/   N)r   r   typingr   r   r   r   r2   r
   r   commonr   lalr_analysisr   r   r   lark.exceptionsr   r   r/   r-   r#   r    <module>ri      s?     + + & $ 8 8 + *M+'&/ M+r#   