MINI MINI MANI MO

Path : /usr/lib64/python2.7/lib2to3/pgen2/
File Upload :
Current File : //usr/lib64/python2.7/lib2to3/pgen2/pgen.pyc

ó
Eì]c@s‡ddlmZmZmZdejfd„ƒYZdefd„ƒYZdefd„ƒYZdefd	„ƒYZ	d
d„Z
dS(
i(tgrammarttokenttokenizetPgenGrammarcBseZRS((t__name__t
__module__(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRstParserGeneratorcBs°eZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zdd„Zd„Zd„ZRS(cCs d}|dkr*t|ƒ}|j}n||_||_tj|jƒ|_|j	ƒ|j
ƒ\|_|_|dk	r‰|ƒni|_
|jƒdS(N(tNonetopentclosetfilenametstreamRtgenerate_tokenstreadlinet	generatortgettokentparsetdfaststartsymboltfirsttaddfirstsets(tselfR
Rtclose_stream((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt__init__s		

	cCsˆtƒ}|jjƒ}|jƒ|j|jƒ|jd|jƒx;|D]3}dt|jƒ}||j|<||j	|<qLWxë|D]ã}|j|}g}x‘|D]‰}g}xE|j
jƒD]4\}	}
|j|j
||	ƒ|j|
ƒfƒqÆW|jr&|jd|j|ƒfƒn|j|ƒqªW|jj|ƒ||j||ƒf|j|j|<qŠW|j|j|_|S(Nii(RRtkeystsorttremoveRtinserttlent
symbol2numbert
number2symboltarcst	iteritemstappendt
make_labeltindextisfinaltstatest
make_firsttstart(RtctnamestnametitdfaR%tstateRtlabeltnext((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytmake_grammars.	





,	*cCsD|j|}i}x*|D]"}|j||ƒ}d||<qW|S(Ni(RR"(RR(R*trawfirstRR.tilabel((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR&4s

cCsÖt|jƒ}|djƒr||jkry||jkrH|j|S|jj|j|dfƒ||j|<|SqÒtt|dƒ}t	|t
ƒs¦t|ƒ‚|tjksÁt|ƒ‚||j
krÛ|j
|S|jj|dfƒ||j
|<|SnÍ|ddks!t|ƒ‚t|ƒ}|djƒr„||jkrW|j|S|jjtj|fƒ||j|<|SnNtj|}||j
kr«|j
|S|jj|dfƒ||j
|<|SdS(Nit"t'(R3R4(RtlabelstisalphaRtsymbol2labelR!RtgetattrRt
isinstancetinttAssertionErrorttok_namettokenstevaltkeywordstNAMERtopmap(RR(R.R2titokentvalue((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR"=s<




cCsM|jjƒ}|jƒx-|D]%}||jkr |j|ƒq q WdS(N(RRRRt	calcfirst(RR)R*((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRks


c	Csj|j|}d|j|<|d}i}i}x¹|jjƒD]¨\}}||jkrÍ||jkr™|j|}|dkr³td|ƒ‚q³n|j|ƒ|j|}|j|ƒ|||<q@d||<id|6||<q@Wi}	xd|jƒD]V\}}
xG|
D]?}||	krGtd||||	|fƒ‚n||	|<qWqÿW||j|<dS(Nisrecursion for rule %risArule %s is ambiguous; %s is in the first sets of %s as well as %s(RRRRR t
ValueErrorRDtupdate(RR*R,R-ttotalsettoverlapcheckR.R/tfsettinversetitsfirsttsymbol((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRDss2









c	Csïi}d}xÖ|jtjkräx |jtjkrC|jƒq$W|jtjƒ}|jtjdƒ|j	ƒ\}}|jtjƒ|j
||ƒ}t|ƒ}|j|ƒt|ƒ}|||<|dkr|}qqW||fS(Nt:(
RttypeRt	ENDMARKERtNEWLINERtexpectR@tOPt	parse_rhstmake_dfaRtsimplify_dfa(	RRRR*tatzR,toldlentnewlen((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR‘s"


cs>t|tƒst‚t|tƒs*t‚‡fd†}‡fd†‰t||ƒ|ƒg}x×|D]Ï}i}xS|jD]H}x?|jD]4\}}	|dk	rˆ|	|j|iƒƒqqWq}Wxj|jƒD]\\}}
x=|D]}|j|
kréPqéqéWt|
|ƒ}|j	|ƒ|j
||ƒqÖWqgW|S(Ncsi}ˆ||ƒ|S(N((R-tbase(t
addclosure(s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytclosure°s
csit|tƒst‚||kr%dSd||<x3|jD](\}}|dkr9ˆ||ƒq9q9WdS(Ni(R9tNFAStateR;RR(R-RZR.R/(R[(s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR[´s
(R9R]R;tDFAStatetnfasetRRt
setdefaultR R!taddarc(RR'tfinishR\R%R-RtnfastateR.R/R_tst((R[s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRT©s&
$

c
CsÊdG|GH|g}x±t|ƒD]£\}}dG|G||krEdpHdGHxu|jD]j\}}||kr~|j|ƒ}	nt|ƒ}	|j|ƒ|dkr¯d|	GHqTd||	fGHqTWqWdS(NsDump of NFA fors  States(final)ts	    -> %ds    %s -> %d(t	enumerateRR#RR!R(
RR*R'RbttodoR+R-R.R/tj((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytdump_nfaÍs		
cCs~dG|GHxnt|ƒD]`\}}dG|G|jr9dp<dGHx5|jjƒD]$\}}d||j|ƒfGHqNWqWdS(NsDump of DFA fors  States(final)Res    %s -> %d(RfR$RR R#(RR*R,R+R-R.R/((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytdump_dfaÝs
	cCs¦t}x™|r¡t}x†t|ƒD]x\}}xit|dt|ƒƒD]N}||}||krH||=x|D]}|j||ƒqrWt}PqHqHWq"Wq	WdS(Ni(tTruetFalseRftrangeRt
unifystate(RR,tchangesR+tstate_iRhtstate_jR-((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRUäs	 

cCs±|jƒ\}}|jdkr+||fStƒ}tƒ}|j|ƒ|j|ƒxI|jdkr¢|jƒ|jƒ\}}|j|ƒ|j|ƒqZW||fSdS(Nt|(t	parse_altRCR]RaR(RRVRWtaatzz((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRSùs
		



cCsr|jƒ\}}xS|jdks?|jtjtjfkrg|jƒ\}}|j|ƒ|}qW||fS(Nt(t[(RvRw(t
parse_itemRCRNRR@tSTRINGRa(RRVtbR(td((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRs
s

cCsÁ|jdkrU|jƒ|jƒ\}}|jtjdƒ|j|ƒ||fS|jƒ\}}|j}|dkr†||fS|jƒ|j|ƒ|dkr³||fS||fSdS(NRwt]t+t*(R}R~(RCRRSRQRRRRat
parse_atom(RRVRWRC((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRxs


	



cCs¹|jdkrH|jƒ|jƒ\}}|jtjdƒ||fS|jtjtjfkrœt	ƒ}t	ƒ}|j
||jƒ|jƒ||fS|jd|j|jƒdS(NRvt)s+expected (...) or NAME or STRING, got %s/%s(RCRRSRQRRRRNR@RyR]Ratraise_error(RRVRW((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR(s

		

	cCsc|j|ks*|dk	rL|j|krL|jd|||j|jƒn|j}|jƒ|S(Nsexpected %s/%s, got %s/%s(RNRRCRR(RRNRC((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRQ9s*		
cCsi|jjƒ}x/|dtjtjfkr@|jjƒ}qW|\|_|_|_|_|_	dS(Ni(
RR/RtCOMMENTtNLRNRCtbegintendtline(Rttup((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRAscGss|r@y||}Wq@dj|gtt|ƒƒ}q@Xnt||j|jd|jd|jfƒ‚dS(Nt ii(tjointmaptstrtSyntaxErrorR
R…R†(Rtmsgtargs((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRHs&N(RRRRR0R&R"RRDRRTRiRjRURSRsRxRRQRR(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR
s$				.				$					
			R]cBseZd„Zdd„ZRS(cCs
g|_dS(N(R(R((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRSscCsP|dks!t|tƒs!t‚t|tƒs6t‚|jj||fƒdS(N(RR9R‹R;R]RR!(RR/R.((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRaVs!N(RRRRRa(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR]Qs	R^cBs2eZd„Zd„Zd„Zd„ZdZRS(cCspt|tƒst‚tt|ƒjƒtƒs6t‚t|tƒsKt‚||_||k|_i|_dS(N(	R9tdictR;titerR/R]R_R$R(RR_tfinal((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR]s!	cCsPt|tƒst‚||jks*t‚t|tƒs?t‚||j|<dS(N(R9R‹R;RR^(RR/R.((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRaescCs@x9|jjƒD](\}}||kr||j|<qqWdS(N(RR (RtoldtnewR.R/((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRnkscCst|tƒst‚|j|jkr+tSt|jƒt|jƒkrMtSx9|jjƒD](\}}||jj|ƒk	r]tSq]Wt	S(N(
R9R^R;R$RlRRR tgetRk(RtotherR.R/((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt__eq__psN(RRRRaRnR–Rt__hash__(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR^[s
				sGrammar.txtcCst|ƒ}|jƒS(N(RR0(R
tp((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytgenerate_grammar€sN(ReRRRtGrammarRtobjectRR]R^R™(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt<module>sÿH
%

OHA YOOOO