
    }fr                     8   U d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZmZ  e       Zee   ed	<    G d
 de      Z G d de      Zd Zedk(  r8d dlZd dlmZ  eeed      Z ee      Z e ej:                  ed             yy)    N)Path)Buffer)Parser)	tatsumasu)leftrecnomemoisname)ParserConfig)regeneric_mainKEYWORDSc                   ,     e Zd Zddedz  f fdZ xZS )EBNFBootstrapBufferNconfigc                    t        j                  || dd dddddt        d      } |j                  d
i |}t        |   ||	       y Nz\s+F Tz(?sm)[(][*](?:.|\n)*?[*][)]z#[^\n]*$start)
owner
whitespace	nameguard
ignorecase	namechars	parseinfocomments_reeol_comments_rekeywordsr   )r    r
   newr   replacesuper__init__)selftextr   settings	__class__s       N/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/tatsu/bootstrap.pyr#   zEBNFBootstrapBuffer.__init__   s[    !!6'
  +(+f-    N)__name__
__module____qualname__r
   r#   __classcell__r'   s   @r(   r   r      s    .t(; . .r)   r   c                       e Zd Zdldedz  f fdZ e       d        Z ed      d        Z e       d        Z e       d        Z	 e       d	        Z
 e       d
        Z ed      d        Z e       d        Z e       d        Z e       d        Z e       d        Z e       d        Z e       d        Z ed      d        Z ed      d        Z ed      d        Z e       d        Z ed      d        Z e       d        Z ed      d        Z ed      d         Z e       d!        Z ed"      d#        Z ed$      d%        Z ed$      d&        Z e       d'        Z ed(      d)        Z  e       d*        Z! ed+      d,        Z" ed-      d.        Z# e       d/        Z$ ed0      d1        Z% ed2      d3        Z& ed4      d5        Z' ed6      d7        Z( e       d8        Z) ed9      d:        Z* ed;      d<        Z+ ed=      d>        Z, ed?      d@        Z- edA      dB        Z. edC      dD        Z/ edE      dF        Z0 edG      dH        Z1 e       dI        Z2 edJ      dK        Z3 edL      dM        Z4 edN      dO        Z5 edN      dP        Z6 e       dQ        Z7 e       dR        Z8 edS      dT        Z9 edU      dV        Z: edW      dX        Z; e       dY        Z< e       dZ        Z= e       d[        Z> e       d\        Z? e       d]        Z@ e       d^        ZA e       d_        ZB e       d`        ZC e       da        ZD edb      dc        ZE edd      de        ZF e       df        ZG e       dg        ZH e       dh        ZI e       di        ZJ edj      dk        ZK xZLS )mEBNFBootstrapParserNr   c                    t        j                  || dd dddddt        d      } |j                  d
