
    Xh                     D   U d dl mZ d dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZ e
r<ddlmZ ddlmZ ddlmZ d d	lmZmZ d d
lmZ ej*                  dk\  rd dlmZ nd dlmZ ddlmZ ddlmZmZ dZded<   dZded<   eegef   Zee ef   Z! G d de      Z" G d de      Z#y)    )deepcopyN)
ModuleType)Callable
CollectionDictOptionalTYPE_CHECKINGList   )PostLex)Lexer)Rule)UnionType)Literal)   
   )	TypeAlias)	Serialize)TerminalDefTokenz(Literal["earley", "lalr", "cyk", "auto"]r   _ParserArgTypezYUnion[Literal["auto", "basic", "contextual", "dynamic", "dynamic_complete"], Type[Lexer]]_LexerArgTypec                       e Zd ZU dZefZee   ed<   eed<   ee	   ed<   ded<   e
e	ef   ed<   eed<   eed	<   eed
<   ee   ed<   eed<   	 	 ddee   dedee	   dddee
e	ef      ded	ed
edefdZd ZddZy)	LexerConf)	terminalsignoreg_regex_flags	use_bytes
lexer_typer   	re_moduler   zOptional[PostLex]postlex	callbacksr   skip_validationr   r    strictNc
                 P   || _         | j                   D 
ci c]  }
|
j                  |
 c}
| _        t        | j                         t        | j                        k(  sJ || _        || _        |xs i | _        || _        || _        || _	        || _
        |	| _        d | _        y c c}
w N)r   nameterminals_by_namelenr   r"   r#   r   r!   r$   r   r%   r    )selfr   r!   r   r"   r#   r   r$   r   r%   ts              ?/var/www/html/myenv/lib/python3.12/site-packages/lark/common.py__init__zLexerConf.__init__*   s    "59^^!D!&&!)!D4>>"c$*@*@&AAAA"b*"." "Es   B#c                 b    | j                   D ci c]  }|j                  | c}| _        y c c}w r'   )r   r(   r)   )r+   r,   s     r-   _deserializezLexerConf._deserialize9   s$    59^^!D!&&!)!D!Ds   ,c                 ^    t        |       t        | j                  |      | j                  t        | j                  |      t        | j
                  |      t        | j                  |      t        | j                  |      t        | j                  |      t        | j                  |            S r'   )
typer   r   r!   r   r"   r#   r   r$   r   )r+   memos     r-   __deepcopy__zLexerConf.__deepcopy__<   s    tDzT^^T*NNT[[$'T\\4(T^^T*T''.T))40T^^T*	
 		
    ) NNr   FFFr'   )__name__
__module____qualname____serialize_fields__r   __serialize_namespace__r   __annotations__r   strr   _LexerCallbackintboolr   r   r.   r0   r4   r6   r5   r-   r   r      s    \)l+&&sO  C'((O''L LP ^c*["9 j ZdehZi   xK $T#~*=%>?UXmq EI Y]E

r5   r   c                   f    e Zd ZU dZed   ed<   eed<   ee   ed<   eed<   ded   dedee   fdZ	y)	
ParserConf)rulesstartparser_typer   rC   r#   rD   rE   c                 R    t        |t              sJ || _        || _        || _        y r'   )
isinstancelistrC   r#   rD   )r+   rC   r#   rD   s       r-   r.   zParserConf.__init__P   s'    %&&&
"
r5   N)
r7   r8   r9   r:   r
   r<   ParserCallbacksr=   r   r.   r6   r5   r-   rB   rB   H   sK    :<9d6l  tTWy r5   rB   )$copyr   systypesr   typingr   r   r   r   r	   r
   larkr   lexerr   grammarr   r   r   r   version_infor   typing_extensionsutilsr   r   r   r   r<   r   r>   r=   rI   r   rB   r6   r5   r-   <module>rT      s     
  L L"
7"$/  % I Hx{ x5'5.)sH}%+
	 +
Z r5   