Viewing File: /opt/alt/python35/lib64/python3.5/lib2to3/__pycache__/pytree.cpython-35.opt-2.pyc



]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)StringIOicCsbtsRddlm}x9|jjD](\}}t|tkr&|t|<q&Wtj||S)N)python_symbols)_type_reprsZpygramr__dict__itemstypeint
setdefault)Ztype_numrnamevalr
+/opt/alt/python35/lib64/python3.5/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__7szBase.__eq__cCs
tdS)N)NotImplementedError)rrr
r
rrCs	zBase._eqcCs
tdS)N)r)rr
r
rcloneNsz
Base.clonecCs
tdS)N)r)rr
r
r
post_orderVszBase.post_ordercCs
tdS)N)r)rr
r
r	pre_order^szBase.pre_ordercCst|ts|g}g}d}xO|jjD]A}||kre|dk	r\|j|d}q1|j|q1W|jj||j_x|D]}|j|_qWd|_dS)NFT)
isinstancelistparentchildrenextendappendchanged)rnewZ
l_childrenfoundchxr
r
rreplacefs	
	

zBase.replacecCs=|}x-t|ts5|js%dS|jd}q	W|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.changedcCsc|jr_xSt|jjD]?\}}||kr|jj|jj|=d|_|SqWdS)N)r"	enumerater#r&)rir.r
r
rremoves	

	zBase.removecCsu|jdkrdSx[t|jjD]G\}}||kr&y|jj|dSWq&tk
rldSYq&Xq&WdS)Nr)r"r1r#
IndexError)rr2childr
r
rnext_siblings
zBase.next_siblingcCsh|jdkrdSxNt|jjD]:\}}||kr&|dkrNdS|jj|dSq&WdS)Nrr)r"r1r#)rr2r5r
r
rprev_siblingszBase.prev_siblingccs'x |jD]}|jEdHq
WdS)N)r#leaves)rr5r
r
rr8szBase.leavescCs$|jdkrdSd|jjS)Nrr)r"depth)rr
r
rr9sz
Base.depthcCs |j}|dkrdS|jS)N)r6prefix)rZnext_sibr
r
r
get_suffixs	zBase.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@seZdZdddddZddZddZejdkrNeZd
dZ	dd
Z
ddZddZddZ
ddZee
eZddZddZddZdS)NodeNcCss||_t||_x|jD]}||_q"W|dk	rJ||_|rf|dd|_n	d|_dS)N)rr!r#r"r;fixers_applied)rrr#contextr;rJr)r
r
r__init__s
	
	z
Node.__init__cCs#d|jjt|j|jfS)Nz
%s(%s, %r))rrBrrr#)rr
r
r__repr__sz
Node.__repr__cCsdjtt|jS)Nr:)joinmapr?r#)rr
r
r__unicode__szNode.__unicode__r=rcCs"|j|jf|j|jfkS)N)rr#)rrr
r
rrszNode._eqcCs)t|jdd|jDd|jS)NcSsg|]}|jqSr
)r).0r)r
r
r
<listcomp>s	zNode.clone.<locals>.<listcomp>rJ)rIrr#rJ)rr
r
rrsz
Node.cloneccs,x |jD]}|jEdHq
W|VdS)N)r#r)rr5r
r
rrszNode.post_orderccs,|Vx |jD]}|jEdHqWdS)N)r#r)rr5r
r
rr
szNode.pre_ordercCs|js
dS|jdjS)Nr:r)r#r;)rr
r
r_prefix_getters	zNode._prefix_gettercCs|jr||jd_dS)Nr)r#r;)rr;r
r
r_prefix_setters	zNode._prefix_settercCs4||_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+s	zNode.insert_childcCs'||_|jj||jdS)N)r"r#r%r&)rr5r
r
rappend_child4s	zNode.append_child)r=r)rBrCrDrLrMrPrGrHrArrrrrSrTrFr;rUrWrXr
r
r
rrIs"
	rIc@seZdZdZdZdZddgddZddZdd	Ze	j
dkr`eZddZd
dZ
ddZddZddZddZddZeeeZdS)r,r:rNcCse|dk	r'|\|_\|_|_||_||_|dk	rN||_|dd|_dS)N)_prefixr-columnrvaluerJ)rrr[rKr;rJr
r
rrLGs			z
Leaf.__init__cCsd|jj|j|jfS)Nz
%s(%r, %r))rrBrr[)rr
r
rrMZsz
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._eqcCs4t|j|j|j|j|jffd|jS)NrJ)r,rr[r;r-rZrJ)rr
r
rrosz
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
rrTs
zLeaf._prefix_setter)r=r)rBrCrDrYr-rZrLrMrPrGrHrArrr8rrrSrTrFr;r
r
r
rr,>s$r,cCsk|\}}}}|s'||jkrTt|dkrA|dSt||d|St||d|SdS)NrrrK)Z
number2symbollenrIr,)ZgrZraw_noderr[rKr#r
r
rconvertsr]c@speZdZdZdZdZddZddZddZddd	Z	dd
dZ
dd
ZdS)BasePatternNcOs
tj|S)N)rr)rrrr
r
rrszBasePattern.__new__cCsht|j|j|jg}x!|rA|ddkrA|d=q!Wd|jjdjtt|fS)Nrz%s(%s)z, r_)	rrcontentrrrBrNrOrepr)rrr
r
rrMszBasePattern.__repr__cCs|S)Nr
)rr
r
roptimizeszBasePattern.optimizecCs|jdk	r%|j|jkr%dS|jdk	rud}|dk	rLi}|j||sbdS|ru|j||dk	r|jr|||j<dS)NFT)rr`	_submatchupdater)rr.resultsrr
r
rmatchs!

