python (3.12.0)

(root)/
lib/
python3.12/
lib2to3/
pgen2/
__pycache__/
pgen.cpython-312.opt-2.pyc

̑e6ddlmZmZmZGddejZGddeZGddeZGdd	eZ	dd
Z
y)
)grammartokentokenizeceZdZy)PgenGrammarN)__name__
__module____qualname__F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/lib2to3/pgen2/pgen.pyrrsrrc|eZdZddZdZdZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZdZdZdZddZdZdZy)ParserGeneratorNc<d}|t|d}|j}||_||_t	j
|j|_|j|j\|_
|_||i|_|jy)Nzutf-8)encoding)openclosefilenamestreamrgenerate_tokensreadline	generatorgettokenparsedfasstartsymbolfirstaddfirstsets)selfrrclose_streams    r
__init__zParserGenerator.__init__s>(W5F!<<L 
!11&//B

&*jjl#	4##N
rc	t}t|jj}|j	|j|j|jd|j|D]8}dt|jz}||j|<||j|<:|D]}|j|}g}|D]}g}t|jjD]7\}	}
|j|j||	|j!|
f9|j"r"|jd|j!|f|j||j$j|||j'||f|j|j|<|j|j|_|S)N)rlistrkeyssortremoverinsertlen
symbol2number
number2symbolsortedarcsitemsappend
make_labelindexisfinalstates
make_firststart)rcnamesnameidfar4stater.labelnexts           r
make_grammarzParserGenerator.make_grammarsMTYY^^%&


T%%&
Q(()	&Dc!//**A$%AOOD!!%AOOA	&	OD))D/CF
$#)%***:*:*<#=NKE4KKE!:CIIdO LMN==KKCIIe$4 56

d#

$
HHOOF#-3T__Q5M,NAFF1??4()	O//$"2"23rcv|j|}i}t|D]}|j||}d||<|SNr)rr-r1)rr7r9rawfirstrr=ilabels       r
r5zParserGenerator.make_first4sI::d#H%	E__Q.FE&M	rct|j}|djr||jvrX||jvr|j|S|jj|j|df||j|<|St
t|d}||jvr|j|S|jj|df||j|<|St|}|djrY||jvr|j|S|jjtj|f||j|<|Stj|}||jvr|j|S|jj|df||j|<|SNr#)r*labelsisalphar+symbol2labelr0getattrrtokensevalkeywordsNAMEropmap)rr7r=rCitokenvalues      r
r1zParserGenerator.make_label=sQXX8'ANN*>>%00HHOOQ__U%;T$BC,2ANN5)!M!t4QXX%88F++HHOOVTN3'-AHHV$!MKEQx!AJJ&::e,,HHOOUZZ$78(.AJJu%!M!u-QXX%88F++HHOOVTN3'-AHHV$!Mrct|jj}|j|D]"}||jvs|j|$yN)r%rr&r'r	calcfirst)rr8r9s   r
rzParserGenerator.addfirstsetsksGTYY^^%&

	%D4::%t$	%rc
8|j|}d|j|<|d}i}i}|jjD]\}}||jvrd||jvr|j|}|.t	d|z|j||j|}|j
||||<xd||<|di||<i}	|jD]/\}}
|
D]%}||	vrt	d|d|d|d|	|||	|<'1||j|<y)Nr#zrecursion for rule %rrzrule z is ambiguous; z is in the first sets of z as well as )rrr.r/
ValueErrorrSupdate)rr9r;r<totalsetoverlapcheckr=r>fsetinverseitsfirstsymbols            r
rSzParserGenerator.calcfirstssJiio

4A ::++-
	1KE4		!DJJ&::e,D|()@4)GHHNN5)::e,D%&*U#"#',ajU#
	1+113	(OE8"
(W$$&*FE76?&LMM#(
(	($

4rci}d}|jtjk7r|jtjk(r.|j	|jtjk(r.|jtj}|jtjd|j\}}|jtj|j||}t|}|j|t|}|||<||}|jtjk7r||fS)N:)typer	ENDMARKERNEWLINErexpectrMOP	parse_rhsmake_dfar*simplify_dfa)	rrrr9azr;oldlennewlens	         r
rzParserGenerator.parsesii5??*))u}},

))u}},;;uzz*DKK#&>>#DAqKK

&--1%CXFc"XFDJ""#ii5??*$[  rc
fd}fdt|||g}|D]}i}|jD]2}|jD]!\}}	|	|	|j|i#4t	|jD]L\}}
|D]}|j|
k(snt|
|}|j
||j||N|S)Nci}|||SrRr)r<base
addclosures  r
closurez)ParserGenerator.make_dfa.<locals>.closuresDud#KrcZ||vryd||<|jD]\}}|	||yrAr.)r<rmr=r>rns    r
rnz,ParserGenerator.make_dfa.<locals>.addclosures<}DK$zz
+t=tT*
+r)DFAStatenfasetr.
setdefaultr-r/r0addarc)
rr6finishror4r<r.nfastater=r>rsstrns
            @r
