
    #ht                     .   % 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J	r	J
r
  S SKJr  S SKJrJr  \" 5       r\\   \S	'    " S
 S\5      r " S S\5      rS r\S:X  a2  S SKrS SKJr  \" \\SS9r\" \5      r\" \R:                  " \SS95        gg)    N)Path)Buffer)Parser)	tatsumasu)leftrecnomemoisname)ParserConfig)regeneric_mainKEYWORDSc                   :   ^  \ rS rSrSS\S-  4U 4S jjjrSrU =r$ )EBNFBootstrapBuffer   Nconfigc                   > [         R                  " UU SS SSSSS[        SS9nUR                  " S
0 UD6n[        TU ]  XS	9  g )Nz(?m)\s+F T(?sm)[(][*](?:.|\n)*?[*][)]z(?sm)*#[^\n]*$start
owner
whitespace	nameguard
ignorecase	namechars	parseinfocommentseol_commentskeywordsr   r    r
   newr   replacesuper__init__)selftextr   settings	__class__s       O/Users/user/Downloads/htwk/venv/lib/python3.13/site-packages/tatsu/bootstrap.pyr&   EBNFBootstrapBuffer.__init__   sW    !!!3*
 +(+-    r!   N)__name__
__module____qualname____firstlineno__r
   r&   __static_attributes____classcell__r*   s   @r+   r   r      s    .t(; . .r-   r   c                     ^  \ rS rSrSnS\S-  4U 4S jjjr\" 5       S 5       r\" S5      S 5       r\" 5       S 5       r	\" 5       S	 5       r
\" 5       S
 5       r\" 5       S 5       r\" S5      S 5       r\" 5       S 5       r\" 5       S 5       r\" 5       S 5       r\" 5       S 5       r\" 5       S 5       r\" 5       S 5       r\" S5      S 5       r\" S5      S 5       r\" S5      S 5       r\" 5       S 5       r\" S5      S 5       r\" 5       S 5       r\" S5      S 5       r\" S 5      S! 5       r\" 5       S" 5       r\" S#5      S$ 5       r\" S%5      S& 5       r\" S%5      S' 5       r\" 5       S( 5       r \" S)5      S* 5       r!\" 5       S+ 5       r"\" S,5      S- 5       r#\" S.5      S/ 5       r$\" 5       S0 5       r%\" S15      S2 5       r&\" S35      S4 5       r'\" S55      S6 5       r(\" S75      S8 5       r)\" 5       S9 5       r*\" S:5      S; 5       r+\" S<5      S= 5       r,\" S>5      S? 5       r-\" S@5      SA 5       r.\" SB5      SC 5       r/\" SD5      SE 5       r0\" SF5      SG 5       r1\" SH5      SI 5       r2\" 5       SJ 5       r3\" SK5      SL 5       r4\" SM5      SN 5       r5\" SO5      SP 5       r6\" SO5      SQ 5       r7\" 5       SR 5       r8\" 5       SS 5       r9\" ST5      SU 5       r:\" SV5      SW 5       r;\" SX5      SY 5       r<\" 5       SZ 5       r=\" 5       S[ 5       r>\" 5       S\ 5       r?\" 5       S] 5       r@\" 5       S^ 5       rA\" 5       S_ 5       rB\" 5       S` 5       rC\" 5       Sa 5       rD\" 5       Sb 5       rE\" Sc5      Sd 5       rF\" Se5      Sf 5       rG\" 5       Sg 5       rH\" 5       Sh 5       rI\" 5       Si 5       rJ\" 5       Sj 5       rK\" Sk5      Sl 5       rLSmrMU =rN$ )oEBNFBootstrapParser0   Nr   c                   > [         R                  " UU SS SSSSS[        SS9nUR                  " S
0 UD6n[        TU ]  US	9  g )Nz\s+Fr   Tr   z(?m)#[^\n]*$r   r   r    r!   r"   )r'   r   r)   r*   s      r+   r&   EBNFBootstrapParser.__init__1   sW    !!3(
 +(+'r-   c                 $    U R                  5         g r.   )	_grammar_r'   s    r+   _start_EBNFBootstrapParser._start_C       r-   Grammarc                 2  ^  T R                  S5        T R                  S5        U 4S jnT R                  U5        T R                  5         T R	                  S5        U 4S jnT R                  U5        T R                  5         T R                  S// SQ5        g )NTATSUtitlec                    > T R                  5          T R                  5          T R                  5         T R                  S5        S S S 5        T R                  5          T R	                  5         T R                  S5        S S S 5        T R                  S5        S S S 5        g ! , (       d  f       Nb= f! , (       d  f       N9= f! , (       d  f       g = f)N
directivesr   z'expecting one of: <directive> <keyword>)_choice_option_directive_add_last_node_to_name	_keyword__errorr=   s   r+   block0-EBNFBootstrapParser._grammar_.<locals>.block0L   s    \\^$$&..|< $ \\^NN$..z: $ ,  #^ $^	  :   C"B!C"B2?C!
B/	+C2
C 	<C
Crulesc                    > T R                  5          T R                  5          T R                  5         T R                  S5        S S S 5        T R                  5          T R	                  5         T R                  S5        S S S 5        T R                  S5        S S S 5        g ! , (       d  f       Nb= f! , (       d  f       N9= f! , (       d  f       g = f)NrP   r   z"expecting one of: <keyword> <rule>)rG   rH   _rule_rJ   rK   rL   r=   s   r+   block1-EBNFBootstrapParser._grammar_.<locals>.block1\   s    \\^KKM..w7 $ \\^NN$..z: $ '  #^ $^	  rO   )rF   r   rP   )	_constantname_last_node_closurerR   rJ   
_check_eof_define)r'   rM   rS   s   `  r+   r<   EBNFBootstrapParser._grammar_G   sx    wG$	 	f""7+	 	fI/	
r-   c                 "   U R                  S5        U R                  5          U R                  S5        S S S 5        U R                  5         U R                  5          U R	                  5          U R                  5          U R                  5          U R	                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  SS// 5        S S S 5        U R                  5          U R                  5          U R                  S	5        S S S 5        U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  5         U R                  5          U R	                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  S
5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S
5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  S5        U R                  SS// 5        S S S 5        U R                  5          U R                  5          U R	                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  S5        U R                  5         U R                  5          U R	                  5          U R                  5          U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  S// 5        S S S 5        U R                  5          U R                  S5        U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  SS// 5        S S S 5        U R                  5          U R                  5          U R                  S5        S S S 5        U R                  S5        U R                  5         U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  SS// 5        S S S 5        U R                  5          U R                  5          U R                  S5        S S S 5        U R                  S5        U R                  5         U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  SS// 5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  5         U R                  SS// 5        g ! , (       d  f       GN$= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNa= f! , (       d  f       GNJ= f! , (       d  f       GN2= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNo= f! , (       d  f       GNW= f! , (       d  f       GNP= f! , (       d  f       GNZ= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNb= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN_= f! , (       d  f       GNX= f! , (       d  f       GNb= f)Nz@@keywordr   r   z+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_grouprG   rH   rL   rV   _regex_rY   _string_rU   	_boolean__word_r=   s    r+   rI   EBNFBootstrapParser._directive_o   s   D[[]KK	" 		[[]\\^!\\^!% $J 7 "0!% $N ; "0 KK!< , ' ''/IIKIIKKK%IIKLLN''0LL&'!2B7% $& \\^L1 '''/IIKIIKKK%IIK!\\^!% $ "0!% $ "0!% $F 3 "0!% $G 4 "0!% $v 6 "0 KK!B , '  ''0LL&'!2B73 $4 \\^!\\^!% $K 8 "0!% $L 9 "0!% $,< = "0!% $K 8 "0 KK!: , ' ''/IIK!\\^!% $D 1 $		 $ 0 $ 3 3G < $gY ; "0 "& $t 4 $ 3 3G < "0 !KK!' , ' LL&'!2B7C $D \\^I. '''/IIKKK%IIKKKM''0LL&'!2B7 $ \\^K0 '''/IIKKK%IIKMMO''0LL&'!2B7 $ #I   X 			fg&+a ] "0!/ ,^ ' $^( ' "0!/!/!/!/ ,^ ' $^: "0!/!/!/ ,^ '& "0 "0 ,^ '% $^F ' $^ ' $^u   ]s  ]e?-e->^+^	 ^1]#^]5-^^	B^+e-5a^=	A*a`;	`)$_5`)_!`)6_3`) `2`)
``)5`;	=-a*e-db9	$b'5ab'a11b'	bb'3bb'b9	&9dd	0c/Acc//#cc/+d	3de-'d78d%	
A?d7	e-!e2e		A?ee-e?
] #
]2-^5
^?^
^^	
^(#^++
^:5e-=
_a
_`)!
_0+`)3
`=`)
``)
`&!`))
`83`;	;
a
a
ae-
a.)b'1
b ;b'
bb'
b$b''
b61b9	9
cd
cc/
c,'c//
c>9d	
dd
d"e-%
d4/d77
ee-	
ee
e*%e--
e<	7e??
fc                 4   ^  U 4S jnT R                  U5        g )Nc                  &   > T R                  5         g r.   )
_keywords_r=   s   r+   rM   .EBNFBootstrapParser._keywords_.<locals>.block0   s    OOr-   )_positive_closurer'   rM   s   ` r+   ro   EBNFBootstrapParser._keywords_   s    	v&r-   c                    ^  T R                  S5        T R                  5         T R                  S5        T R                  5         U 4S jnT R                  U5        g )Nz	@@keywordr^   c            	        > T R                  5          T R                  5          T R                  5          T R                  5         S S S 5        T R                  5          T R	                  5         S S S 5        T R                  S5        S S S 5        S S S 5        T R                  S5        T R                  5          T R                  5          T R                  5          T R                  5          T R                  S5        S S S 5        T R                  5          T R                  S5        S S S 5        T R                  S5        S S S 5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nz!expecting one of: <string> <word>@:=zexpecting one of: ':' '=')	rg   rG   rH   rk   ri   rL   rJ   re   rd   r=   s   r+   rM   -EBNFBootstrapParser._keyword_.<locals>.block0   s#   \\^ ( (KK* $  &&s+[[]!\\^ KK, ,!\\^ KK, ,& ( #  (' $^  ,^+^ ( #] s   FE=EE=E+.E=F8G$	GG+F 	=GF1	'G GG$
E(#E=+
E:5E==
F	F
F 
F.*G1
F?;G
GG
G!	G$$
G2)rd   rf   rW   rr   s   ` r+   rK   EBNFBootstrapParser._keyword_   s@    K 		D			. 	fr-   c           
         U R                  5          U R                  5          U R                  S5        U R                  5         U R	                  5         U R                  S5        U R                  S// 5        S S S 5        U R                  5          U R                  S5        U R                  5         U R                  5          U R                  5          U R                  5          U R                  5         U R                  S5        S S S 5        U R                  5          U R	                  5         U R                  S5        U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  SS// 5        S S S 5        U R                  5          U R	                  5         U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  S5        U R                  SS// 5        S S S 5        U R                  S5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNS= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)	Nr^   params(kwparams,%expecting one of: <kwparams> <params>)expecting one of: '(' '::')
rG   rH   rd   rf   _params_rV   rY   rg   
_kwparams_rL   r=   s    r+   
_paramdef_EBNFBootstrapParser._paramdef_  s   \\^D!		##H-hZ,   C 		[[]!\\^ OO- //
; , "\\^ MMO //9 KK, IIK OO- //
; LL*h)?D , "\\^ MMO //9 , 2 ( #( C j(3R81  2 KKA ^ ,^ ,^ ,^ ( #]   ^s   J9AI 8J92J(JJ	$"IJ	A8I$J	."I5J	)J1-J(J9 
I	
J9
I!J	$
I2.J	5
J?J	
JJ
J%!J((
J6	2J99
KRulec                   ^  U 4S jnT R                  U5        T R                  S5        T R                  5         T R                  S5        T R                  5         T R	                  5          T R                  5          T R                  5          T R                  S5        T R                  5         T R                  5         T R                  S5        T R                  S// 5        S S S 5        T R                  5          T R                  S5        T R                  5         T R                  5          T R                  5          T R                  5          T R                  5         T R                  S5        S S S 5        T R                  5          T R                  5         T R                  S5        T R                  S5        T R                  5         T R                  5         T R                  S5        T R                  SS// 5        S S S 5        T R                  5          T R                  5         T R                  S5        S S S 5        T R                  S	5        S S S 5        S S S 5        T R                  S
5        T R                  SS// 5        S S S 5        T R                  S5        S S S 5        S S S 5        T R	                  5          T R                  S5        T R                  5         T R                  5         T R                  S5        T R                  S// 5        S S S 5        T R                  S5        T R                  5         T R                  5         T R                  S5        T R                  S5        T R                  5         T R                  / SQ/ 5        g ! , (       d  f       GN= f! , (       d  f       GN@= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN{= f! , (       d  f       GN= f! , (       d  f       GN)= f)Nc                  &   > T R                  5         g r.   )_decorator_r=   s   r+   rM   *EBNFBootstrapParser._rule_.<locals>.block05  s    r-   
decoratorsr]   r^   r|   r}   r~   r   r   r   r   <baserx   exp;)r   r   r   r~   r]   r|   )rW   rV   _name_rf   	_optionalrG   rH   rd   r   rY   rg   r   rL   _known_name__expre_rr   s   ` r+   rR   EBNFBootstrapParser._rule_2  s   	fL)F#		^^\\^KK%IIKMMO''1LL(R0 $ \\^KK$IIK!\\^!% $ 1 $ 3 3J ? "0 "& $ $ 3 3H = $C 0 $		 $ 1 $ 3 3J ? $j(-CR H "0 "& $ $ 3 3H = "0 !KK!6 , '( KK$LL*h!7<1 $2 A   J ^^KKIIK'LL&2&  	C		E"C		PRTU_ $^ "0 "0 "0 ,^ ' $^   J s   +P(<PAN#P;2P-O2	>O "N*1O 	A8N<O "O;O O2	-P	P"P(AP:
N'"P*
N94O <
OO 
OO  
O/*O2	2
P<P
PP
P%	 P((
P7:
Q	c                 
   U R                  S5        U R                  5          U R                  S5        S S S 5        U R                  5         U R                  5          U R	                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  S5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nt= f! , (       d  f       Nl= f! , (       d  f       Nu= f)Nrv   overrider]   r   z,expecting one of: 'name' 'nomemo' 'override')rd   re   rf   rg   rG   rH   rL   rV   r=   s    r+   r   EBNFBootstrapParser._decorator_o  s    C[[]KK 		[[]\\^KK
+ $\\^KK' $\\^KK) $1    	C  ]
 $^#^#^   ]sw   DE4-E#>D0E#(E:E#E$E#=E4
D-0
D>:E#
EE#
E E##
E1	-E44
Fc                 v   ^  T R                  5         T R                  S5        U 4S jnT R                  U5        g )Nrv   c                     > T R                  S5        T R                  5         T R                  S5        T R                  5          T R                  S5        S S S 5        T R	                  5         g ! , (       d  f       N= f)Nr   rv   rx   )rd   	_literal_rJ   re   rf   r=   s   r+   rM   ,EBNFBootstrapParser._params_.<locals>.block0  sR    KKNN&&s+C  IIK s   A//
A=)_first_param_rJ   rW   rr   s   ` r+   r   EBNFBootstrapParser._params_  s0    ""3'	 	fr-   c                 b   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R	                  S5        S S S 5        g ! , (       d  f       NQ= f! , (       d  f       N9= f! , (       d  f       g = f)Nz|expecting one of: (?!\d)\w+(?:::(?!\d)\w+)+ <boolean><float> <hex> <int> <literal> <null><path> <raw_string> <string> <word>)rG   rH   _path_r   rL   r=   s    r+   r   !EBNFBootstrapParser._first_param_  sf    \\^     KK6 ^ ^9   B A>B BB >
B	B 
B	B  
B.c                 @   ^  U 4S jnU 4S jnT R                  X!5        g )Nc                  (   > T R                  S5        g )Nr   rd   r=   s   r+   sep0,EBNFBootstrapParser._kwparams_.<locals>.sep0      KKr-   c                  &   > T R                  5         g r.   )_pair_r=   s   r+   rS   .EBNFBootstrapParser._kwparams_.<locals>.block1  s    KKMr-   _positive_gatherr'   r   rS   s   `  r+   r   EBNFBootstrapParser._kwparams_  s    		f+r-   c                     U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  5         U R                  S5        g )Nrv   rx   )rk   rJ   rd   rf   r   r=   s    r+   r   EBNFBootstrapParser._pair_  sF    ""3'C		""3'r-   c                 b   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R	                  S5        S S S 5        g ! , (       d  f       NQ= f! , (       d  f       N9= f! , (       d  f       g = f)Nz;expecting one of: '|' <choice> <element> <option><sequence>)rG   rH   _choice_
_sequence_rL   r=   s    r+   r   EBNFBootstrapParser._expre_  sf    \\^  !  KK ^ ^r   Choicec                   ^  T R                  5          T R                  S5        T R                  5         S S S 5        T R                  5         T R	                  S5        U 4S jnT R                  U5        g ! , (       d  f       NG= f)N|rv   c                     > T R                  S5        T R                  5         T R                  5         T R                  S5        g )Nr   rv   )rd   rf   _option_rJ   r=   s   r+   rM   ,EBNFBootstrapParser._choice_.<locals>.block0  s/    KKIIKMMO&&s+r-   )r   rd   rf   r   rJ   rq   rr   s   ` r+   r   EBNFBootstrapParser._choice_  s^    ^^KKIIK  	""3'	,
 	v& s   "A55
BOptionc                 F    U R                  5         U R                  S5        g Nrv   )r   rV   r=   s    r+   r   EBNFBootstrapParser._option_  s    C r-   Sequencec                 V   ^  U 4S jnT R                  U5        T R                  S5        g )Nc                  &   > T R                  5         g r.   )	_element_r=   s   r+   rM   .EBNFBootstrapParser._sequence_.<locals>.block0  s    NNr-   sequence)rq   rV   rr   s   ` r+   r   EBNFBootstrapParser._sequence_  s$    	v&J'r-   c                 J   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R	                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ns= f! , (       d  f       N[= f! , (       d  f       g = f)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>)rG   rH   _rule_include__named_
_override__term_rL   r=   s    r+   r   EBNFBootstrapParser._element_  s    \\^##%    !    KK
  ^ ^si   DCDC!D4C2DD.D
C	D!
C/	+D2
D 	<D
D	D
D"RuleIncludec                     U R                  S5        U R                  5         U R                  5         U R                  S5        g )N>rv   )rd   rf   r   rV   r=   s    r+   r   "EBNFBootstrapParser._rule_include_  s1    C		C r-   c                 b   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R	                  S5        S S S 5        g ! , (       d  f       NQ= f! , (       d  f       N9= f! , (       d  f       g = f)Nz4expecting one of: <name> <named_list> <named_single>)rG   rH   _named_list__named_single_rL   r=   s    r+   r   EBNFBootstrapParser._named_  sk    \\^!!#  ##%  KK5 ^ ^r   	NamedListc                     U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  5         U R                  S5        U R                  SS// 5        g )Nr]   z+:r   r   rV   rd   rf   r   rY   r=   s    r+   r    EBNFBootstrapParser._named_list_  sW    F#D		E"eV_b)r-   Namedc                     U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  5         U R                  S5        U R                  SS// 5        g )Nr]   rw   r   r   r=   s    r+   r   "EBNFBootstrapParser._named_single_  sW    F#C		E"eV_b)r-   c                    U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R	                  5         S S S 5        U R                  S5        S S S 5        g ! , (       d  f       Nz= f! , (       d  f       Nb= f! , (       d  f       NJ= f! , (       d  f       g = f)Nz]expecting one of: '@' '@+:' '@:' <override_list><override_single><override_single_deprecated>)rG   rH   _override_list__override_single__override_single_deprecated_rL   r=   s    r+   r   EBNFBootstrapParser._override_  s    \\^$$&  &&(  113  KK/ ^ ^sQ   CB'CB8C4C	C'
B5	1C8
C	C	
C	C
C(OverrideListc                     U R                  S5        U R                  5         U R                  5         U R                  S5        g )Nz@+:rv   rd   rf   r   rV   r=   s    r+   r   #EBNFBootstrapParser._override_list_+  s.    E		C r-   Overridec                     U R                  S5        U R                  5         U R                  5         U R                  S5        g )Nz@:rv   r   r=   s    r+   r   %EBNFBootstrapParser._override_single_2  .    D		C r-   c                     U R                  S5        U R                  5         U R                  5         U R                  S5        g r   r   r=   s    r+   r   0EBNFBootstrapParser._override_single_deprecated_9  .    C		C r-   c                 d   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R	                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R!                  5         S S S 5        U R#                  S5        S S S 5        g ! , (       d  f       GNg= f! , (       d  f       GNP= f! , (       d  f       GN9= f! , (       d  f       GN"= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNj= f! , (       d  f       GNS= f! , (       d  f       GN<= f! , (       d  f       GN%= f! , (       d  f       g = f)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>)rG   rH   _void__gather__join__left_join__right_join__group__empty_closure__positive_closure_	_closure_
_optional_	_special_	_skip_to__lookahead__negative_lookahead__atom_rL   r=   s    r+   r   EBNFBootstrapParser._term_@  s   \\^        "  !!#    $$&  '')     !          "  ))+    KK	+? ^; ^sq  N!JN!J%N!4J7N!K	.N!KN!/K- N!K?)N!LN!*L#;N!L5$N!<MN!%M6N!M+N!7M=N! N1N!
J"	N!%
J4	/N!7
K	N!	
K	N!
K*	%N!-
K<	7N!?
L		N!
L 	N!#
L2	-N!5
M	?N!
M	N!
M(	#N!+
M:	5N!=
N	N!
N	N!!
N/Groupc                     U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  S// 5        g )Nr}   r   r   )rd   rf   r   rV   rY   r=   s    r+   r   EBNFBootstrapParser._group_n  sS    C		E"C		eWb!r-   c                    U R                  5          U R                  5          U R                  5         U R                  S5        S S S 5        S S S 5        U R	                  5         U R                  5          U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  S5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       Nc= f! , (       d  f       N[= f! , (       d  f       g = f)N.{z3expecting one of: <normal_gather> <positive_gather>)
_ifrg   _separator_rd   rf   rG   rH   _positive_gather__normal_gather_rL   r=   s    r+   r   EBNFBootstrapParser._gather_x  s    XXZ  "D!   			[[]\\^**, $\\^((* $8   ]	  Z $^#^   ]v   D"C:D4ED>D'D>?D-D>)E:
D	D
D
D*&D>-
D;7D>>
E	E
EPositiveGatherc                    U R                  5         U R                  S5        U R                  S5        U R                  5         U R                  S5        U R                  S5        U R	                  5          U R                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  5         U R                  SS// 5        g ! , (       d  f       N~= f! , (       d  f       Ne= f! , (       d  f       N]= f! , (       d  f       Nf= f)Nsepr  r   }+-expecting one of: '+' '-'
r  rV   rd   r   rg   rG   rH   rL   rf   rY   r=   s    r+   r  %EBNFBootstrapParser._positive_gather_      E"DE"C[[]\\^KK$ $\\^KK$ $    			eU^R( $^#^   ]T   5EED!)ED2E,E!
D/+E2
E <E
E	E
E"Gatherc                    U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  5         U R                  S5        U R                  S5        U R                  5          U R                  S5        U R                  5         S S S 5        U R                  5         U R                  SS// 5        g ! , (       d  f       N3= f)Nr  r  r   r  *r  rV   rd   rf   r   r   rY   r=   s    r+   r  #EBNFBootstrapParser._normal_gather_      E"D		E"C^^KKIIK  			eU^R(	    "C
C"c                    U R                  5          U R                  5          U R                  5         U R                  S5        S S S 5        S S S 5        U R	                  5         U R                  5          U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  S5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       Nc= f! , (       d  f       N[= f! , (       d  f       g = f)N%{z/expecting one of: <normal_join> <positive_join>)
r  rg   r  rd   rf   rG   rH   _positive_join__normal_join_rL   r=   s    r+   r   EBNFBootstrapParser._join_  s    XXZ  "D!   			[[]\\^((* $\\^&&( $4   ]	  Z $^#^   ]r  PositiveJoinc                    U R                  5         U R                  S5        U R                  S5        U R                  5         U R                  S5        U R                  S5        U R	                  5          U R                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  5         U R                  SS// 5        g ! , (       d  f       N~= f! , (       d  f       Ne= f! , (       d  f       N]= f! , (       d  f       Nf= f)Nr  r  r   r  r  r  r  r  r=   s    r+   r  #EBNFBootstrapParser._positive_join_  r  r  Joinc                    U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  5         U R                  S5        U R                  S5        U R                  5          U R                  S5        U R                  5         S S S 5        U R                  5         U R                  SS// 5        g ! , (       d  f       N3= f)Nr  r  r   r  r  r  r=   s    r+   r  !EBNFBootstrapParser._normal_join_  r  r  LeftJoinc                    U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  5         U R                  S5        U R                  S5        U R                  5          U R                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  5         U R                  SS// 5        g ! , (       d  f       N~= f! , (       d  f       Ne= f! , (       d  f       N]= f! , (       d  f       Nf= f)Nr  z<{r   r  r  r  r  
r  rV   rd   rf   r   rg   rG   rH   rL   rY   r=   s    r+   r   EBNFBootstrapParser._left_join_      E"D		E"C[[]\\^KK$ $\\^KK$ $    			eU^R( $^#^   ]T   E$E'D19EE#E<E$1
D?;E
EE
E!	E$$
E2	RightJoinc                    U R                  5         U R                  S5        U R                  S5        U R                  5         U R	                  5         U R                  S5        U R                  S5        U R                  5          U R                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  5         U R                  SS// 5        g ! , (       d  f       N~= f! , (       d  f       Ne= f! , (       d  f       N]= f! , (       d  f       Nf= f)Nr  z>{r   r  r  r  r  r(  r=   s    r+   r    EBNFBootstrapParser._right_join_  r*  r+  c                    U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R	                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nl= f! , (       d  f       g = f)Nzhexpecting one of: '(' '/./' '`' <any> <constant> <group><pattern> <raw_string> <regexes><string> <token>)rG   rH   r   _token_
_constant__any_	_pattern_rL   r=   s    r+   r  EBNFBootstrapParser._separator_  s    \\^    !  

     KK# ^ ^s   EC9ED
E4DED,.ED=E9
D	E

D	E
D)	%E,
D:	6E=
E	E
EPositiveClosurec                 `   U R                  S5        U R                  5         U R                  S5        U R                  S5        U R                  5          U R	                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        U R                  5         g ! , (       d  f       Nj= f! , (       d  f       NQ= f! , (       d  f       NI= f! , (       d  f       NR= f)N{rv   r  r  r  r  )rd   r   rV   rg   rG   rH   rL   rf   r=   s    r+   r   &EBNFBootstrapParser._positive_closure_$  s    CC C[[]\\^KK$ $\\^KK$ $    			 $^#^   ]sT   D%D6C,D C=2DD,
C:6D=
DD
D	D
D-Closurec                     U R                  S5        U R                  5         U R                  S5        U R                  S5        U R                  5          U R                  S5        S S S 5        U R	                  5         g ! , (       d  f       N= f)Nr7  rv   r  r  )rd   r   rV   r   rf   r=   s    r+   r   EBNFBootstrapParser._closure_6  s^    CC C^^KK 		 s   A??
BEmptyClosurec                     U R                  S5        U R                  5         U R                  S5        U R                  S5        g )Nr7  rv   r  )rd   _voidrV   r=   s    r+   r   #EBNFBootstrapParser._empty_closure_@  s1    C

C Cr-   Optionalc                     U R                  S5        U R                  5         U R                  5         U R                  S5        U R                  S5        U R                  5         g )N[rv   ])rd   rf   r   rV   r=   s    r+   r   EBNFBootstrapParser._optional_G  sC    C		C C		r-   Specialc                     U R                  S5        U R                  5         U R                  S5        U R                  S5        U R                  S5        U R                  5         g )Nz?(z.*?(?!\)\?)rv   z)?)rd   rf   _patternrV   r=   s    r+   r   EBNFBootstrapParser._special_P  sF    D		o&C D		r-   	Lookaheadc                     U R                  S5        U R                  5         U R                  5         U R                  S5        g )N&rv   r   r=   s    r+   r   EBNFBootstrapParser._lookahead_Y  r   r-   NegativeLookaheadc                     U R                  S5        U R                  5         U R                  5         U R                  S5        g )N!rv   r   r=   s    r+   r   (EBNFBootstrapParser._negative_lookahead_`  r   r-   SkipToc                     U R                  S5        U R                  5         U R                  5         U R                  S5        g )Nz->rv   r   r=   s    r+   r   EBNFBootstrapParser._skip_to_g  r   r-   c                 "   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R	                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  S5        S S S 5        g ! , (       d  f       GNH= f! , (       d  f       GN1= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzexpecting one of: '$' '>>' '`' '~' <alert> <call><constant> <cut> <cut_deprecated> <eof><pattern> <raw_string> <regexes><string> <token> <word> \^+)rG   rH   _cut__cut_deprecated_r0  _alert_r1  _call_r3  _eof_rL   r=   s    r+   r   EBNFBootstrapParser._atom_n  s   \\^

  %%'      !       

  KK/# ^ ^   H E4H FH 4FH F*.H F<H /G H G)H G/H 4
F	>H 
F	H 
F'	"H *
F9	4H <
G
	H 
G	H 
G,	(H /
G=	9H  
HRuleRefc                 $    U R                  5         g r.   rk   r=   s    r+   rX  EBNFBootstrapParser._call_      r-   Voidc                 F    U R                  S5        U R                  5         g )Nz()rd   rf   r=   s    r+   r   EBNFBootstrapParser._void_      D		r-   Cutc                 F    U R                  S5        U R                  5         g )N~rc  r=   s    r+   rU  EBNFBootstrapParser._cut_      C		r-   c                 F    U R                  S5        U R                  5         g )Nz>>rc  r=   s    r+   rV  $EBNFBootstrapParser._cut_deprecated_  re  r-   c                 D    U R                  5         U R                  5         g r.   )r   rf   r=   s    r+   r    EBNFBootstrapParser._known_name_  s    		r-   c                 $    U R                  5         g r.   r^  r=   s    r+   r   EBNFBootstrapParser._name_  r`  r-   Constantc                    U R                  5          U R                  S5        S S S 5        U R                  5          U R                  5          U R	                  5          U R                  S5        S S S 5        U R	                  5          U R                  S5        U R                  5         U R                  S5        U R                  S5        S S S 5        U R	                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N}= f! , (       d  f       Nd= f! , (       d  f       N\= f! , (       d  f       g = f)N`z(?ms)```((?:.|\n)*?)```rv   z`(.*?)`z5expecting one of: '`' (?ms)```((?:.|\n)*?)``` `(.*?)`)	r  rd   rg   rG   rH   rG  r   rV   rL   r=   s    r+   r1  EBNFBootstrapParser._constant_  s    XXZKK [[]\\^MM"<= $\\^KK$NN$'',KK$	 $
 \\^MM), $;   ] Z $^#^
 $^   ]sw   DE5E$D1/E$AEE$#E5E$E5
D.1
D?;E$
EE$
E!E$$
E2	.E55
FAlertc                     U R                  S5        U R                  S5        U R                  5         U R                  S5        U R                  SS// 5        g )Nz\^+levelmessage)rG  rV   r1  rY   r=   s    r+   rW  EBNFBootstrapParser._alert_  sG    fG$I&gy)2.r-   Tokenc                 b   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R	                  S5        S S S 5        g ! , (       d  f       NQ= f! , (       d  f       N9= f! , (       d  f       g = f)Nz2expecting one of: <STRING> <raw_string> <string> r)rG   rH   ri   _raw_string_rL   r=   s    r+   r0  EBNFBootstrapParser._token_  sh    \\^  !!#  KK3 ^ ^r   c                 "   U R                  5          U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R	                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  5          U R                  5         S S S 5        U R                  S5        S S S 5        g ! , (       d  f       GNH= f! , (       d  f       GN1= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)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)rG   rH   ri   r|  rj   rk   _hex__float__int__null_rL   r=   s    r+   r   EBNFBootstrapParser._literal_  s   \\^  !!#       

    

    KK(# ^ ^r[  c                 $    U R                  5         g r.   )_STRING_r=   s    r+   ri   EBNFBootstrapParser._string_  s    r-   c                 h    U R                  S5        U R                  5         U R                  S5        g )Nrrv   )rG  r  rV   r=   s    r+   r|   EBNFBootstrapParser._raw_string_  s%    cC r-   c                    U R                  5          U R                  5          U R                  S5        U R                  S5        U R	                  5         S S S 5        U R                  5          U R                  S5        U R                  S5        U R	                  5         S S S 5        U R                  S5        S S S 5        g ! , (       d  f       Ns= f! , (       d  f       N9= f! , (       d  f       g = f)Nz"((?:[^"\n]|\\"|\\\\)*?)"rv   z'((?:[^'\n]|\\'|\\\\)*?)'z>expecting one of: "((?:[^"\n]|\"|\\)*?)"'((?:[^'\n]|\'|\\)*?)')rG   rH   rG  rV   rf   rL   r=   s    r+   r  EBNFBootstrapParser._STRING_  s    \\^@A##C(		   @A##C(		   KK- ^   ^s:   C$3CC$-3C C$
C	C$
C!	C$$
C2c                 &    U R                  S5        g )Nz0[xX](?:\d|[a-fA-F])+rG  r=   s    r+   r  EBNFBootstrapParser._hex_  s    ./r-   c                 &    U R                  S5        g )Nz+[-+]?(?:\d+\.\d*|\d*\.\d+)(?:[Ee][-+]?\d+)?r  r=   s    r+   r  EBNFBootstrapParser._float_	  s    JKr-   c                 &    U R                  S5        g )Nz[-+]?\d+r  r=   s    r+   r  EBNFBootstrapParser._int_  s    k"r-   c                 &    U R                  S5        g )Nz(?!\d)\w+(?:::(?!\d)\w+)+r  r=   s    r+   r   EBNFBootstrapParser._path_  s    56r-   c                 &    U R                  S5        g )Nz	(?!\d)\w+r  r=   s    r+   rk   EBNFBootstrapParser._word_  s    m$r-   Anyc                 &    U R                  S5        g )Nz/./r   r=   s    r+   r2  EBNFBootstrapParser._any_  s    Er-   Patternc                 $    U R                  5         g r.   )	_regexes_r=   s    r+   r3  EBNFBootstrapParser._pattern_  r@   r-   c                 @   ^  U 4S jnU 4S jnT R                  X!5        g )Nc                  (   > T R                  S5        g )Nr  r   r=   s   r+   r   +EBNFBootstrapParser._regexes_.<locals>.sep0$  r   r-   c                  &   > T R                  5         g r.   )rh   r=   s   r+   rS   -EBNFBootstrapParser._regexes_.<locals>.block1'  s    LLNr-   r   r   s   `  r+   r  EBNFBootstrapParser._regexes_!  s    		f+r-   c                 j   U R                  5          U R                  5          U R                  S5        U R                  5         U R	                  S5        U R                  S5        U R                  S5        U R                  5         S S S 5        U R                  5          U R                  S5        U R                  5         U R	                  S5        U R                  S5        U R	                  S5        U R                  5         S S S 5        U R                  5          U R                  S5        U R                  5         U R                  S5        S S S 5        U R                  S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NJ= f! , (       d  f       g = f)	N/z(?:[^/\\]|\\/|\\.)*rv   z?/z(?:.|\n)*?(?=/\?)z/\?+?zexpecting one of: '/' '?' '?/')rG   rH   rd   rf   rG  rV   r  rL   r=   s    r+   rh   EBNFBootstrapParser._regex_+  s   \\^C 		9:##C(C 		   D!		34##C(g&		   C ##C(   KK' ^     ^sT   F$A%E1F$A%FF$3FF$1
E?	;F$
F	F$
F!	F$$
F2c                 f   U R                  5          U R                  5          U R                  S5        S S S 5        U R                  5          U R                  S5        S S S 5        U R                  S5        S S S 5        g ! , (       d  f       NR= f! , (       d  f       N9= f! , (       d  f       g = f)NTruera   z expecting one of: 'False' 'True')rG   rH   rd   rL   r=   s    r+   rj   EBNFBootstrapParser._boolean_E  sk    \\^F#  G$  KK! ^ ^s9   B"B B"BB" 
B	
B"
B	B""
B0c                 &    U R                  S5        g )Nr`   r   r=   s    r+   r  EBNFBootstrapParser._null_Q  s    Fr-   EOFc                 F    U R                  S5        U R                  5         g )N$rc  r=   s    r+   rY  EBNFBootstrapParser._eof_U  rj  r-   r!   r.   )Or/   r0   r1   r2   r
   r&   r   r>   r<   rI   ro   rK   r   rR   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   rX  r   rU  rV  r   r   r1  rW  r0  r   ri   r|  r  r  r  r  r   rk   r2  r3  r  rh   rj   r  rY  r3   r4   r5   s   @r+   r7   r7   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-   r7   c                     U (       a  U S:X  a  [         R                  R                  5       nO[        U 5      R	                  5       n[        5       nUR                  " U4SU 0UD6$ )Nr  filename)sysstdinreadr   	read_textr7   parse)r  kwargsr(   parsers       r+   mainr  [  s[    x3yy~~H~'') "F<<  r-   __main__)asjsonEBNFBootstrap)r]      )indent)r  pathlibr   tatsu.bufferingr   tatsu.parsingr   r   r   r   r	   tatsu.infosr
   
tatsu.utilr   r   setr   str__annotations__r   r7   r  r/   jsonr  astdataprintdumpsr!   r-   r+   <module>r     s      "   # 1 1 $ ' U#c( .& .(h& hV!
 z!
t0
GC#;D	$**T!
$% r-   