zBasePattern.matchcCs*t|dkrdS|j|d|S)NrFr)r\rg)rnodesrer
r
r	match_seqszBasePattern.match_seqccs1i}|r-|j|d|r-d|fVdS)Nrr)rg)rrhrfr
r
rgenerate_matchesszBasePattern.generate_matches)rBrCrDrr`rrrMrbrgrirjr
r
r
rr^s
r^c@sCeZdZdddddZdddZdddZdS)LeafPatternNcCs7|dk	r|dk	r||_||_||_dS)N)rr`r)rrr`rr
r
rrLs
		zLeafPattern.__init__cCs&t|tsdStj|||S)NF)r r,r^rg)rr.rer
r
rrgszLeafPattern.matchcCs|j|jkS)N)r`r[)rr.rer
r
rrcs
zLeafPattern._submatch)rBrCrDrLrgrcr
r
r
rrksrkc@s:eZdZdZdddddZdddZdS)NodePatternFNcCsx|dk	r|dk	rYt|}x2t|D]$\}}t|tr1d|_q1W||_||_||_dS)NT)r!r1r WildcardPattern	wildcardsrr`r)rrr`rr2itemr
r
rrL%s
		zNodePattern.__init__cCs|jrexUt|j|jD]>\}}|t|jkr|dk	rY|j|dSqWdSt|jt|jkrdSx9t|j|jD]"\}}|j||sdSqWdS)NTF)rnrjr`r#r\rdziprg)rr.recrf
subpatternr5r
r
rrcBs
	"
"zNodePattern._submatch)rBrCrDrnrLrcr
r
r
rrl!srlc@seZdZddedddZddZdddZdd	d
ZddZd
dZ	ddZ
ddZdS)rmNrcCsZ|dk	r2ttt|}x|D]}q(W||_||_||_||_dS)N)tuplerOr`minmaxr)rr`rtruraltr
r
rrLls
			zWildcardPattern.__init__cCs)d}|jdk	rTt|jdkrTt|jddkrT|jdd}|jdkr|jdkr|jdkrtd|jS|dk	r|j|jkr|jS|jdkr%t|tr%|jdkr%|j|jkr%t|j|j|j|j|j|jS|S)Nrrr)	r`r\rtrurlrrbr rm)rrrr
r
rrbs .
!	


zWildcardPattern.optimizecCs|j|g|S)N)ri)rr.rer
r
rrgszWildcardPattern.matchcCsoxh|j|D]W\}}|t|kr|dk	rc|j||jrct|||j<dSqWdS)NTF)rjr\rdrr!)rrhrerqrfr
r
rris
	zWildcardPattern.match_seqccs|jdkrvxzt|jdtt||jD]7}i}|jrd|d|||j<||fVq8Wn|jdkr|j|Vnttdrtj	}t
t_	zyRxK|j|dD]7\}}|jr|d|||j<||fVqWWn]tk
rnxH|j
|D]7\}}|jr[|d|||j<||fVq/WYnXWdttdr|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|jkr&difVg}xO|jD]D}x;t||D]*\}}||fV|j||fqLWq6Wx|rXg}x|D]\}}	||kr||jkrx|jD]}xyt|||dD]^\}
}|
dkri}|j|	|j|||
|fV|j||
|fqWqWqW|}qWdS)Nr)r\rtr`rjr%rurd)rrhZnodelenrervrqrfZnew_resultsc0r0c1r1r
r
rr~s*	&

#z"WildcardPattern._iterative_matchescCsd}i}d}t|}x\|r|||kr|d}x<|jD]1}|dj|||rD|d7}d}PqDWq!W|d|||j<||fS)NrFTr)r\r`rgr)rrhrrfdoneruZleafr
r
rrys
	z"WildcardPattern._bare_name_matchesc	cs||jkrdifV||jkrx|jD]}x}t||D]l\}}x]|j||d|dD];\}}i}|j||j||||fVqvWqIWq3WdS)Nrr)rtrur`rjr|rd)	rrhrrvrrrrrfr
r
rr|s-

z"WildcardPattern._recursive_matches)rBrCrDHUGErLrbrgrirjr~ryr|r
r
r
rrm^s#-rmc@sCeZdZdddZddZddZdd	ZdS)
NegatedPatternNcCs|dk	r||_dS)N)r`)rr`r
r
rrLs	zNegatedPattern.__init__cCsdS)NFr
)rr.r
r
rrg)szNegatedPattern.matchcCst|dkS)Nr)r\)rrhr
r
rri-szNegatedPattern.match_seqccsb|jdkr/t|dkr^difVn/x!|jj|D]
\}}dSWdifVdS)Nr)r`r\rj)rrhrqrfr
r
rrj1szNegatedPattern.generate_matches)rBrCrDrLrgrirjr
r
r
rrs
rc	cs|sdifVn|d|dd}}x|j|D]y\}}|s_||fVq?xVt|||dD];\}}i}|j||j||||fVqyWq?WdS)Nrr)rjrd)	patternsrhprestrrrrrfr
r
rrj=s
&

rj)
__author__rGwarningsiorrrrrrrIr,r]r^rkrlrmrrjr
r
r
r<module>
s 
nNV,=#
Back to Directory File Manager