i |}t        |   |	       y r   r   )r$   r   r&   r'   s      r(   r#   zEBNFBootstrapParser.__init__1   sY    !!6'
  +(+'r)   c                 $    | j                          y r*   )	_grammar_r$   s    r(   _start_zEBNFBootstrapParser._start_C       r)   Grammarc                 .     j                  d        j                  d        fd} j                  |        j                           j	                  d        fd} j                  |        j                           j                  dgg d       y )NTATSUtitlec                      j                         5   j                         5   j                           j                  d       d d d         j                         5   j	                           j                  d       d d d         j                  d       d d d        y # 1 sw Y   ]xY w# 1 sw Y   /xY w# 1 sw Y   y xY w)N
directivesr   z'expecting one of: <directive> <keyword>)_choice_option_directive_add_last_node_to_name	_keyword__errorr5   s   r(   block0z-EBNFBootstrapParser._grammar_.<locals>.block0L   s     
\\^ =$$&..|<= \\^ ;NN$..z:; ,
 
= =; ;	
 
:   B9"B!B9"B-?B9!B*	&B9-B6	2B99Crulesc                      j                         5   j                         5   j                           j                  d       d d d         j                         5   j	                           j                  d       d d d         j                  d       d d d        y # 1 sw Y   ]xY w# 1 sw Y   /xY w# 1 sw Y   y xY w)NrF   r   z"expecting one of: <keyword> <rule>)r>   r?   _rule_rA   rB   rC   r5   s   r(   block1z-EBNFBootstrapParser._grammar_.<locals>.block1\   s     
\\^ 8KKM..w78 \\^ ;NN$..z:; '
 
8 8; ;	
 
rE   )r=   r   rF   )	_constantname_last_node_closurerH   rA   
_check_eof_define)r$   rD   rI   s   `  r(   r4   zEBNFBootstrapParser._grammar_G   sx    wG$	 	f""7+	 	fI/	
r)   c                    | j                  d       | j                         5  | j                  d       d d d        | j                          | j                         5  | j	                         5  | j                         5  | j                         5  | j	                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                  d       | j                          | j                          | j                  d       | j                          | j                          | j                  d       | j                  ddgg        d d d        | j                         5  | j                         5  | j                  d	       d d d        | j                  d       | j                          | j                          | j                  d       | j                          | j                         5  | j	                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                  d
       d d d        | j                         5  | j                  d       d d d        | j                         5  | j                  d
       d d d        | j                  d       d d d        d d d        | j                  d       | j                  ddgg        d d d        | j                         5  | j                         5  | j	                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                  d       | j                          | j                         5  | j	                         5  | j                         5  | j                  d       | j                          | j                          | j                  d       | j                  dgg        d d d        | j                         5  | j                  d       | j                  d       d d d        | j                  d       d d d        d d d        | j                  ddgg        d d d        | j                         5  | j                         5  | j                  d       d d d        | j                  d       | j                          | j                  d       | j                          | j                          | j                  d       | j                  ddgg        d d d        | j                         5  | j                         5  | j                  d       d d d        | j                  d       | j                          | j                  d       | j                          | j                          | j                  d       | j                  ddgg        d d d        | j                  d       d d d        d d d        | j                          | j                  ddgg        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   txY w# 1 sw Y   yxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   9xY w# 1 sw Y   xY w# 1 sw Y    xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   OxY w# 1 sw Y   2xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   MxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   	xY w# 1 sw Y   xY w# 1 sw Y   ixY w# 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nz@@keywordcommentseol_commentsz+expecting one of: 'comments' 'eol_comments'name::valuer   NoneFalsez1expecting one of: 'False' 'None' <regex> <string>r   r   left_recursionr   zFexpecting one of: 'ignorecase' 'left_recursion''nameguard' 'parseinfo'Tzexpecting one of: '::'grammarr   zexpecting one of: 'comments' 'eol_comments' 'grammar''ignorecase' 'left_recursion''namechars' 'nameguard' 'parseinfo''whitespace')_token_ifnot_cut_groupr>   r?   rC   rK   _regex_rN   _string_rJ   	_boolean__word_r5   s    r(   r@   zEBNFBootstrapParser._directive_o   s   D[[] 	#KK	"	#		[[] k	 j\\^ 8 	!\\^ !% 8 $J 78!% < $N ;< KK!<	 ''/IIKIIKKK%IIKLLN''0LL&'!2B7%8& \\^ 8 2L12''/IIKIIKKK%IIK !\\^ !% / $/!% 0 $0!% 4 $F 34!% 5 $G 45!% 7 $v 67 KK!B  ''0LL&'!2B7384 \\^ !8 !\\^ !% 9 $K 89!% : $L 9:!% > $,< =>!% 9 $K 89 KK!: ''/IIK !\\^ !% < $D 1 $		 $ 0 $ 3 3G < $gY ;< "& = $t 4 $ 3 3G <= !KK!' LL&'!2B7C!8D \\^ 	8 /I./''/IIKKK%IIKKKM''0LL&'!2B7	8 \\^ 	8 1K01''/IIKKK%IIKMMO''0LL&'!2B7	8 #Ijk	X 			fg&+a	# 	#8 8< < 	 	8 8(2 2/ /0 04 45 57 7  8 8:9 9: :> >9 9  &< <= =  %!8 !8F/ /	8 	81 1	8 	8uj jk	 k	s  ]c$-c>^^	 ]81]]8]+-]8^	B^c5`^	A*`_:	_-$^,5_-^9_-6__- _2_-
_ _-5_:	=-`*cba	$a5`a`!1a	`.a3`;aa	&9bb		0a<Aa"a</#a/a<+b		3bc'b08b#	
A?b0	c!c
2b=	A?c
cc$]](#]8+]50]88^=^	^
^^c^)$`,^61_-9_>_-__-__- _*%_--_72_:	:`?``c`a!`+&a.`83a;a aaa	ab"a,'a</a94a<<bb			bbb c#b-(b00b:5c=cc

ccc!	c$$c.c                 2      fd} j                  |       y )Nc                  &     j                          y r*   )
_keywords_r5   s   r(   rD   z.EBNFBootstrapParser._keywords_.<locals>.block0   s    OOr)   )_positive_closurer$   rD   s   ` r(   rd   zEBNFBootstrapParser._keywords_   s    	v&r)   c                       j                  d        j                           j                  d        j                           fd} j                  |       y )Nz	@@keywordrT   c            	          j                         5   j                         5   j                         5   j                          d d d         j                         5   j	                          d d d         j                  d       d d d        d d d         j                  d        j                         5   j                         5   j                         5   j                         5   j                  d       d d d         j                         5   j                  d       d d d         j                  d       d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   pxY w# 1 sw Y   cxY w# 1 sw Y   gxY w# 1 sw Y   y xY w)Nz!expecting one of: <string> <word>@:=zexpecting one of: ':' '=')	r]   r>   r?   ra   r_   rC   rA   r[   rZ   r5   s   r(   rD   z-EBNFBootstrapParser._keyword_.<locals>.block0   sr    	\\^  && ((KK*	 &&s+ 
[[] 	 !\\^ - KK,-!\\^ - KK,-&	
 
& &( ( 	 	- -- - 	 	
 
s   E>E2EE2E&.E2E>8F:	F.F"+F
	=F"F	'F" F.F:E#E2&E/+E22E;	7E>>F
FF"FF""F+'F..F7	3F::G)rZ   r\   rL   rf   s   ` r(   rB   zEBNFBootstrapParser._keyword_   s@    K 		D			. 	fr)   c           
      D   | j                         5  | j                         5  | j                  d       | j                          | j	                          | j                  d       | j                  dgg        d d d        | j                         5  | j                  d       | j                          | j                         5  | j                         5  | j                         5  | j                          | j                  d       d d d        | j                         5  | j	                          | j                  d       | j                  d       | j                          | j                          | j                  d       | j                  ddgg        d d d        | j                         5  | j	                          | j                  d       d d d        | j                  d       d d d        d d d        | j                  d       | j                  ddgg        d d d        | j                  d       d d d        y # 1 sw Y   xY w# 1 sw Y   IxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   mxY w# 1 sw Y   y xY w)	NrT   params(kwparams,%expecting one of: <kwparams> <params>)expecting one of: '(' '::')
r>   r?   rZ   r\   _params_rK   rN   r]   
_kwparams_rC   r5   s    r(   
_paramdef_zEBNFBootstrapParser._paramdef_  s    \\^ #	 -D!		##H-hZ,-  9C 		[[]  !\\^ < OO- //
;< "\\^ E MMO //9 KK, IIK OO- //
; LL*h)?DE "\\^ : MMO //9: 2( C j(3R8192 KKA#	 #	- -< <E E: :  9 9#	 #	s   JAI 8J2J
I>I2	$"II2	A8II2	."I&I2	)I>1-J
J I
	JII2	I#I2	&I/+I2	2I;7I>>JJ

J	JJRulec                 0     fd} j                  |        j                  d        j                           j                  d        j                           j	                         5   j                         5   j                         5   j                  d        j                           j                           j                  d        j                  dgg        d d d         j                         5   j                  d        j                           j                         5   j                         5   j                         5   j                           j                  d       d d d         j                         5   j                           j                  d        j                  d        j                           j                           j                  d        j                  ddgg        d d d         j                         5   j                           j                  d       d d d         j                  d	       d d d        d d d         j                  d
        j                  ddgg        d d d         j                  d       d d d        d d d         j	                         5   j                  d        j                           j                           j                  d        j                  dgg        d d d         j                  d        j                           j                           j                  d        j                  d        j                           j                  g dg        y # 1 sw Y   xY w# 1 sw Y   6xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   xY w# 1 sw Y   _xY w# 1 sw Y   SxY w# 1 sw Y   XxY w# 1 sw Y   xY w)Nc                  &     j                          y r*   )_decorator_r5   s   r(   rD   z*EBNFBootstrapParser._rule_.<locals>.block05  s    r)   
