选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
U e5dŽã@s dZdZddlZddlmZmZmZmZmZm Z ddl m Z ddl m Z Gdd „d e ƒZd d „ZGd d „d eƒZejejejddœZdd„Zdd„Zdd„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@s eZdZdS)ÚPatternSyntaxErrorN)Ú__name__Ú __module__Ú __qualname__©rrú'/usr/lib64/python3.8/lib2to3/patcomp.pyr sr c csLtjtjtjh}t t |¡j¡}|D] }|\}}}}}||kr&|Vq&dS)z6Tokenizes a string suppressing significant whitespace.N) rÚNEWLINEÚINDENTÚDEDENTrÚgenerate_tokensÚioÚStringIOÚreadline) ÚinputÚskipÚtokensZ quintupleÚtypeÚvalueÚstartÚendZ line_textrrrÚtokenize_wrappers rc@s:eZdZd dd„Zddd„Zdd„Zdd d „Zd d „ZdS)ÚPatternCompilerNcCsZ|dkrtj|_tj|_nt |¡|_t |j¡|_tj|_ tj |_ tj |jt d�|_dS)z^Initializer. Takes an optional alternative filename for the pattern grammar. N)Zconvert)r Zpattern_grammarrZpattern_symbolsÚsymsrZ load_grammarZSymbolsZpython_grammarZ pygrammarZpython_symbolsÚpysymsZDriverÚpattern_convert)ÚselfZ grammar_filerrrÚ__init__(s  zPatternCompiler.__init__Fc Cspt|ƒ}z|jj||d�}Wn2tjk rN}ztt|ƒƒd‚W5d}~XYnX|rb| |¡|fS| |¡SdS)z=Compiles a pattern string to a nested pytree.*Pattern object.)ÚdebugN)rrZ parse_tokensrZ ParseErrorr ÚstrÚ compile_node)r$rr&Z with_treerÚrootÚerrrÚcompile_pattern7s zPatternCompiler.compile_patternc s°|jˆjjkr|jd}|jˆjjkrz‡fdd„|jddd…Dƒ}t|ƒdkrX|dStjdd„|Dƒddd�}| ¡S|jˆjj krʇfd d„|jDƒ}t|ƒdkr°|dStj|gddd�}| ¡S|jˆjj krþˆ  |jdd…¡}t  |¡}| ¡S|jˆjj k�st‚d}|j}t|ƒd k�rR|djtjk�rR|dj}|dd…}d}t|ƒdk�rŒ|d jˆjjk�rŒ|d }|dd …}ˆ  ||¡}|dk �r˜|jˆjjk�s¶t‚|j} | d} | jtjk�rÞd} tj} nŠ| jtjk�rød} tj} np| jtjk�r^| d jtjk�st‚t| ƒd k�s.t‚ˆ | d¡} } t| ƒd k�rhˆ | d ¡} n d�sht‚| dk�s|| dk�r˜| ¡}tj|gg| | d�}|dk �r¨||_| ¡S)zXCompiles a node, recursively. This is one big switch on the node type. rcsg|]}ˆ |¡‘qSr©r(©Ú.0Zch©r$rrÚ Osz0PatternCompiler.compile_node..NércSsg|] }|g‘qSrr)r.Úarrrr0Rs©ÚminÚmaxcsg|]}ˆ |¡‘qSrr,r-r/rrr0Vsééÿÿÿÿ)r6ér8F)rr!ZMatcherÚchildrenZ AlternativesÚlenr ÚWildcardPatternÚoptimizeZ AlternativeZ NegatedUnitÚ compile_basicZNegatedPatternZUnitÚAssertionErrorrÚEQUALrZRepeaterÚSTARZHUGEÚPLUSÚLBRACEÚRBRACEÚget_intÚname) r$ÚnodeZaltsÚpZunitsÚpatternrEÚnodesÚrepeatr9Zchildr4r5rr/rr(Csh       "     zPatternCompiler.compile_nodecCsnt|ƒdkst‚|d}|jtjkrDtt |j¡ƒ}t   t |ƒ|¡S|jtj k�r|j}|  ¡r–|tkrttd|ƒ‚|dd…rˆtdƒ‚t   t|¡S|dkr¤d}n,| d¡sÐt|j|dƒ}|dkrÐtd|ƒ‚|dd…rô| |djd¡g}nd}t  ||¡SnV|jdk�r | |d¡S|jd k�r\|dk�s:t‚| |d¡}t j|ggddd �Sd �sjt|ƒ‚dS) NrrzInvalid token: %rzCan't have details for tokenÚanyÚ_zInvalid symbol: %rú(ú[r3F)r:r>rrÚSTRINGr'rZ evalStringrr Z LeafPatternÚ_type_of_literalÚNAMEÚisupperÚ TOKEN_MAPr Ú startswithÚgetattrr"r(r9Z NodePatternr;)r$rIrJrFrrZcontentÚ subpatternrrrr=Šs<        zPatternCompiler.compile_basiccCs|jtjkst‚t|jƒS©N)rrÚNUMBERr>Úintr)r$rFrrrrD­szPatternCompiler.get_int)N)FF)N)r r rr%r+r(r=rDrrrrr &s   G #r )rQrOrXZTOKENcCs.|d ¡rtjS|tjkr&tj|SdSdS)Nr)ÚisalpharrQrZopmap)rrrrrP¹s    rPcCs>|\}}}}|s||jkr*tj|||d�Stj|||d�SdS)z9Converts raw node information to a Node or Leaf instance.)ÚcontextN)Z number2symbolr ZNodeZLeaf)rZ raw_node_inforrr[r9rrrr#Âs r#cCs tƒ |¡SrW)r r+)rHrrrr+Ësr+)Ú__doc__Ú __author__rZpgen2rrrrrrÚr r Ú Exceptionr rÚobjectr rQrOrXrSrPr#r+rrrrÚs"    ý