python (3.12.0)

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

̑e	dZddlZddlmZmZmZmZmZmZddl	m
Z
ddl	mZGddeZ
d	ZGd
deZej"ej$ej&ddZd
ZdZdZy)z#Guido van Rossum <guido@python.org>N)driverliteralstokentokenizeparsegrammar)pytree)pygramceZdZy)PatternSyntaxErrorN)__name__
__module____qualname__C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/lib2to3/patcomp.pyr
r
srr
c#K	tjtjtjh}t	j
t
j|j}|D]}|\}}}}}||vs|ywN)	rNEWLINEINDENTDEDENTrgenerate_tokensioStringIOreadline)	inputskiptokens	quintupletypevaluestartend	line_texts	         rtokenize_wrapperr&sl@MM5<<6D

%
%bkk%&8&A&A
BF	-6*eUCtOsA4A>7A>c0eZdZddZddZdZddZdZy)	PatternCompilerNc	|+tj|_tj|_n>tj||_tj|j|_tj|_	tj|_tj|jt|_y)N)convert)rpattern_grammarr	pattern_symbolssymsrload_grammarSymbolspython_grammar	pygrammarpython_symbolspysymsDriverpattern_convert)selfgrammar_files  r__init__zPatternCompiler.__init__(s	!11DL..DI!..|<DLt||4DI..++mmDLL/Jrc	t|}	|jj||}|r|j||fS|j|S#tj$r}tt
|dd}~wwxYw)N)debug)r&rparse_tokensr
ParseErrorr
strcompile_node)r6rr:	with_treerrootes       rcompile_patternzPatternCompiler.compile_pattern7sK!%(	7;;++F%+@D$$T*D00$$T**	7$SV,$6	7sAA>$A99A>c	|j|jjk(r|jd}|j|jjk(rx|jdddDcgc]}|j|}}t
|dk(r|dStj|Dcgc]}|gc}dd}|jS|j|jjk(rd|jDcgc]}|j|}}t
|dk(r|dStj|gdd}|jS|j|jjk(rC|j|jdd}tj|}|jSd}|j}	t
|	dk\r4|	djtjk(r|	dj }|	dd}	d}
t
|	dk\r0|	dj|jj"k(r
|	d}
|	dd}	|j|	|
}|
|
j}|d}|jtj$k(rd}
tj&}n|jtj(k(rd}
tj&}nV|jtj*k(r9|j-|dx}
}t
|dk(r|j-|d}	
dk7sdk7r*|j}tj|gg|
}|||_|jScc}wcc}wcc}w)Nrrminmax)r!r-MatcherchildrenAlternativesr>lenr
WildcardPatternoptimizeAlternativeNegatedUnit
compile_basicNegatedPatternrEQUALr"RepeaterSTARHUGEPLUSLBRACEget_intname)r6nodechaltsapunitspatternr\nodesrepeatrLchildrFrGs               rr>zPatternCompiler.compile_nodeCs	99		)))==#D99		...48MM#A#4FGbD%%b)GDG4yA~Aw&&T':':qIA::<99		---59]]CrT&&r*CEC5zQQx&&wA1=A::<99		---((qr):;G%%g.A::<

u:?uQx}};8>>D!"IEu:?uRy~~1C1CC2YF#2JE$$UF3HQKEzzUZZ'kkuzz)kku||+!LL!55cx=A%,,x{3Cax3!8!**, 007)#3OGL!!sH(;Ds+M4+
M9M>c|d}|jtjk(rGtt	j
|j}tjt||S|jtjk(r|j}|jrB|tvrtd|z|ddrtdtjt|S|dk(rd}n8|jds't|j |d}|td|z|ddr#|j#|dj$dg}nd}tj&|S|jdk(r|j#|dS|jd	k(r.|j#|d}tj(|ggdd
Sy)NrzInvalid token: %rrzCan't have details for tokenany_zInvalid symbol: %r([rE)r!rSTRINGr=r
evalStringr"r
LeafPattern_type_of_literalNAMEisupper	TOKEN_MAPr

startswithgetattrr3r>rLNodePatternrO)r6rdrer]r"r!content
subpatterns        rrSzPatternCompiler.compile_basicsQx99$++DJJ78E%%&6u&=uEE
YY%**
$JJE}}	),-@5-HII9,-KLL)))E*:;;E>D))#."4;;t<D|01E1MNN9#00q1B1B11EFGG"G))$88
ZZ3
$$U1X..
ZZ3
**584J))J<.aQGGrc,t|jSr)intr")r6r]s  rr[zPatternCompiler.get_ints4::rr)FF)rrrr8rBr>rSr[rrrr(r(&s
K
+E"N!Frr()rprlNUMBERTOKENc|djrtjS|tjvrtj|Sy)Nr)isalpharrpr	opmap)r"s rroros:Qxzz	'--	}}U##rc	|\}}}}|s||jvrtj|||Stj|||S)N)context)
number2symbolr
NodeLeaf)r	
raw_node_infor!r"rrLs      rr5r5sIC%2"D%(47000{{47;;{{488rc4tj|Sr)r(rB)rcs rrBrBs,,W55r)
__author__rpgen2rrrrrr	r
r	Exceptionr
r&objectr(rprlrzrrror5rBrrr<module>rsw3

ED		IfIZZZ||||
	96r