decoratorsrS   rT   rm   rn   ro   rp   rq   rr   rs   <baserk   exp;)r}   r{   r~   ro   rS   rm   )rL   rK   _name_r\   	_optionalr>   r?   rZ   rt   rN   r]   ru   rC   _known_name__expre_rf   s   ` r(   rH   zEBNFBootstrapParser._rule_2  s4   	fL)F#		^^ $	 #\\^ 1KK%IIKMMO''1LL(R01 \\^ =KK$IIK !\\^ !% @ $ 1 $ 3 3J ?@ "& I $ $ 3 3H = $C 0 $		 $ 1 $ 3 3J ? $j(-CR HI "& > $ $ 3 3H => !KK!6( KK$LL*h!7<1=2 A#$	J ^^ 	'KKIIK'LL&2&	' 	C		E"C		PRTU_1 1@ @I I> >  = =# #$	 $	J	' 	's   *O?;O2AN"O2:2O%,O	=O"N$0OA8N1 O"N>:OO	-O%O2!O?APN!O2$N.)O1N;6O>OOOO	O"O%%O/*O22O<	7O??P	Pc                    | j                  d       | j                         5  | j                  d       d d d        | j                          | j                         5  | j	                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                  d       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   `xY w# 1 sw Y   SxY w# 1 sw Y   WxY w)Nri   overriderS   r   z,expecting one of: 'name' 'nomemo' 'override')rZ   r[   r\   r]   r>   r?   rC   rK   r5   s    r(   rz   zEBNFBootstrapParser._decorator_o  s   C[[] 	KK			[[] 	 
\\^ ,KK
+,\\^ (KK'(\\^ *KK)*1
	 	C 	 	
, ,( (* *
 
	 	sw   DE-E>D+E(D7:EE$E=ED(+D40E7E <EEEE	EE$c                 t      j                           j                  d        fd} j                  |       y )Nri   c                       j                  d        j                           j                  d        j                         5   j                  d       d d d         j	                          y # 1 sw Y   xY w)Nrp   ri   rk   )rZ   	_literal_rA   r[   r\   r5   s   r(   rD   z,EBNFBootstrapParser._params_.<locals>.block0  sZ    KKNN&&s+ !C !IIK! !s   A//A8)_first_param_rA   rL   rf   s   ` r(   rt   zEBNFBootstrapParser._params_  s0    ""3'	 	fr)   c                 D   | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j	                  d       d d d        y # 1 sw Y   LxY w# 1 sw Y   /xY w# 1 sw Y   y xY w)Nz|expecting one of: (?!\d)\w+(?:::(?!\d)\w+)+ <boolean><float> <hex> <int> <literal> <null><path> <raw_string> <string> <word>)r>   r?   _path_r   rC   r5   s    r(   r   z!EBNFBootstrapParser._first_param_  s    \\^ 
	  ! !KK6
	 
	 ! !
	 
	9   BA>BB
B>B	B
B	BBc                 >      fd} fd} j                  ||       y )Nc                  (     j                  d       y )Nrp   rZ   r5   s   r(   sep0z,EBNFBootstrapParser._kwparams_.<locals>.sep0      KKr)   c                  &     j                          y r*   )_pair_r5   s   r(   rI   z.EBNFBootstrapParser._kwparams_.<locals>.block1  s    KKMr)   _positive_gatherr$   r   rI   s   `  r(   ru   zEBNFBootstrapParser._kwparams_  s    		fd+r)   c                     | j                          | j                  d       | j                  d       | j                          | j	                          | j                  d       y )Nri   rk   )ra   rA   rZ   r\   r   r5   s    r(   r   zEBNFBootstrapParser._pair_  sF    ""3'C		""3'r)   c                 D   | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j	                  d       d d d        y # 1 sw Y   LxY w# 1 sw Y   /xY w# 1 sw Y   y xY w)Nz;expecting one of: '|' <choice> <element> <option><sequence>)r>   r?   _choice_
_sequence_rC   r5   s    r(   r   zEBNFBootstrapParser._expre_  s    \\^ 		    "!"KK		 		   " "		 		r   Choicec                       j                         5   j                  d        j                          d d d         j                           j	                  d        fd} j                  |       y # 1 sw Y   AxY w)N|ri   c                       j                  d        j                           j                           j                  d       y )Nr   ri   )rZ   r\   _option_rA   r5   s   r(   rD   z,EBNFBootstrapParser._choice_.<locals>.block0  s/    KKIIKMMO&&s+r)   )r   rZ   r\   r   rA   re   rf   s   ` r(   r   zEBNFBootstrapParser._choice_  se    ^^ 	KKIIK	 	""3'	,
 	v&	 	s   "A44A=Optionc                 F    | j                          | j                  d       y Nri   )r   rK   r5   s    r(   r   zEBNFBootstrapParser._option_  s    C r)   Sequencec                 T      fd} j                  |        j                  d       y )Nc                  &     j                          y r*   )	_element_r5   s   r(   rD   z.EBNFBootstrapParser._sequence_.<locals>.block0  s    NNr)   sequence)re   rK   rf   s   ` r(   r   zEBNFBootstrapParser._sequence_  s$    	v&J'r)   c                    | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j	                          d d d        | j                         5  | j                          d d d        | j                  d       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   dxY w# 1 sw Y   GxY w# 1 sw Y   y xY w)Na<  expecting one of: '>' <atom> <closure> <empty_closure><gather> <group> <join> <left_join><lookahead> <named> <named_list><named_single> <negative_lookahead><optional> <override> <override_list><override_single><override_single_deprecated><positive_closure> <right_join><rule_include> <skip_to> <special><term> <void>)r>   r?   _rule_include__named_
_override__term_rC   r5   s    r(   r   zEBNFBootstrapParser._element_  s    \\^ 	 &##%&  "!" KK
 	 	& & " " 	 	si   D CD CD 4C(D C4.D C	D C%	!D (C1	-D 4C=	9D  D	RuleIncludec                     | j                  d       | j                          | j                          | j                  d       y )N>ri   )rZ   r\   r   rK   r5   s    r(   r   z"EBNFBootstrapParser._rule_include_  s1    C		C r)   c                 D   | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j	                  d       d d d        y # 1 sw Y   LxY w# 1 sw Y   /xY w# 1 sw Y   y xY w)Nz4expecting one of: <name> <named_list> <named_single>)r>   r?   _named_list__named_single_rC   r5   s    r(   r   zEBNFBootstrapParser._named_  s    \\^ 	 $!!#$ &##%&KK5	 	$ $& &	 	r   	NamedListc                     | j                          | j                  d       | j                  d       | j                          | j	                          | j                  d       | j                  ddgg        y )NrS   z+:r~   r   rK   rZ   r\   r   rN   r5   s    r(   r   z EBNFBootstrapParser._named_list_  sW    F#D		E"eV_b)r)   Namedc                     | j                          | j                  d       | j                  d       | j                          | j	                          | j                  d       | j                  ddgg        y )NrS   rj   r~   r   r5   s    r(   r   z"EBNFBootstrapParser._named_single_  sW    F#C		E"eV_b)r)   c                    | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j	                          d d d        | j                  d       d d d        y # 1 sw Y   uxY w# 1 sw Y   XxY w# 1 sw Y   ;xY w# 1 sw Y   y xY w)Nz]expecting one of: '@' '@+:' '@:' <override_list><override_single><override_single_deprecated>)r>   r?   _override_list__override_single__override_single_deprecated_rC   r5   s    r(   r   zEBNFBootstrapParser._override_  s    \\^ 	 '$$&' )&&() 41134KK/	 	' ') )4 4	 	sQ   CB'CB3C4B?C'B0	,C3B<	8C?C	CCOverrideListc                     | j                  d       | j                          | j                          | j                  d       y )Nz@+:ri   rZ   r\   r   rK   r5   s    r(   r   z#EBNFBootstrapParser._override_list_+  s.    E		C r)   Overridec                     | j                  d       | j                          | j                          | j                  d       y )Nz@:ri   r   r5   s    r(   r   z%EBNFBootstrapParser._override_single_2  .    D		C r)   c                     | j                  d       | j                          | j                          | j                  d       y r   r   r5   s    r(   r   z0EBNFBootstrapParser._override_single_deprecated_9  .    C		C r)   c                    | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j	                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j!                          d d d        | j#                  d       d d d        y # 1 sw Y   bxY w# 1 sw Y   FxY w# 1 sw Y   *xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   fxY w# 1 sw Y   JxY w# 1 sw Y   .xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Na-  expecting one of: '!' '&' '(' '()' '->' '?(' '[' '{'<alert> <atom> <call> <closure><constant> <cut> <cut_deprecated><empty_closure> <eof> <gather> <group><join> <left_join> <lookahead><negative_lookahead> <optional><pattern> <positive_closure><right_join> <separator> <skip_to><special> <token> <void>)r>   r?   _void__gather__join__left_join__right_join__group__empty_closure__positive_closure_	_closure_
