
    #h	                         S SK r S SKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  SS	KJr   " S
 S\5      r " S S\5      r " S S\5      rg)    N)Any   )EBNFBootstrapParser)Buffer)	PRAGMA_RE)ParserConfig)EBNFGrammarSemantics)ASTSemanticsc                   N   ^  \ rS rSr  S	S\S-  S\4U 4S jjjrS rS rSr	U =r
$ )

EBNFBuffer   Nconfigsettingsc                R   > [         R                  " SX0US.UD6n[        TU ]  XS9  g )N)r   ownerfilename)r    )r   newsuper__init__)selftextr   r   r   	__class__s        L/Users/user/Downloads/htwk/venv/lib/python3.13/site-packages/tatsu/parser.pyr   EBNFBuffer.__init__   s9     !! 

<D
 	-    c                 d   SnU[        U5      :  a  X%   n[        R                  " [        U5      (       ac  UR	                  SS5      S   SpSU;   a  UR	                  SS5      u  pxUR                  5       UR                  5       pU R                  XXX55      nOUS-  nU[        U5      :  a  M  X#4$ )Nr   #r    z::)lenrematchr   splitstrippragma)	r   namelinesindexkwargsiline	directiveargs	            r   process_blockEBNFBuffer.process_block   s    #e*n8Dxx	4((!%C!3A!639$%.__T1%=NI!*!2CIIK3KKUFQ #e*n |r   c           	      f    US:X  a'  UR                  S5      nU R                  XXEXfS-   5      $ US-   $ )Nincludez'"r   )r$   include_file)r   sourcer&   r-   r'   r(   r*   r   s           r   r%   EBNFBuffer.pragma(   s:    9yy'H$$VuQANNq5Lr   r   )NN)__name__
__module____qualname____firstlineno__r   r   r   r.   r%   __static_attributes____classcell__r   s   @r   r   r      s=    
 &*.
 t#. . . r   r   c                   N   ^  \ rS rSr   SS\S-  S\S-  S\4U 4S jjjrSrU =r	$ )	
EBNFParser1   Nr&   r   r   c                 |   > Uc
  [        5       n[        R                  " SUUU[        S.UD6n[        TU ]  U5        g N)r   r&   	semanticstokenizerclsr   )r
   r   r   r   r   r   r   r&   r   rA   r   r   s        r   r   EBNFParser.__init__2   sL     $I!! 
#	

 
 	 r   r   NNN
r5   r6   r7   r8   strr   r   r   r9   r:   r;   s   @r   r=   r=   1   =      &*	!Dj! t#!
 ! !r   r=   c                   N   ^  \ rS rSr   SS\S-  S\S-  S\4U 4S jjjrSrU =r	$ )	GrammarGeneratorE   Nr&   r   r   c                 ~   > Uc  [        U5      n[        R                  " SUUU[        S.UD6n[        TU ]  U5        g r@   )r	   r   r   r   r   r   rC   s        r   r   GrammarGenerator.__init__F   sO     ,T2I!! 
#	

 
 	 r   r   rE   rF   r;   s   @r   rJ   rJ   E   rH   r   rJ   )r!   typingr   	bootstrapr   	bufferingr   grammarsr   infosr   parser_semanticsr	   rA   r
   r   r=   rJ   r   r   r   <module>rT      sD    	  *    2 #" "J!$ !(!* !r   