File "patcomp.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyc
File size: 6.6 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit


V~gc@sdZdZddlZddlmZmZmZmZmZm	Z	ddl
mZddl
mZde
fd	YZd
ZdefdYZiejd
6ejd6ejd6dd6ZdZdZdZdS(sPattern compiler.

The grammar is taken from PatternGrammar.txt.

The compiler compiles a pattern to a pytree.*Pattern instance.
s#Guido van Rossum <guido@python.org>iNi(tdrivertliteralsttokenttokenizetparsetgrammar(tpytree(tpygramtPatternSyntaxErrorcBseZRS((t__name__t
__module__(((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyRsc	cswttjtjtjf}tjtj|j}x7|D]/}|\}}}}}||kr@|Vq@q@WdS(s6Tokenizes a string suppressing significant whitespace.N(	tsetRtNEWLINEtINDENTtDEDENTRtgenerate_tokenstStringIOtreadline(	tinputtskipttokenst	quintuplettypetvaluetstarttendt	line_text((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyttokenize_wrappers
tPatternCompilercBsAeZddZeedZdZddZdZRS(cCs|dkr'tj|_tj|_n'tj||_tj|j|_tj	|_
tj|_tj
|jdt|_dS(s^Initializer.

        Takes an optional alternative filename for the pattern grammar.
        tconvertN(tNoneRtpattern_grammarRtpattern_symbolstsymsRtload_grammartSymbolstpython_grammart	pygrammartpython_symbolstpysymstDrivertpattern_convert(tselftgrammar_file((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyt__init__(scCs}t|}y|jj|d|}Wn(tjk
rR}tt|nX|rl|j||fS|j|SdS(s=Compiles a pattern string to a nested pytree.*Pattern object.tdebugN(RRtparse_tokensRt
ParseErrorRtstrtcompile_node(R*RR-t	with_treeRtrootte((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pytcompile_pattern7scCs|j|jjkr%|jd}n|j|jjkrg|jdddD]}|j|^qQ}t|dkr|dStjg|D]}|g^qdddd}|j	S|j|jj
kr=g|jD]}|j|^q}t|dkr|dStj|gdddd}|j	S|j|jjkr|j|jd}tj
|}|j	S|j|jjkstd}|j}	t|	dkr|	djtjkr|	dj}|	d}	nd}
t|	dkr5|	dj|jjkr5|	d}
|	d }	n|j|	|
}|
dk	r|
j|jjksnt|
j}|d}|jtjkrd}
tj}n|jtjkrd}
tj}n|jtjkrQ|djtjkstt|d
kst|j|d}
}t|d	kr]|j|d}q]nts]t|
dksu|dkr|j	}tj|ggd|
d|}qn|dk	r||_n|j	S(sXCompiles a node, recursively.

        This is one big switch on the node type.
        iNiitmintmaxiii(ii(RR!tMatchertchildrentAlternativesR1tlenRtWildcardPatterntoptimizetAlternativetNegatedUnitt
compile_basictNegatedPatterntUnittAssertionErrorRRtEQUALRtRepeatertSTARtHUGEtPLUStLBRACEtRBRACEtget_inttFalsetname(R*tnodetchtaltstatptunitstpatternRMtnodestrepeatR9tchildR6R7((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyR1Csh21
%

	(

+

	
'cCst|dkst|d}|jtjkrbttj|j}t	j
t||S|jtjkrp|j}|j
r|tkrtd|n|drtdnt	j
t|S|dkrd}nF|jds-t|j|d}|dkr-td|q-n|drW|j|djdg}nd}t	j||Sns|jdkr|j|dS|jd	kr|dkst|j|d}t	j|ggd
dddStst|dS(NiisInvalid token: %rsCan't have details for tokentanyt_sInvalid symbol: %rt(t[R6R7(R;RCRRtSTRINGtunicodeRt
evalStringRRtLeafPatternt_type_of_literaltNAMEtisuppert	TOKEN_MAPRRt
startswithtgetattrR'R1R9tNodePatternR<RL(R*RURVRNRRtcontentt
subpattern((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyR@s<
	
	
 cCs%|jtjkstt|jS(N(RRtNUMBERRCtintR(R*RN((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyRKsN(	R	R
RR,RLR5R1R@RK(((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyR&s
	G#RaR\RitTOKENcCs9|djrtjS|tjkr1tj|SdSdS(Ni(tisalphaRRaRtopmapR(R((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyR`s
cCsW|\}}}}|s'||jkr=tj||d|Stj||d|SdS(s9Converts raw node information to a Node or Leaf instance.tcontextN(t
number2symbolRtNodetLeaf(Rt
raw_node_infoRRRnR9((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyR)scCstj|S(N(RR5(RT((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyR5s(t__doc__t
__author__Rtpgen2RRRRRRtRRt	ExceptionRRtobjectRRaR\RiRRcR`R)R5(((s4/opt/alt/python27/lib64/python2.7/lib2to3/patcomp.pyt<module>	s.