_optional_	_special_	_skip_to__lookahead__negative_lookahead__atom_rC   r5   s    r(   r   zEBNFBootstrapParser._term_@  s   \\^ *	      #  "# $!!#$  '$$&' *'')* ! ! "!" ! ! ! ! #  "# ,))+, KK	+?*	 *	     # #$ $ ' '* *! !" "! !! !# #, , ;*	 *	sq  MJMJ M4J-MJ:.MKM/K MK!)MK.M*K;;ML$M<LM%L"6ML/M7L<M M1MJ	M J*	%M-J7	2M:K	?MK	MK	M!K+	&M.K8	3M;L	 ML	ML	M"L,	'M/L9	4M<M	MM	MMGroupc                     | j                  d       | j                          | j                          | j                  d       | j                  d       | j                          | j	                  dgg        y )Nrn   r~   rr   )rZ   r\   r   rK   rN   r5   s    r(   r   zEBNFBootstrapParser._group_n  sS    C		E"C		eWb!r)   c                    | j                         5  | j                         5  | j                          | j                  d       d d d        d d d        | j	                          | j                         5  | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   lxY w# 1 sw Y   OxY w# 1 sw Y   BxY w# 1 sw Y   y xY w)N.{z3expecting one of: <normal_gather> <positive_gather>)
_ifr]   _separator_rZ   r\   r>   r?   _positive_gather__normal_gather_rC   r5   s    r(   r   zEBNFBootstrapParser._gather_x  s   XXZ 	" "  "D!"	" 			[[] 		 \\^ -**,-\\^ +((*+8		 			" "	" 	"- -+ + 		 		v   D"C:D4D6D*D'D*?DD*)D6:D	?DDDD*D'#D**D3	/D66D?PositiveGatherc                    | j                          | j                  d       | j                  d       | j                          | j                  d       | j                  d       | j	                         5  | j                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                          | j                  ddgg        y # 1 sw Y   yxY w# 1 sw Y   [xY w# 1 sw Y   NxY w# 1 sw Y   RxY w)Nsepr   r~   }+-expecting one of: '+' '-'
r   rK   rZ   r   r]   r>   r?   rC   r\   rN   r5   s    r(   r   z%EBNFBootstrapParser._positive_gather_  	   E"DE"C[[] 		 \\^ %KK$%\\^ %KK$%		 			eU^R(% %% % 		 		T   5ED9D!)D9D-D9,E!D*&D9-D62D99E	>EEGatherc                    | j                          | j                  d       | j                  d       | j                          | j	                          | j                  d       | j                  d       | j                         5  | j                  d       | j                          d d d        | j                          | j                  ddgg        y # 1 sw Y   .xY w)Nr   r   r~   r   *r   rK   rZ   r\   r   r   rN   r5   s    r(   r   z#EBNFBootstrapParser._normal_gather_      E"D		E"C^^ 	KKIIK	 			eU^R(		 	   "CCc                    | j                         5  | j                         5  | j                          | j                  d       d d d        d d d        | j	                          | j                         5  | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   lxY w# 1 sw Y   OxY w# 1 sw Y   BxY w# 1 sw Y   y xY w)N%{z/expecting one of: <normal_join> <positive_join>)
r   r]   r   rZ   r\   r>   r?   _positive_join__normal_join_rC   r5   s    r(   r   zEBNFBootstrapParser._join_  s   XXZ 	" "  "D!"	" 			[[] 		 \\^ +((*+\\^ )&&()4		 			" "	" 	"+ +) ) 		 		r   PositiveJoinc                    | j                          | j                  d       | j                  d       | j                          | j                  d       | j                  d       | j	                         5  | j                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                          | j                  ddgg        y # 1 sw Y   yxY w# 1 sw Y   [xY w# 1 sw Y   NxY w# 1 sw Y   RxY w)Nr   r   r~   r   r   r   r   r   r5   s    r(   r   z#EBNFBootstrapParser._positive_join_  r   r   Joinc                    | j                          | j                  d       | j                  d       | j                          | j	                          | j                  d       | j                  d       | j                         5  | j                  d       | j                          d d d        | j                          | j                  ddgg        y # 1 sw Y   .xY w)Nr   r   r~   r   r   r   r5   s    r(   r   z!EBNFBootstrapParser._normal_join_  r   r   LeftJoinc                    | j                          | j                  d       | j                  d       | j                          | j	                          | j                  d       | j                  d       | j                         5  | j                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                          | j                  ddgg        y # 1 sw Y   yxY w# 1 sw Y   [xY w# 1 sw Y   NxY w# 1 sw Y   RxY w)Nr   z<{r~   r   r   r   r   
r   rK   rZ   r\   r   r]   r>   r?   rC   rN   r5   s    r(   r   zEBNFBootstrapParser._left_join_     E"D		E"C[[] 		 \\^ %KK$%\\^ %KK$%		 			eU^R(% %% % 		 		T   EE	'D19E	D=#E	<E1D:6E	=EE		E	EE	RightJoinc                    | j                          | j                  d       | j                  d       | j                          | j	                          | j                  d       | j                  d       | j                         5  | j                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                          | j                  ddgg        y # 1 sw Y   yxY w# 1 sw Y   [xY w# 1 sw Y   NxY w# 1 sw Y   RxY w)Nr   z>{r~   r   r   r   r   r   r5   s    r(   r   z EBNFBootstrapParser._right_join_  r   r   c                    | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j	                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                  d       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   pxY w# 1 sw Y   SxY w# 1 sw Y   y xY w)Nzhexpecting one of: '(' '/./' '`' <any> <constant> <group><pattern> <raw_string> <regexes><string> <token>)r>   r?   r   _token_
_constant__any_	_pattern_rC   r5   s    r(   r   zEBNFBootstrapParser._separator_  s    \\^ 	   "!" 

 ! !KK#	 	  " " ! !	 	s   D5C9D5DD54DD5D.D5D)D59D	>D5D	
D5D	D5D&	"D5)D2	.D55D>PositiveClosurec                 8   | j                  d       | j                          | j                  d       | j                  d       | j                         5  | j	                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        d d d        | j                          y # 1 sw Y   exY w# 1 sw Y   GxY w# 1 sw Y   :xY w# 1 sw Y   >xY w)N{ri   r   r   r   r   )rZ   r   rK   r]   r>   r?   rC   r\   r5   s    r(   r   z&EBNFBootstrapParser._positive_closure_$  s    CC C[[] 		 \\^ %KK$%\\^ %KK$%		 			% %% % 		 		sT   D%D6C,D C82DD,C51D8D=DD		DDClosurec                    | j                  d       | j                          | j                  d       | j                  d       | j                         5  | j                  d       d d d        | j	                          y # 1 sw Y   xY w)Nr  ri   r   r   )rZ   r   rK   r   r\   r5   s    r(   r   zEBNFBootstrapParser._closure_6  se    CC C^^ 	KK				 	s   A??BEmptyClosurec                     | j                  d       | j                          | j                  d       | j                  d       y )Nr  ri   r   )rZ   _voidrK   r5   s    r(   r   z#EBNFBootstrapParser._empty_closure_@  s1    C

C Cr)   Optionalc                     | j                  d       | j                          | j                          | j                  d       | j                  d       | j                          y )N[ri   ])rZ   r\   r   rK   r5   s    r(   r   zEBNFBootstrapParser._optional_G  sC    C		C C		r)   Specialc                     | j                  d       | j                          | j                  d       | j                  d       | j                  d       | j                          y )Nz?(z.*?(?!\)\?)ri   z)?)rZ   r\   _patternrK   r5   s    r(   r   zEBNFBootstrapParser._special_P  sF    D		o&C D		r)   	Lookaheadc                     | j                  d       | j                          | j                          | j                  d       y )N&ri   r   r5   s    r(   r   zEBNFBootstrapParser._lookahead_Y  r   r)   NegativeLookaheadc                     | j                  d       | j                          | j                          | j                  d       y )N!ri   r   r5   s    r(   r   z(EBNFBootstrapParser._negative_lookahead_`  r   r)   SkipToc                     | j                  d       | j                          | j                          | j                  d       y )Nz->ri   r   r5   s    r(   r   zEBNFBootstrapParser._skip_to_g  r   r)   c                    | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j	                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                  d       d d d        y # 1 sw Y   CxY w# 1 sw Y   'xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   y xY w)Nzexpecting one of: '$' '>>' '`' '~' <alert> <call><constant> <cut> <cut_deprecated> <eof><pattern> <raw_string> <regexes><string> <token> <word> \^+)r>   r?   _cut__cut_deprecated_r   _alert_r   _call_r   _eof_rC   r5   s    r(   r   zEBNFBootstrapParser._atom_n  ss   \\^ 	 

 (%%'(   "!"  ! ! 

KK/#	 	 ( (  " " ! ! 	 	   GE4GFG4FGF.GF'G/F3 GF?)GGG4E>	9GF	GF	GF$	 G'F0	,G3F<	8G?G	GG	GG RuleRefc                 $    | j                          y r*   ra   r5   s    r(   r  zEBNFBootstrapParser._call_      r)   Voidc                 F    | j                  d       | j                          y )Nz()rZ   r\   r5   s    r(   r   zEBNFBootstrapParser._void_      D		r)   Cutc                 F    | j                  d       | j                          y )N~r%  r5   s    r(   r  zEBNFBootstrapParser._cut_      C		r)   c                 F    | j                  d       | j                          y )Nz>>r%  r5   s    r(   r  z$EBNFBootstrapParser._cut_deprecated_  r&  r)   c                 D    | j                          | j                          y r*   )r   r\   r5   s    r(   r   z EBNFBootstrapParser._known_name_  s    		r)   c                 $    | j                          y r*   r!  r5   s    r(   r   zEBNFBootstrapParser._name_  r"  r)   Constantc                    | j                         5  | j                  d       d d d        | j                         5  | j                         5  | j	                         5  | j                  d       d d d        | j	                         5  | j                  d       | j                          | j                  d       | j                  d       d d d        | j	                         5  | j                  d       d d d        | j                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   mxY w# 1 sw Y   OxY w# 1 sw Y   BxY w# 1 sw Y   y xY w)N`z(?ms)```((?:.|\n)*?)```ri   z`(.*?)`z5expecting one of: '`' (?ms)```((?:.|\n)*?)``` `(.*?)`)	r   rZ   r]   r>   r?   r  r   rK   rC   r5   s    r(   r   zEBNFBootstrapParser._constant_  s#   XXZ 	KK	[[] 	 \\^ >MM"<=>\\^ %KK$NN$'',KK$	%
 \\^ -MM),-;	 		 	> >% %
- - 	 	sw   DEED+/EAD7E#E5EED(+D40E7E <EEEE	EE$Alertc                     | j                  d       | j                  d       | j                          | j                  d       | j                  ddgg        y )Nz\^+levelmessage)r  rK   r   rN   r5   s    r(   r  zEBNFBootstrapParser._alert_  sG    fG$I&gy)2.r)   Tokenc                 D   | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j	                  d       d d d        y # 1 sw Y   LxY w# 1 sw Y   /xY w# 1 sw Y   y xY w)Nz2expecting one of: <STRING> <raw_string> <string> r)r>   r?   r_   _raw_string_rC   r5   s    r(   r   zEBNFBootstrapParser._token_  s    \\^ 	    $!!#$KK3	 	   $ $	 	r   c                    | j                         5  | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j	                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                         5  | j                          d d d        | j                  d       d d d        y # 1 sw Y   CxY w# 1 sw Y   'xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   y xY w)Nzexpecting one of: 'False' 'None' 'True' (?!\d)\w+0[xX](?:\d|[a-fA-F])+ <STRING> <boolean><float> <hex> <int> <null> <raw_string><string> <word> [-+]?(?:\d+\.\d*|\d*\.\d+)(?:[Ee][-+]?\d+)? [-+]?\d+ r)r>   r?   r_   r7  r`   ra   _hex__float__int__null_rC   r5   s    r(   r   zEBNFBootstrapParser._literal_  sr   \\^ 	    $!!#$ ! !  

  

 KK(#	 	   $ $! !     	 	r  c                 $    | j                          y r*   )_STRING_r5   s    r(   r_   zEBNFBootstrapParser._string_  s    r)   c                 h    | j                  d       | j                          | j                  d       y )Nrri   )r  r>  rK   r5   s    r(   r7  z EBNFBootstrapParser._raw_string_  s%    cC r)   c                    | j                         5  | j                         5  | j                  d       | j                  d       | j	                          d d d        | j                         5  | j                  d       | j                  d       | j	                          d d d        | j                  d       d d d        y # 1 sw Y   nxY w# 1 sw Y   /xY w# 1 sw Y   y xY w)Nz"((?:[^"\n]|\\"|\\\\)*?)"ri   z'((?:[^'\n]|\\'|\\\\)*?)'z>expecting one of: "((?:[^"\n]|\"|\\)*?)"'((?:[^'\n]|\'|\\)*?)')r>   r?   r  rK   r\   rC   r5   s    r(   r>  zEBNFBootstrapParser._STRING_  s    \\^ 	 @A##C(		  @A##C(		 KK-	 	  	 	s:   C3CC-3C CC	CC	CC#c                 &    | j                  d       y )Nz0[xX](?:\d|[a-fA-F])+r  r5   s    r(   r9  zEBNFBootstrapParser._hex_  s    ./r)   c                 &    | j                  d       y )Nz+[-+]?(?:\d+\.\d*|\d*\.\d+)(?:[Ee][-+]?\d+)?rC  r5   s    r(   r:  zEBNFBootstrapParser._float_	  s    JKr)   c                 &    | j                  d       y )Nz[-+]?\d+rC  r5   s    r(   r;  zEBNFBootstrapParser._int_  s    k"r)   c                 &    | j                  d       y )Nz(?!\d)\w+(?:::(?!\d)\w+)+rC  r5   s    r(   r   zEBNFBootstrapParser._path_  s    56r)   c                 &    | j                  d       y )Nz	(?!\d)\w+rC  r5   s    r(   ra   zEBNFBootstrapParser._word_  s    m$r)   Anyc                 &    | j                  d       y )Nz/./r   r5   s    r(   r   zEBNFBootstrapParser._any_  s    Er)   Patternc                 $    | j                          y r*   )	_regexes_r5   s    r(   r   zEBNFBootstrapParser._pattern_  r7   r)   c                 >      fd} fd} j                  ||       y )Nc                  (     j                  d       y )Nr   r   r5   s   r(   r   z+EBNFBootstrapParser._regexes_.<locals>.sep0$  r   r)   c                  &     j                          y r*   )r^   r5   s   r(   rI   z-EBNFBootstrapParser._regexes_.<locals>.block1'  s    LLNr)   r   r   s   `  r(   rL  zEBNFBootstrapParser._regexes_!  s    		fd+r)   c                 B   | j                         5  | j                         5  | j                  d       | j                          | j	                  d       | j                  d       | j                  d       | j                          d d d        | j                         5  | j                  d       | j                          | j	                  d       | j                  d       | j	                  d       | j                          d d d        | j                         5  | j                  d       | j                          | j                  d       d d d        | j                  d       d d d        y # 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   ;xY w# 1 sw Y   y xY w)	N/z(?:[^/\\]|\\/|\\.)*ri   z?/z(?:.|\n)*?(?=/\?)z/\?+?zexpecting one of: '/' '?' '?/')r>   r?   rZ   r\   r  rK   r>  rC   r5   s    r(   r^   zEBNFBootstrapParser._regex_+  sC   \\^ 	 C 		9:##C(C 		  D!		34##C(g&		  )C ##C() KK'	 	  ) )	 	sT   FA%E1FA%E=F3F	F1E:	6F=F	F	F	FFc                 H   | j                         5  | j                         5  | j                  d       d d d        | j                         5  | j                  d       d d d        | j                  d       d d d        y # 1 sw Y   MxY w# 1 sw Y   /xY w# 1 sw Y   y xY w)NTruerW   z expecting one of: 'False' 'True')r>   r?   rZ   rC   r5   s    r(   r`   zEBNFBootstrapParser._boolean_E  s    \\^ 	 $F#$ %G$%KK!	 	$ $% %	 	s9   BB BBB B		BB	BB!c                 &    | j                  d       y )NrV   r   r5   s    r(   r<  zEBNFBootstrapParser._null_Q  s    Fr)   EOFc                 F    | j                  d       | j                          y )N$r%  r5   s    r(   r  zEBNFBootstrapParser._eof_U  r*  r)   r*   )Mr+   r,   r-   r
   r#   r   r6   r4   r@   rd   rB   rv   rH   rz   rt   r   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r   r   r   r  r   r   r_   r7  r>  r9  r:  r;  r   ra   r   r   rL  r^   r`   r<  r  r.   r/   s   @r(   r1   r1   0   s   (,"5 ($ [  y%
 %
N [r, r,h [' ' [ > [$ $L v:V :Vx [! !& [  [  [, , [( ( [
 
 x' ' x! ! z( ( [ 0 }! ! [	 	 {* * w* * [  ~! ! z! ! z! ! [+ +Z w" " [ "  ) !)( x) ) [ " ~) )( v) ) z) )* {) )* [ &  ! "" y  ~  z  y  {! ! "#! $! x! ! [ 4 y  v  u  u  [  [  z & w/ / w	 	 [ 8 [  [! !
 [   [0 0 [L L [# # [7 7 [% % u  y  [, , [ 2 [	 	 [  u r)   r1   c                     | r| dk(  rt         j                  j                         }nt        |       j	                         }t               } |j                  |fd| i|S )Nr   filename)sysstdinreadr   	read_textr1   parse)rZ  kwargsr%   parsers       r(   mainrb  [  s]    x3yy~~H~'') "F6<<  r)   __main__)asjsonEBNFBootstrap)rS      )indent)r[  pathlibr   tatsu.bufferingr   tatsu.parsingr   r   r   r   r	   tatsu.infosr
   
tatsu.utilr   r   setr   str__annotations__r   r1   rb  r+   jsonrd  astdataprintdumpsr   r)   r(   <module>ru     s      "   # 1 1 $ ' U#c( .& .(h& hV!
 z!
t0
GC#;D	*$**T!
$% r)   