ACC SHELL

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

Ñò
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	ƒS|i|iijpt‚d}|i}t|ƒdjo2|ditijo|di}|d}nd}
t|ƒdjo2|di|iijo|d}
|d }n|i||
ƒ}
|
dj	oi|
i|iijpt‚|
i}|d}|itijod}ti}nÅ|itijod}ti}nŸ|itijo}|ditijpt‚t|ƒd
jpt‚|i|dƒ}}t|ƒd	jo|i|dƒ}qšntpt‚|djp
|djo1|
i	ƒ}
ti|
ggd|d|ƒ}
qén|dj	o
||
_n|
i	ƒS(sXCompiles a node, recursively.

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

	


)

cCst|ƒdjpt‚|d}|itijo/tti|iƒƒ}t	i
t|ƒ|ƒS|itijo|i}|i
ƒoN|tjotd|ƒ‚n|dotdƒ‚nt	i
t|ƒS|djo
d}nK|idƒp:t|i|dƒ}|djotd|ƒ‚q>n|do!|i|didƒg}nd}t	i||ƒSnz|idjo|i|dƒS|id	joG|djpt‚|i|dƒ}t	i|ggd
dddƒStp
t|‚dS(NiisInvalid token: %rsCan't have details for tokentanyt_sInvalid symbol: %rt(t[R2R3(R7R?RRtSTRINGtunicodeRt
evalStringRRtLeafPatternt_type_of_literaltNAMEtisuppert	TOKEN_MAPRR@t
startswithtgetattrR$R.R5tNodePatternR8RI(R'RURVRKRRtcontentt
subpattern((s%/usr/lib/python2.6/lib2to3/patcomp.pyR<‡s<
	




! cCs'|itijpt‚t|iƒS(N(RRtNUMBERR?tintR(R'RK((s%/usr/lib/python2.6/lib2to3/patcomp.pyRHªsN(
R	R
t_PATTERN_GRAMMAR_FILER)RIR1R.R@R<RH(((s%/usr/lib/python2.6/lib2to3/patcomp.pyR*s
		G#RaR\RitTOKENcCs=|diƒotiS|tijoti|SdSdS(Ni(tisalphaRRaRtopmapR@(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_infoRRRoR5((s%/usr/lib/python2.6/lib2to3/patcomp.pyR&¿scCstƒi|ƒS(N(RR1(RT((s%/usr/lib/python2.6/lib2to3/patcomp.pyR1Ès(t__doc__t
__author__tostpgen2RRRRRRtRRtpathtjointdirnamet__file__Rkt	ExceptionRRtobjectRRaR\RiR@RcR`R&R1(((s%/usr/lib/python2.6/lib2to3/patcomp.pyt<module>	s".		
†



				

ACC SHELL 2018