
    Xh                         d dl mZm Z  d dlmZmZmZmZ ddlmZm	Z	 ddl
mZ ddlmZmZmZ d dlmZ  G d	 d
ee         Z G d dee         Zy)    )deepcopycopy)DictAnyGenericList   )TokenLexerThread)ParserCallbacks   )ShiftParseTableBaseStateT)UnexpectedTokenc                       e Zd ZU dZee   ed<   eed<   eed<   eed<   eed<   e	ee	ee
f   f   ed<   dee   dedefdZy	)
	ParseConf)parse_table	callbacksstartstart_state	end_statestatesr   r   r   r   r   r   c                     || _         | j                   j                  |   | _        | j                   j                  |   | _        | j                   j
                  | _        || _        || _        y N)r   start_statesr   
end_statesr   r   r   r   )selfr   r   r   s       R/var/www/html/myenv/lib/python3.12/site-packages/lark/parsers/lalr_parser_state.py__init__zParseConf.__init__   s\    &++88?))44U;&&--"
    N)__name__
__module____qualname__	__slots__r   r   __annotations__r   strr   tupler     r!   r   r   r      sb    YI''Jc5j))**N6$:  _b r!   r   c                       e Zd ZU dZee   ed<   eed<   ee   ed<   e	ed<   ddee   defdZ
edefd	       Zdefd
Zd ZdddZddedefdZy)ParserState)
parse_conflexerstate_stackvalue_stackr,   r-   r.   r/   Nc                 v    || _         || _        |xs | j                   j                  g| _        |xs g | _        y r   )r,   r-   r   r.   r/   )r   r,   r-   r.   r/   s        r   r    zParserState.__init__(   s7    $
&G4??+F+F*G&,"r!   returnc                      | j                   d   S )N)r.   r   s    r   positionzParserState.position.   s    ##r!   c                     t        |t              st        S t        | j                        t        |j                        k(  xr | j
                  |j
                  k(  S r   )
isinstancer+   NotImplementedlenr.   r5   )r   others     r   __eq__zParserState.__eq__3   sH    %-!!4##$E,=,=(>>b4==TYTbTbCbbr!   c                 "    | j                         S r   )r   r4   s    r   __copy__zParserState.__copy__8   s    yy{r!   c                      t        |       | j                  | j                  t        | j                        |rt        | j                              S t        | j                              S r   )typer,   r-   r   r.   r   r/   )r   deepcopy_valuess     r   r   zParserState.copy;   s]    tDzOOJJ!!"*9HT%%&	
 	
 @DDDTDT?U	
 	
r!   tokenc                    | j                   }| j                  }| j                  j                  }| j                  j                  }| j                  j
                  }	 |d   }	 ||   |j                     \  }	}
|
|k7  sJ |	t        u rO|rJ |j                  |
       |j                  |j                  |vr|       y  ||j                     |             y |
}t        |j                        }|r|| d  }|| d = || d = ng }|r ||   |      n|}||d      |j                  j                      \  }}|t        u sJ |j                  |       |j                  |       |r|d   |k(  r|d   S # t        $ rG ||   j                         D ch c]  }|j                         s| nc c}w }}t        ||| d       w xY w)Nr3   )stateinteractive_parser)r.   r/   r,   r   r   r   r?   KeyErrorkeysisupperr   r   appendr9   	expansionoriginname)r   rA   is_endr.   r/   r   r   r   rC   actionargsexpectedrulesizevalue_action	new_states                     r   
feed_tokenzParserState.feed_tokenC   s   &&&&''OO--	OO--	OE\$UmEJJ7
 )###!!z""3'""EJJi,G5j NcYW\WaWaMbchMij 4>>*#TEF+A#TEF+#TEF+A.7	$*Q%+KO%<T[[=M=M%N"%'''""9-""5)k"o:&r?*G   \'-e}'9'9';K!qyy{AKKK%eXTVZ[[\s   "E1 1GF*%F*)G)NN)T)r1   zParserState[StateT])F)r"   r#   r$   r%   r   r   r&   r   r   listr    propertyr5   boolr;   r=   r   r
   r   rV   r)   r!   r   r+   r+       s    CI&!!f-9V#4 -[ - $& $ $ct c

*+ *+ *+r!   r+   N)r   r   typingr   r   r   r   r-   r
   r   commonr   lalr_analysisr   r   r   lark.exceptionsr   r   r+   r)   r!   r   <module>r^      s?     + + & $ 8 8 + *M+'&/ M+r!   