/opt/alt/python311/lib64/python3.11/lib2to3/__pycache__
Edit: /opt/alt/python311/lib64/python3.11/lib2to3/__pycache__/patcomp.cpython-311.pyc (10725B)
§
šp°
aUã óÊ — d Z dZddlZddlmZmZmZmZmZm Z ddl
mZ ddl
mZ G d„ d e
¦ « Zd
„ Z G d„ de¦ « Zej ej ej dd
œZd„ Zd„ Zd„ ZdS )z�Pattern compiler.
The grammar is taken from PatternGrammar.txt.
The compiler compiles a pattern to a pytree.*Pattern instance.
z#Guido van Rossum
é Né )ÚdriverÚliteralsÚtokenÚtokenizeÚparseÚgrammar)Úpytree)Úpygramc ó — e Zd ZdS )ÚPatternSyntaxErrorN)Ú__name__Ú
__module__Ú__qualname__© ó ú6/opt/alt/python311/lib64/python3.11/lib2to3/patcomp.pyr
r
s € € € € € Ø€Dr r
c # óÐ K — t j t j t j h}t j t
j | ¦ « j ¦ « }|D ]}|\ }}}}}||vr|V — ŒdS )z6Tokenizes a string suppressing significant whitespace.N) r ÚNEWLINEÚINDENTÚDEDENTr Úgenerate_tokensÚioÚStringIOÚreadline) ÚinputÚskipÚtokensÚ quintupleÚtypeÚvalueÚstartÚendÚ line_texts r Útokenize_wrapperr% ss è è € åŒM�5œ<¬Ð6€DÝ
Ô
%¥b¤k°%Ñ&8Ô&8Ô&AÑ
BÔ
B€FØð ð ˆ Ø-6Ñ*ˆˆe�U˜C Ø�tÐÐØˆOˆOˆOøðð r c ó2 — e Zd Zdd„Zd d„Zd„ Zdd„Zd„ ZdS )
ÚPatternCompilerNc óL — |€#t j | _ t j | _ n7t j |¦ « | _ t j | j ¦ « | _ t j | _ t j
| _ t j | j t ¬¦ « | _ dS )z^Initializer.
Takes an optional alternative filename for the pattern grammar.
N)Úconvert)r Úpattern_grammarr Úpattern_symbolsÚsymsr Úload_grammarÚSymbolsÚpython_grammarÚ pygrammarÚpython_symbolsÚpysymsÚDriverÚpattern_convert)ÚselfÚgrammar_files r Ú__init__zPatternCompiler.__init__( su € ð
ÐÝ!Ô1ˆDŒLÝÔ.ˆDŒIˆIå!Ô.¨|Ñ<Ô<ˆDŒLÝœ t¤|Ñ4Ô4ˆDŒIÝÔ.ˆŒÝÔ+ˆŒÝ”m D¤L½/ÐJÑJÔJˆŒˆˆr Fc ó — t |¦ « } | j ||¬¦ « }n4# t j $ r"}t t
|¦ « ¦ « d‚d}~ww xY w|r| |¦ « |fS | |¦ « S )z=Compiles a pattern string to a nested pytree.*Pattern object.)ÚdebugN)r% r Úparse_tokensr Ú
ParseErrorr
ÚstrÚcompile_node)r5 r r9 Ú with_treer ÚrootÚes r Úcompile_patternzPatternCompiler.compile_pattern7 s� € å! %Ñ(Ô(ˆð 7Ø”;×+Ò+¨F¸%Ð+Ñ@Ô@ˆDˆDøÝÔð 7ð 7ð 7Ý$¥S¨¡V¤VÑ,Ô,°$Ð6øøøøð 7øøøàð +Ø×$Ò$ TÑ*Ô*¨DÐ0Ð0à×$Ò$ TÑ*Ô*Ð*s ‘. ®A½AÁAc ó ‡ — |j ‰ j j k r
|j d }|j ‰ j j k rlˆ fd„|j ddd… D ¦ « }t |¦ « dk r|d S t
j d„ |D ¦ « dd¬¦ « }| ¦ « S |j ‰ j j k rZˆ fd„|j D ¦ « }t |¦ « dk r|d S t
j |gdd¬¦ « }| ¦ « S |j ‰ j j
k rJ‰ |j dd… ¦ « }t
j |¦ « }| ¦ « S |j ‰ j j
k sJ ‚d}|j }t |¦ « d k r2|d j t j k r|d j }|dd… }d}t |¦ « dk r-|d
j ‰ j j k r|d
}|dd
… }‰ ||¦ « }|��:|j ‰ j j k sJ ‚|j } | d }
|
j t j k rd}t j }n·|
j t j k rd}t j }n“|
j t j k r|| d
j t j k sJ ‚t | ¦ « dv sJ ‚‰ | d ¦ « x}}t | ¦ « dk r‰ | d ¦ « }nJ ‚|dk s|dk r-| ¦ « }t
j |gg||¬¦ « }|�||_ | ¦ « S )
zXCompiles a node, recursively.
This is one big switch on the node type.
r c ó: •— g | ]}‰ |¦ « ‘ŒS r ©r= ©Ú.0Úchr5 s €r ú
z0PatternCompiler.compile_node..O s' ø€ ÐGÐGÐG¨b�D×%Ò% bÑ)Ô)ÐGÐGÐGr Né r c ó — g | ]}|g‘ŒS r r )rF Úas r rH z0PatternCompiler.compile_node..R s € Ð':Ð':Ð':°¨¨Ð':Ð':Ð':r ©ÚminÚmaxc ó: •— g | ]}‰ |¦ « ‘ŒS r rD rE s €r rH z0PatternCompiler.compile_node..V s' ø€ ÐCÐCÐC¨r�T×&Ò& rÑ*Ô*ÐCÐCÐCr é éÿÿÿÿ)rP é rR )r r, ÚMatcherÚchildrenÚAlternativesÚlenr
ÚWildcardPatternÚoptimizeÚAlternativeÚNegatedUnitÚ
compile_basicÚNegatedPatternÚUnitr ÚEQUALr! ÚRepeaterÚSTARÚHUGEÚPLUSÚLBRACEÚRBRACEÚget_intÚname)
r5 ÚnodeÚaltsÚpÚunitsÚpatternrf ÚnodesÚrepeatrT ÚchildrM rN s
` r r= zPatternCompiler.compile_nodeC s] ø€ ð Œ9˜œ Ô)Ò)Ð)Ø”= Ô#ˆDàŒ9˜œ Ô.Ò.Ð.àGÐGÐGÐG°D´MÀ#À#ÀAÀ#Ô4FÐGÑGÔGˆDÝ�4‰yŒy˜AŠ~ˆ~ؘA”w�ÝÔ&Ð':Ð':°TÐ':Ñ':Ô':ÀÀqÐIÑIÔIˆAØ—:’:‘<”<ÐàŒ9˜œ Ô-Ò-Ð-ØCÐCÐCÐC°T´]ÐCÑCÔCˆEÝ�5‰zŒz˜QŠˆØ˜Q”x�ÝÔ&¨ w°A¸1Ð=Ñ=Ô=ˆAØ—:’:‘<”<ÐàŒ9˜œ Ô-Ò-Ð-Ø×(Ò(¨¬°q°r°rÔ):Ñ;Ô;ˆGÝÔ% gÑ.Ô.ˆAØ—:’:‘<”<ÐàŒy˜DœIœNÒ*Ð*Ð*Ð*àˆØ”
ˆÝˆu‰:Œ:˜Š?ˆ?˜u Qœxœ}µ´Ò;Ð;ؘ”8”>ˆDؘ!˜"˜"”IˆE؈݈u‰:Œ:˜Š?ˆ?˜u Rœyœ~°´Ô1CÒCÐCؘ2”YˆFؘ#˜2˜#”JˆEð ×$Ò$ U¨FÑ3Ô3ˆàÑØ”; $¤)Ô"4Ò4Ð4Ð4Ð4Ø”ˆHؘQ”KˆEØŒz�UœZÒ'Ð'Ø�Ý”k��Ø”�uœzÒ)Ð)Ø�Ý”k��Ø”�uœ|Ò+Ð+Ø ”|Ô(E¬LÒ8Ð8Ð8Ð8ݘH™
œ
¨Ð/Ð/Ð/Ð/Ø ŸLšL¨°!¬Ñ5Ô5Ð5��cÝ�x‘=”= AÒ%Ð%ØŸ,š, x°¤{Ñ3Ô3�Cøà�uØ�aŠxˆx˜3 !š8˜8Ø!×*Ò*Ñ,Ô,�Ý Ô0°7°)°À#È3ÐOÑOÔO�àÐØˆGŒLØ×ÒÑ!Ô!Ð!r c ó — t |¦ « dk sJ ‚|d }|j t j k rHt t j |j ¦ « ¦ « }t j t |¦ « |¦ « S |j t j k rÿ|j }| ¦ « rS|t vrt d|z ¦ « ‚|dd … rt d¦ « ‚t j t | ¦ « S |dk rd }n?| d¦ « s*t! | j |d ¦ « }|€t d|z ¦ « ‚|dd … r(| |d j d ¦ « g}nd }t j ||¦ « S |j dk r| |d ¦ « S |j d k r8|�J ‚| |d ¦ « }t j |ggdd¬
¦ « S J |¦ « ‚)Nr r zInvalid token: %rzCan't have details for tokenÚanyÚ_zInvalid symbol: %rú(ú[rL )rV r r ÚSTRINGr<