ACC SHELL

Path : /usr/lib/python/lib2to3/
File Upload :
Current File : //usr/lib/python/lib2to3/patcomp.pyo

Ñò
sÄMc@sdZdZddkZddklZlZlZlZlZl	Z	ddk
lZddk
lZei
iei
ieƒdƒZd	efd
„ƒYZd„Zdefd
„ƒYZheid6eid6eid6dd6Zd„Zd„Zd„ZdS(sPattern compiler.

The grammer is taken from PatternGrammar.txt.

The compiler compiles a pattern to a pytree.*Pattern instance.
s#Guido van Rossum <guido@python.org>iÿÿÿÿNi(tdrivertliteralsttokenttokenizetparsetgrammar(tpytree(tpygramsPatternGrammar.txttPatternSyntaxErrorcBseZRS((t__name__t
__module__(((s%/usr/lib/python2.6/lib2to3/patcomp.pyRsc	csyttititifƒ}titi|ƒi	ƒ}x9|D]1}|\}}}}}||jo	|Vq@q@WdS(s6Tokenizes a string suppressing significant whitespace.N(
tsetRtNEWLINEtINDENTtDEDENTRtgenerate_tokensRtgenerate_linestnext(	tinputtskipttokenst	quintuplettypetvaluetstarttendt	line_text((s%/usr/lib/python2.6/lib2to3/patcomp.pyttokenize_wrapper s
tPatternCompilercBs>eZed„Zed„Zd„Zdd„Zd„Z	RS(cCs^ti|ƒ|_ti|iƒ|_ti|_ti|_	ti
|idtƒ|_dS(s^Initializer.

        Takes an optional alternative filename for the pattern grammar.
        tconvertN(Rtload_grammarRRtSymbolstsymstpython_grammart	pygrammartpython_symbolstpysymstDrivertpattern_convert(tselftgrammar_file((s%/usr/lib/python2.6/lib2to3/patcomp.pyt__init__,s
cCsbt|ƒ}y|ii|d|ƒ}Wn*tij
o}tt|ƒƒ‚nX|i|ƒS(s=Compiles a pattern string to a nested pytree.*Pattern object.tdebug(RRtparse_tokensRt
ParseErrorRtstrtcompile_node(R'RR*Rtrootte((s%/usr/lib/python2.6/lib2to3/patcomp.pytcompile_pattern7scCs|i|iijo|id}n|i|iijošg}|iddd…D]}||i|ƒqX~}t|ƒdjo	|dStig}|D]}||gq¤~ddddƒ}|i	ƒS|i|ii
jorg}|iD]}||i|ƒqû~}	t|	ƒdjo	|	dSti|	gddddƒ}|i	ƒS|i|iijo0|i|idƒ}
ti
|
ƒ}|i	ƒSd}|i}t|ƒdjo2|ditijo|di}|d}nd}
t|ƒdjo2|di|iijo|d}
|d }n|i||
ƒ}
|
dj	o|
i}|d}|itijod}ti}n|itijod}ti}nY|itijoE|i|dƒ}}t|ƒd	jo|i|dƒ}qn|djp
|djo1|
i	ƒ}
ti|
ggd|d|ƒ}
qin|dj	o
||
_n|
i	ƒS(
sXCompiles a node, recursively.

        This is one big switch on the node type.
        iNiitmintmaxiiÿÿÿÿi(RR tMatchertchildrentAlternativesR.tlenRtWildcardPatterntoptimizetAlternativetNegatedUnitt
compile_basictNegatedPatterntNoneRtEQUALRtRepeatertSTARtHUGEtPLUStLBRACEtget_inttname(R'tnodet_[1]tchtaltst_[2]tatpt_[3]tunitstpatternRFtnodestrepeatR5tchildR2R3((s%/usr/lib/python2.6/lib2to3/patcomp.pyR.@s^:	9-		*
-

	


)

cCsÓ|d}|itijo/tti|iƒƒ}tit	|ƒ|ƒS|iti
jo|i}|iƒoN|tjot
d|ƒ‚n|dot
dƒ‚ntit|ƒS|djo
d}nK|idƒp:t|i|dƒ}|djot
d|ƒ‚q$n|do!|i|didƒg}nd}ti||ƒSnf|idjo|i|dƒS|id	jo3|i|dƒ}ti|ggd
dddƒSdS(NisInvalid token: %risCan't have details for tokentanyt_sInvalid symbol: %rt(t[R2R3(RRtSTRINGtunicodeRt
evalStringRRtLeafPatternt_type_of_literaltNAMEtisuppert	TOKEN_MAPRR>t
startswithtgetattrR$R.R5tNodePatternR8(R'RQRRRGRRtcontentt
subpattern((s%/usr/lib/python2.6/lib2to3/patcomp.pyR<‡s8
	




! cCs
t|iƒS(N(tintR(R'RG((s%/usr/lib/python2.6/lib2to3/patcomp.pyREªsN(
R	R
t_PATTERN_GRAMMAR_FILER)tFalseR1R.R>R<RE(((s%/usr/lib/python2.6/lib2to3/patcomp.pyR*s
		G#R]RXtNUMBERtTOKENcCs=|diƒotiS|tijoti|SdSdS(Ni(tisalphaRR]RtopmapR>(R((s%/usr/lib/python2.6/lib2to3/patcomp.pyR\¶s
cCsZ|\}}}}|p||ijoti||d|ƒSti||d|ƒSdS(s9Converts raw node information to a Node or Leaf instance.tcontextN(t
number2symbolRtNodetLeaf(Rt
raw_node_infoRRRlR5((s%/usr/lib/python2.6/lib2to3/patcomp.pyR&¿scCstƒi|ƒS(N(RR1(RP((s%/usr/lib/python2.6/lib2to3/patcomp.pyR1Ès(t__doc__t
__author__tostpgen2RRRRRRtRRtpathtjointdirnamet__file__Rft	ExceptionRRtobjectRR]RXRhR>R_R\R&R1(((s%/usr/lib/python2.6/lib2to3/patcomp.pyt<module>	s".		
†



				

ACC SHELL 2018