Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: 768 (artoqlkw)
Group: 773 (artoqlkw)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//lib64/python2.7/lib2to3      ( Reset | Go to )
File Name: btm_utils.pyo
�
{fc@s�dZddlmZddlmZmZddlmZmZeZ    eZ
ej Z eZ dZdZdZdefd    ��YZd d
�Zd �Zd �Zd S(s0Utility functions used by the btm_matcher modulei(tpytree(tgrammarttoken(tpattern_symbolstpython_symbolsi����i����i����tMinNodecBsAeZdZddd�Zd�Zd�Zd�Zd�ZRS(s�This class serves as an intermediate representation of the
    pattern tree during the conversion to sets of leaf-to-root
    subpatternscCsC||_||_g|_t|_d|_g|_g|_dS(N(    ttypetnametchildrentFalsetleaftNonetparentt alternativestgroup(tselfRR((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyt__init__s                        cCst|j�dt|j�S(Nt (tstrRR(R((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyt__repr__scCsU|}g}xB|rP|jtkr�|jj|�t|j�t|j�kr|t|j�g}g|_|j}qq�|j}d}Pn|jt    kr|j
j|�t|j
�t|j�kr�t |j
�}g|_
|j}qq|j}d}Pn|jt j kr4|jr4|j|j�n|j|j�|j}qW|S(s�Internal method. Returns a characteristic path of the
        pattern tree. This method must be run for all leaves until the
        linear subpatterns are merged into a singleN(RtTYPE_ALTERNATIVESR tappendtlenRttupleR R t
TYPE_GROUPRtget_characteristic_subpatternt token_labelstNAMER(Rtnodetsubp((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyt leaf_to_root!s8                             cCs1x*|j�D]}|j�}|r |Sq WdS(s�Drives the leaf_to_root method. The reason that
        leaf_to_root must be run multiple times is because we need to
        reject 'group' matches; for example the alternative form
        (a | b c) creates a group [b c] that needs to be matched. Since
        matching multiple linear patterns overcomes the automaton's
        capabilities, leaf_to_root merges each group into a single
        choice based on 'characteristic'ity,

        i.e. (a|b c) -> (a|b) if b more characteristic than c

        Returns: The most 'characteristic'(as defined by
          get_characteristic_subpattern) path for the compiled pattern
          tree.
        N(tleavesR(RtlR((s)/usr/lib64/python2.7/lib2to3/btm_utils.pytget_linear_subpatternKs ccsEx-|jD]"}x|j�D] }|VqWq
W|jsA|VndS(s-Generator that returns the leaves of the treeN(RR(Rtchildtx((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyR`s
     N(    t__name__t
__module__t__doc__R RRRR!R(((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyRs             *    c Csd}|jtjkr(|jd}n|jtjkr�t|j�dkrht|jd|�}q�tdt    �}x�|jD]P}|jj
|�dr�q�nt||�}|dk    r�|jj |�q�q�Wn$|jtj krxt|j�dkr_tdt �}x9|jD].}t||�}|r|jj |�qqW|jsud}quq�t|jd|�}n�|jtjkr�t|jdtj�r�|jdjdkr�t|jd|�St|jdtj�r�|jdjdks=t|j�dkrAt|jdd�rA|jdjdkrAdSt}d}d}t}d}    t}
x�|jD]�}|jtjkr�t}|}n<|jtjkr�t}|}    n|jtjkr�|}nt|d�ro|jdkrot}
qoqoW|
rA|jd} t| d�rN| jdkrN|jd    } qNn |jd} | jtjkr�| jd
kr�tdt�}qTtt| j�r�tdtt| j��}qTtdtt| j��}n�| jtjkr0| jjd �} | tkrtdt| �}qTtdtjd | �}n$| jtjkrTt||�}n|r�|    jdjd kryd}q�|    jdjdkr�q�t �n|r�|dk    r�xI|jdd!D]4}t||�}|dk    r�|jj |�q�q�Wq�n|r||_!n|S(s�
    Internal function. Reduces a compiled pattern tree to an
    intermediate representation suitable for feeding the
    automaton. This also trims off any optional pattern elements(like
    [a], a*).
    iiRit(t[tvaluet=itanyt'Rt*t+i����N("R RtsymstMatcherRt AlternativesRt reduce_treeRRtindexRt AlternativeRtUnitt
isinstanceRtLeafR)thasattrtTrueR    tDetailstRepeaterRRtTYPE_ANYtgetattrtpysymstSTRINGtstripttokenstNotImplementedErrorR ( RR tnew_nodeR"treducedR
t details_nodetalternatives_nodet has_repeatert repeater_nodethas_variable_namet    name_leafR((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyR2hs�                            cs,t|t�s|St|�dkr-|dSg}g}dddddg�g}d�x�|D]�}tt|d    ���ratt|�fd
���r�|j|�q�tt|�fd ���r�|j|�q�|j|�qaqaW|r�|}n|r |}n|r|}nt|d t�S( s�Picks the most characteristic from a list of linear patterns
    Current order used is:
    names > common_names > common_chars
    iitintfortiftnotR s[]().,:cSst|�tkS(N(RR(R#((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyt<lambda>�tcst|t�o|�kS(N(R6R(R#(t common_chars(s)/usr/lib64/python2.7/lib2to3/btm_utils.pyRORPcst|t�o|�kS(N(R6R(R#(t common_names(s)/usr/lib64/python2.7/lib2to3/btm_utils.pyRORPtkey(R6tlistRR+trec_testRtmax(t subpatternstsubpatterns_with_namestsubpatterns_with_common_namestsubpatterns_with_common_charst
subpattern((RQRRs)/usr/lib64/python2.7/lib2to3/btm_utils.pyR�s2                     ccsWxP|D]H}t|ttf�rDx*t||�D] }|Vq2Wq||�VqWdS(sPTests test_func on all items of sequence and items of included
    sub-iterablesN(R6RTRRU(tsequencet    test_funcR#ty((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyRUs
  N(R&RPRtpgen2RRtpygramRRR/R>topmapRARR<RRtobjectRR R2RRU(((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyt<module>s    X �    %

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL