MINI MINI MANI MO

Path : /lib64/python3.6/lib2to3/__pycache__/
File Upload :
Current File : //lib64/python3.6/lib2to3/__pycache__/pytree.cpython-36.opt-2.pyc

3


 \m@sdZddlZddlZddlmZdZiaddZGdddeZ	Gd	d
d
e	Z
Gddde	Zd
dZGdddeZ
Gddde
ZGddde
ZGddde
ZGddde
ZddZdS)z#Guido van Rossum <guido@python.org>N)StringIOicCsHts<ddlm}x*|jjD]\}}t|tkr|t|<qWtj||S)N)python_symbols)_type_reprsZpygramr__dict__itemstypeint
setdefault)Ztype_numrnamevalr
&/usr/lib64/python3.6/lib2to3/pytree.py	type_reprsrc@seZdZdZdZfZdZdZddZddZ	dZ
ddZd	d
ZddZ
d
dZddZddZddZddZeddZeddZddZddZdd Zejd%krd#d$ZdS)&BaseNFcOs
tj|S)N)object__new__)clsargskwdsr
r
rr2szBase.__new__cCs|j|jk	rtS|j|S)N)	__class__NotImplemented_eq)selfotherr
r
r__eq__7szBase.__eq__cCstdS)N)NotImplementedError)rrr
r
rrCs	zBase._eqcCstdS)N)r)rr
r
rcloneNsz
Base.clonecCstdS)N)r)rr
r
r
post_orderVszBase.post_ordercCstdS)N)r)rr
r
r	pre_order^szBase.pre_ordercCst|ts|g}g}d}x:|jjD].}||krF|dk	r@|j|d}q"|j|q"W|jj||j_x|D]}|j|_qlWd|_dS)NFT)
isinstancelistparentchildrenextendappendchanged)rnewZ
l_childrenfoundchxr
r
rreplacefs



zBase.replacecCs.|}x"t|ts&|jsdS|jd}qW|jS)Nr)r Leafr#lineno)rnoder
r
r
get_lineno}szBase.get_linenocCs|jr|jjd|_dS)NT)r"r&was_changed)rr
r
rr&s
zBase.changedcCsJ|jrFx>t|jjD].\}}||kr|jj|jj|=d|_|SqWdS)N)r"	enumerater#r&)rir.r
r
rremoves

zBase.removecCsZ|jdkrdSxFt|jjD]6\}}||kry|jj|dStk
rPdSXqWdS)Nr)r"r1r#
IndexError)rr2childr
r
rnext_siblings
zBase.next_siblingcCsP|jdkrdSx<t|jjD],\}}||kr|dkr8dS|jj|dSqWdS)Nrr)r"r1r#)rr2r5r
r
rprev_siblings
zBase.prev_siblingccs"x|jD]}|jEdHqWdS)N)r#leaves)rr5r
r
rr8szBase.leavescCs|jdkrdSd|jjS)Nrr)r"depth)rr
r
rr9s
z
Base.depthcCs|j}|dkrdS|jS)N)r6prefix)rZnext_sibr
r
r
get_suffixszBase.get_suffixrcCst|jdS)Nascii)strencode)rr
r
r__str__szBase.__str__)r=r)__name__
__module____qualname__rr"r#r0Zwas_checkedrr__hash__rrrrr+r/r&r3propertyr6r7r8r9r<sysversion_inforAr
r
r
rr s.
	


rc@seZdZdddZddZddZejdkr0eZd
dZ	dd
Z
ddZddZddZ
ddZee
eZddZddZddZdS)NodeNcCsR||_t||_x|jD]
}||_qW|dk	r4||_|rH|dd|_nd|_dS)N)rr!r#r"r;fixers_applied)rrr#contextr;rJr)r
r
r__init__s


z
Node.__init__cCsd|jjt|j|jfS)Nz
%s(%s, %r))rrBrrr#)rr
r
r__repr__sz
Node.__repr__cCsdjtt|jS)Nr:)joinmapr?r#)rr
r
r__unicode__szNode.__unicode__r=rcCs|j|jf|j|jfkS)N)rr#)rrr
r
rrszNode._eqcCst|jdd|jD|jdS)NcSsg|]}|jqSr
)r).0r)r
r
r
<listcomp>szNode.clone.<locals>.<listcomp>)rJ)rIrr#rJ)rr
r
rrsz
Node.cloneccs(x|jD]}|jEdHqW|VdS)N)r#r)rr5r
r
rrszNode.post_orderccs(|Vx|jD]}|jEdHqWdS)N)r#r)rr5r
r
rr
szNode.pre_ordercCs|js
dS|jdjS)Nr:r)r#r;)rr
r
r_prefix_getterszNode._prefix_gettercCs|jr||jd_dS)Nr)r#r;)rr;r
r
r_prefix_setterszNode._prefix_settercCs(||_d|j|_||j|<|jdS)N)r"r#r&)rr2r5r
r
r	set_child!s
zNode.set_childcCs ||_|jj|||jdS)N)r"r#insertr&)rr2r5r
r
rinsert_child+szNode.insert_childcCs||_|jj||jdS)N)r"r#r%r&)rr5r
r
rappend_child4szNode.append_child)NNN)r=r)rBrCrDrLrMrPrGrHrArrrrrSrTrFr;rUrWrXr
r
r
rrIs"



	rIc@seZdZdZdZdZddgfddZddZdd	Ze	j
dkrBeZddZd
dZ
ddZddZddZddZddZeeeZdS)r,r:rNcCsF|dk	r|\|_\|_|_||_||_|dk	r4||_|dd|_dS)N)_prefixr-columnrvaluerJ)rrr[rKr;rJr
r
rrLGsz
Leaf.__init__cCsd|jj|j|jfS)Nz
%s(%r, %r))rrBrr[)rr
r
rrMZsz
Leaf.__repr__cCs|jt|jS)N)r;r?r[)rr
r
rrP`szLeaf.__unicode__r=cCs|j|jf|j|jfkS)N)rr[)rrr
r
rrkszLeaf._eqcCs$t|j|j|j|j|jff|jdS)N)rJ)r,rr[r;r-rZrJ)rr
r
rros
z
Leaf.cloneccs
|VdS)Nr
)rr
r
rr8uszLeaf.leavesccs
|VdS)Nr
)rr
r
rrxszLeaf.post_orderccs
|VdS)Nr
)rr
r
rr|szLeaf.pre_ordercCs|jS)N)rY)rr
r
rrSszLeaf._prefix_gettercCs|j||_dS)N)r&rY)rr;r
r
rrTszLeaf._prefix_setter)r=r)rBrCrDrYr-rZrLrMrPrGrHrArrr8rrrSrTrFr;r
r
r
rr,>s$
r,cCsN|\}}}}|s||jkr<t|dkr.|dSt|||dSt|||dSdS)Nrr)rK)Z
number2symbollenrIr,)ZgrZraw_noderr[rKr#r
r
rconvertsr]c@sLeZdZdZdZdZddZddZddZddd	Z	dd
dZ
dd
ZdS)BasePatternNcOs
tj|S)N)rr)rrrr
r
rrszBasePattern.__new__cCsLt|j|j|jg}x|r.|ddkr.|d=qWd|jjdjtt|fS)Nrz%s(%s)z, r_)	rrcontentrrrBrNrOrepr)rrr
r
rrMs
zBasePattern.__repr__cCs|S)Nr
)rr
r
roptimizeszBasePattern.optimizecCsn|jdk	r|j|jkrdS|jdk	rRd}|dk	r4i}|j||sDdS|rR|j||dk	rj|jrj|||j<dS)NFT)rr`	_submatchupdater)rr.resultsrr
r
rmatchs


zBasePattern.matchcCs t|dkrdS|j|d|S)NrFr)r\rg)rnodesrer
r
r	match_seqszBasePattern.match_seqccs&i}|r"|j|d|r"d|fVdS)Nrr)rg)rrhrfr
r
rgenerate_matchesszBasePattern.generate_matches)N)N)rBrCrDrr`rrrMrbrgrirjr
r
r
rr^s


r^c@s*eZdZdddZd	ddZd
ddZdS)LeafPatternNcCs&|dk	r|dk	r||_||_||_dS)N)rr`r)rrr`rr
r
rrLs
zLeafPattern.__init__cCst|tsdStj|||S)NF)r r,r^rg)rr.rer
r
rrgs
zLeafPattern.matchcCs|j|jkS)N)r`r[)rr.rer
r
rrcs
zLeafPattern._submatch)NNN)N)N)rBrCrDrLrgrcr
r
r
rrks

rkc@s$eZdZdZdddZdddZdS)	NodePatternFNcCsT|dk	r|dk	r>t|}x$t|D]\}}t|tr"d|_q"W||_||_||_dS)NT)r!r1r WildcardPattern	wildcardsrr`r)rrr`rr2itemr
r
rrL%s

zNodePattern.__init__cCs|jrJx>t|j|jD],\}}|t|jkr|dk	r>|j|dSqWdSt|jt|jkrbdSx*t|j|jD]\}}|j||srdSqrWdS)NTF)rnrjr`r#r\rdziprg)rr.recrf
subpatternr5r
r
rrcBs

zNodePattern._submatch)NNN)N)rBrCrDrnrLrcr
r
r
rrl!s
rlc@sZeZdZddedfddZddZdddZdd	d
ZddZd
dZ	ddZ
ddZdS)rmNrcCs@|dk	r$ttt|}x|D]}qW||_||_||_||_dS)N)tuplerOr`minmaxr)rr`rtruraltr
r
rrLls
zWildcardPattern.__init__cCsd}|jdk	r<t|jdkr<t|jddkr<|jdd}|jdkr|jdkr|jdkrft|jdS|dk	r|j|jkr|jS|jdkrt|tr|jdkr|j|jkrt|j|j|j|j|j|jS|S)Nrr)r)	r`r\rtrurlrrbr rm)rrrr
r
rrbs 
 


zWildcardPattern.optimizecCs|j|g|S)N)ri)rr.rer
r
rrgszWildcardPattern.matchcCsRxL|j|D]>\}}|t|kr|dk	rF|j||jrFt|||j<dSqWdS)NTF)rjr\rdrr!)rrhrerqrfr
r
rris
zWildcardPattern.match_seqccs:|jdkrXxJt|jdtt||jD]*}i}|jrH|d|||j<||fVq(Wn|jdkrp|j|Vnttdrtj	}t
t_	zy@x:|j|dD]*\}}|jr|d|||j<||fVqWWnRtk
rx:|j
|D],\}}|jr
|d|||j<||fVqWYnXWdttdr4|t_	XdS)NrZ	bare_namegetrefcountr)r`rangertr\rur_bare_name_matcheshasattrrGstderrr_recursive_matchesRuntimeError_iterative_matches)rrhcountrfZsave_stderrr
r
rrjs.
"

z WildcardPattern.generate_matchesccst|}d|jkrdifVg}x>|jD]4}x.t||D] \}}||fV|j||fq8Wq(Wx|rg}x|D]\}}	||krr||jkrrxn|jD]d}x^t|||dD]H\}
}|
dkri}|j|	|j|||
|fV|j||
|fqWqWqrW|}qbWdS)Nr)r\rtr`rjr%rurd)rrhZnodelenrervrqrfZnew_resultsc0r0c1r1r
r
rr~s*




z"WildcardPattern._iterative_matchescCsxd}i}d}t|}xH|r\||kr\d}x0|jD]&}|dj|||r0|d7}d}Pq0WqW|d|||j<||fS)NrFTr)r\r`rgr)rrhrrfdoneruZleafr
r
rrys
z"WildcardPattern._bare_name_matchesc	cs||jkrdifV||jkrxr|jD]h}xbt||D]T\}}xJ|j||d|dD].\}}i}|j||j||||fVqXWq6Wq&WdS)Nrr)rtrur`rjr|rd)	rrhrrvrrrrrfr
r
rr|s


"

z"WildcardPattern._recursive_matches)N)N)rBrCrDHUGErLrbrgrirjr~ryr|r
r
r
rrm^s#

-rmc@s.eZdZd
ddZddZddZdd	ZdS)NegatedPatternNcCs|dk	r||_dS)N)r`)rr`r
r
rrLs	zNegatedPattern.__init__cCsdS)NFr
)rr.r
r
rrg)szNegatedPattern.matchcCst|dkS)Nr)r\)rrhr
r
rri-szNegatedPattern.match_seqccsL|jdkr"t|dkrHdifVn&x|jj|D]
\}}dSWdifVdS)Nr)r`r\rj)rrhrqrfr
r
rrj1s
zNegatedPattern.generate_matches)N)rBrCrDrLrgrirjr
r
r
rrs

rc	cs|sdifVn|d|dd}}xl|j|D]^\}}|sJ||fVq2xDt|||dD].\}}i}|j||j||||fVq^Wq2WdS)Nrr)rjrd)	Zpatternsrhprestrrrrrfr
r
rrj=s


rj)
__author__rGwarningsiorrrrrrrIr,r]r^rkrlrmrrjr
r
r
r<module>
s$
1nNV,==#

OHA YOOOO