MINI MINI MANI MO

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

3


 \@sdZddlZddlmZmZmZmZmZmZddl	m
Z
ddl	mZGdddeZ
d	d
ZGdddeZejejejdd
ZddZddZddZdS)z#Guido van Rossum <guido@python.org>N)driverliteralstokentokenizeparsegrammar)pytree)pygramc@seZdZdS)PatternSyntaxErrorN)__name__
__module____qualname__rr'/usr/lib64/python3.6/lib2to3/patcomp.pyrsrc	csPtjtjtjh}tjtj|j}x(|D] }|\}}}}}||kr(|Vq(WdS)N)	rNEWLINEINDENTDEDENTrgenerate_tokensioStringIOreadline)	inputskiptokensZ	quintupletypevaluestartendZ	line_textrrrtokenize_wrappers
rc@s:eZdZd
ddZdddZddZdd	d
ZddZdS)PatternCompilerNcCsZ|dkrtj|_tj|_ntj||_tj|j|_tj|_	tj
|_tj|jt
d|_dS)N)Zconvert)r
Zpattern_grammarrZpattern_symbolssymsrZload_grammarZSymbolsZpython_grammarZ	pygrammarZpython_symbolspysymsZDriverpattern_convert)selfZgrammar_filerrr__init__(s
zPatternCompiler.__init__FcCsnt|}y|jj||d}Wn0tjk
rL}ztt|WYdd}~XnX|r`|j||fS|j|SdS)N)debug)rrZparse_tokensrZ
ParseErrorrstrcompile_node)r$rr&Z	with_treerrooterrrcompile_pattern7szPatternCompiler.compile_patternc
sV|jjjkr|jd}|jjjkrzfdd|jdddD}t|dkrX|dStjdd|Dddd}|jS|jjj	krʇfdd|jD}t|dkr|dStj|gddd}|jS|jjj
krj|jdd}tj|}|jSd}|j}t|d	kr>|djt
jkr>|dj}|dd}d}t|dkrx|djjjkrx|d}|dd
}j||}|dk	r>|j}	|	d}
|
jt
jkrd}tj}nX|
jt
jkrd}tj}n>|
jt
jkrj|	d}}t|	d
krj|	d	}n|dks"|dkr>|j}tj|gg||d}|dk	rN||_|jS)Nrcsg|]}j|qSr)r().0ch)r$rr
<listcomp>Osz0PatternCompiler.compile_node.<locals>.<listcomp>rcSsg|]
}|gqSrr)r,arrrr.Rs)minmaxcsg|]}j|qSr)r()r,r-)r$rrr.Vsr5r5)rr!ZMatcherchildrenZAlternativeslenr	WildcardPatternoptimizeZAlternativeZNegatedUnit
compile_basicZNegatedPatternrEQUALrZRepeaterSTARZHUGEPLUSLBRACEget_intname)
r$nodeZaltspZunitspatternr@nodesrepeatr6Zchildr1r2r)r$rr(Cs^

 
"

zPatternCompiler.compile_nodecCs@|d}|jtjkr4ttj|j}tjt	||S|jtj
kr|j}|jr|tkrbt
d||ddrvt
dtjt|S|dkrd}n,|jdst|j|d}|dkrt
d||ddr|j|djdg}nd}tj||SnH|jdkr|j|dS|jd	kr<|j|d}tj|ggddd
SdS)NrzInvalid token: %rrzCan't have details for tokenany_zInvalid symbol: %r([)r1r2)rrSTRINGr'rZ
evalStringrr	ZLeafPattern_type_of_literalNAMEisupper	TOKEN_MAPr
startswithgetattrr"r(r6ZNodePatternr8)r$rDrErArrZcontent
subpatternrrrr:s8
zPatternCompiler.compile_basiccCs
t|jS)N)intr)r$rArrrr?szPatternCompiler.get_int)N)FF)N)rr
rr%r+r(r:r?rrrrr &s


G
#r )rLrJNUMBERZTOKENcCs.|djrtjS|tjkr&tj|SdSdS)Nr)isalpharrLrZopmap)rrrrrKs


rKcCs>|\}}}}|s||jkr*tj|||dStj|||dSdS)N)context)Z
number2symbolr	ZNodeZLeaf)rZ
raw_node_inforrrUr6rrrr#sr#cCstj|S)N)r r+)rCrrrr+sr+)
__author__rZpgen2rrrrrrr	r
	Exceptionrrobjectr rLrJrSrNrKr#r+rrrr<module>s 
		

OHA YOOOO