usr
/
lib64
/
python2.7
/
lib2to3
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] fixes
N/A
[DIR] pgen2
N/A
Grammar.txt
6.93 KB
Rename
Delete
Grammar2.7.18.final.0.pickle
39.54 KB
Rename
Delete
PatternGrammar.txt
793 bytes
Rename
Delete
PatternGrammar2.7.18.final.0.pickle
2.73 KB
Rename
Delete
__init__.py
7 bytes
Rename
Delete
__init__.pyc
127 bytes
Rename
Delete
__init__.pyo
127 bytes
Rename
Delete
__main__.py
67 bytes
Rename
Delete
__main__.pyc
242 bytes
Rename
Delete
__main__.pyo
242 bytes
Rename
Delete
btm_matcher.py
6.67 KB
Rename
Delete
btm_matcher.pyc
5.69 KB
Rename
Delete
btm_matcher.pyo
5.69 KB
Rename
Delete
btm_utils.py
9.78 KB
Rename
Delete
btm_utils.pyc
7.39 KB
Rename
Delete
btm_utils.pyo
7.39 KB
Rename
Delete
fixer_base.py
6.62 KB
Rename
Delete
fixer_base.pyc
7.02 KB
Rename
Delete
fixer_base.pyo
7.02 KB
Rename
Delete
fixer_util.py
14.25 KB
Rename
Delete
fixer_util.pyc
14.34 KB
Rename
Delete
fixer_util.pyo
14.34 KB
Rename
Delete
main.py
11.33 KB
Rename
Delete
main.pyc
9.60 KB
Rename
Delete
main.pyo
9.56 KB
Rename
Delete
patcomp.py
6.90 KB
Rename
Delete
patcomp.pyc
6.45 KB
Rename
Delete
patcomp.pyo
6.14 KB
Rename
Delete
pygram.py
1.13 KB
Rename
Delete
pygram.pyc
1.41 KB
Rename
Delete
pygram.pyo
1.41 KB
Rename
Delete
pytree.py
28.36 KB
Rename
Delete
pytree.pyc
29.59 KB
Rename
Delete
pytree.pyo
28.73 KB
Rename
Delete
refactor.py
27.37 KB
Rename
Delete
refactor.pyc
23.35 KB
Rename
Delete
refactor.pyo
23.31 KB
Rename
Delete
� {fc @ s� d Z d d l m Z d d l m Z m Z d d l m Z m Z e Z e Z e j Z e Z d Z d Z d Z d e f d � � YZ d d � Z d � Z d � Z d S( s0 Utility functions used by the btm_matcher modulei ( t pytree( t grammart token( t pattern_symbolst python_symbolsi����i����i����t MinNodec B sA e Z d Z d d d � Z d � Z d � Z d � Z d � Z RS( s� This class serves as an intermediate representation of the pattern tree during the conversion to sets of leaf-to-root subpatternsc C sC | | _ | | _ g | _ t | _ d | _ g | _ g | _ d S( N( t typet namet childrent Falset leaft Nonet parentt alternativest group( t selfR R ( ( s) /usr/lib64/python2.7/lib2to3/btm_utils.pyt __init__ s c C s t | j � d t | j � S( Nt ( t strR R ( R ( ( s) /usr/lib64/python2.7/lib2to3/btm_utils.pyt __repr__ s c C sU | } g } xB| rP| j t k r� | j j | � t | j � t | j � k r| t | j � g } g | _ | j } q q� | j } d } Pn | j t k r| j j | � t | j � t | j � k r� t | j � } g | _ | j } q q| j } d } Pn | j t j k r4| j r4| j | j � n | j | j � | j } q W| 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( R t TYPE_ALTERNATIVESR t appendt lenR t tupleR R t TYPE_GROUPR t get_characteristic_subpatternt token_labelst NAMER ( R t nodet subp( ( s) /usr/lib64/python2.7/lib2to3/btm_utils.pyt leaf_to_root! s8 c C s1 x* | j � D] } | j � } | r | Sq Wd S( 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( t leavesR ( R t lR ( ( s) /usr/lib64/python2.7/lib2to3/btm_utils.pyt get_linear_subpatternK s c c sE x- | j D]"