rezParserGenerator.make_dfas		+75>623
	(ED!LL
E#+==EKE4("4)CDE
E"(

!5
(
v &ByyF*&"&&1BMM"%R'
(

	(
rcDtd||g}t|D]\}}td|||uxrdxsd|jD]X\}}||vr|j|}	nt	|}	|j||td|	zItd||	fzZy)NzDump of NFA for  State(final)z	    -> %d    %s -> %d)print	enumerater.r2r*r0)
rr9r6rvtodor:r<r=r>js
          r
dump_nfazParserGenerator.dump_nfas
&w!$	7HAu)Q =I CD$zz	
7t4<

4(AD	AKK%=+/*.E1:56	
7	7rc	td|t|D]n\}}td||jxrdxsdt|jjD]$\}}td||j
|fz&py)NzDump of DFA forrzr{r|r})r~rr3r-r.r/r2)rr9r;r:r<r=r>s       r
dump_dfazParserGenerator.dump_dfas
&!#	AHAu)Q

 ;) ArB%ejj&6&6&89
Atnsyy'??@
A	Arcd}|r`d}t|D]L\}}t|dzt|D],}||}||k(s||=|D]}|j||d}LN|r_yy)NTFr)rranger*
unifystate)rr;changesr:state_irstate_jr<s        r
rfzParserGenerator.simplify_dfasG'n	

7qsCH-A!!fG')F%(?E!,,Wg>?"&	
rc|j\}}|jdk7r||fSt}t}|j||j||jdk(rU|j	|j\}}|j||j||jdk(rU||fS)N|)	parse_altrPNFAStaterur)rrgrhaazzs     r
rdzParserGenerator.parse_rhss~~1::a4KBBIIaL
HHRL**#

~~'1		!	**#
r6Mrch|j\}}|jdvs,|jtjtj
fvrb|j\}}|j
||}|jdvr5|jtjtj
fvrb||fS)N)([)
parse_itemrPr_rrMSTRINGru)rrgbr7ds     r
rzParserGenerator.parse_alt
s 1zzZ'yyUZZ66??$DAq
HHQKA	zzZ'yyUZZ66!trcz|jdk(rX|j|j\}}|jtj
d|j
|||fS|j\}}|j}|dvr||fS|j|j
||dk(r||fS||fS)Nr])+*r)rPrrdrbrrcru
parse_atom)rrgrhrPs    r
rzParserGenerator.parse_items::MMO>>#DAqKK#&
HHQKa4K??$DAqJJEJ&!tMMO
HHQK|!t!trc|jdk(rG|j|j\}}|jtj
d||fS|jtjtjfvrDt}t}|j||j|j||fS|jd|j|jy)Nr)z+expected (...) or NAME or STRING, got %s/%s)rPrrdrbrrcr_rMrrruraise_error)rrgrhs   r
rzParserGenerator.parse_atom(s::MMO>>#DAqKK#&a4K
YY5::u||4
4
A
A
HHQ

#MMOa4KJ!YY


4rc|j|k7s|8|j|k7r)|jd|||j|j|j}|j|S)Nzexpected %s/%s, got %s/%s)r_rPrr)rr_rPs   r
rbzParserGenerator.expect9sX99!2tzzU7J8!5$))TZZ
A



rc0t|j}|dtjtjfvr;t|j}|dtjtjfvr;|\|_|_|_|_|_	yrE)
r>rrCOMMENTNLr_rPbeginendline)rtups  r
rzParserGenerator.gettokenAsp4>>"!f))8;;77t~~&C!f))8;;77AD>	4:tz48TYrc
|r	||z}t	||j
|jd|jd|jf#dj|gttt|z}YnxYw)N r#r)joinr%mapstrSyntaxErrorrrr)rmsgargss   r
rzParserGenerator.raise_errorHsq
=Dj#

txx{ $TYY 89	9
=hhutCTN';;<sA.A7rR)rr	r
r!r?r5r1rrSrrerrrfrdrrrrbrrrrr
rr
s`
2,"\%$<!0"H7 A*"(4"E9rrceZdZdZddZy)rcg|_yrRrq)rs r
r!zNFAState.__init__Ss		rNc>|jj||fyrR)r.r0rr>r=s   r
ruzNFAState.addarcVs	
		%'rrR)rr	r
r!rurrr
rrQs(rrc(eZdZdZdZdZdZdZy)rrc2||_||v|_i|_yrR)rsr3r.)rrsfinals   r
r!zDFAState.__init__]s	rc"||j|<yrRrqrs   r
ruzDFAState.addarces 		%rcp|jjD]\}}||us||j|<yrR)r.r/)roldnewr=r>s     r
rzDFAState.unifystateks599??,	'KE4s{#&		% 	'rc|j|jk7ryt|jt|jk7ry|jjD]$\}}||jj	|us$yy)NFT)r3r*r.r/get)rotherr=r>s    r
__eq__zDFAState.__eq__pso<<5==(tyy>S_,99??,	KE45::>>%00	rN)rr	r
r!rurr__hash__rrr
rrrr[s '
Hrrrc8t|}|jSrR)rr?)rps  r
generate_grammarrs!A>>rN)zGrammar.txt)r|rrrGrammarrobjectrrrrrrrr
<module>rsJ
'&	'//	E9fE9N
(v(#v#Jr