Your IP : 172.28.240.42


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


|_c@sddlmZmZmZdejfdYZdefdYZdefdYZdefd	YZ	d
dZ
dS(
i(tgrammarttokenttokenizetPgenGrammarcBseZRS((t__name__t
__module__(((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRstParserGeneratorcBseZddZdZdZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZddZdZdZRS(cCsd}|dkr*t|}|j}n||_||_tj|j|_|j	|j
\|_|_|dk	r|ni|_
|jdS(N(tNonetopentclosetfilenametstreamRtgenerate_tokenstreadlinet	generatortgettokentparsetdfaststartsymboltfirsttaddfirstsets(tselfR
Rtclose_stream((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyt__init__s		

	cCst}|jj}|j|j|j|jd|jx;|D]3}dt|j}||j|<||j	|<qLWx|D]}|j|}g}x|D]}g}xE|j
jD]4\}	}
|j|j
||	|j|
fqW|jr&|jd|j|fn|j|qW|jj|||j||f|j|j|<qW|j|j|_|S(Nii(RRtkeystsorttremoveRtinserttlent
symbol2numbert
number2symboltarcst	iteritemstappendt
make_labeltindextisfinaltstatest
make_firsttstart(RtctnamestnametitdfaR%tstateRtlabeltnext((s(/usr/lib/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/lib/python2.7/lib2to3/pgen2/pgen.pyR&4s

cCst|j}|djr||jkry||jkrH|j|S|jj|j|df||j|<|Sqtt|d}t	|t
st||tjkst|||j
kr|j
|S|jj|df||j
|<|Sn|ddks!t|t|}|djr||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/lib/python2.7/lib2to3/pgen2/pgen.pyR"=s<




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


c	Csj|j|}d|j|<|d}i}i}x|jjD]\}}||jkr||jkr|j|}|dkrtd|qn|j||j|}|j||||<q@d||<id|6||<q@Wi}	xd|jD]V\}}
xG|
D]?}||	krGtd||||	|fn||	|<qWqW||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/lib/python2.7/lib2to3/pgen2/pgen.pyRDss2









c	Csi}d}x|jtjkrx |jtjkrC|jq$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/lib/python2.7/lib2to3/pgen2/pgen.pyRs"


cs>t|tstt|ts*tfd}fdt|||g}x|D]}i}xS|jD]H}x?|jD]4\}}	|dk	r|	|j|iqqWq}Wxj|jD]\\}}
x=|D]}|j|
krPqqWt|
|}|j	||j
||qWqgW|S(Ncsi}|||S(N((R-tbase(t
addclosure(s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pytclosures
csit|tst||kr%dSd||<x3|jD](\}}|dkr9||q9q9WdS(Ni(R9tNFAStateR;RR(R-RZR.R/(R[(s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyR[s
(R9R]R;tDFAStatetnfasetRRt
setdefaultR R!taddarc(RR'tfinishR\R%R-RtnfastateR.R/R_tst((R[s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRTs&
$

c
CsdG|GH|g}xt|D]\}}dG|G||krEdpHdGHxu|jD]j\}}||kr~|j|}	nt|}	|j||dkrd|	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/lib/python2.7/lib2to3/pgen2/pgen.pytdump_nfas		
cCs~dG|GHxnt|D]`\}}dG|G|jr9dp<dGHx5|jjD]$\}}d||j|fGHqNWqWdS(NsDump of DFA fors  States(final)Res    %s -> %d(RfR$RR R#(RR*R,R+R-R.R/((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pytdump_dfas
	cCst}x|rt}xt|D]x\}}xit|dt|D]N}||}||krH||=x|D]}|j||qrWt}PqHqHWq"Wq	WdS(Ni(tTruetFalseRftrangeRt
unifystate(RR,tchangesR+tstate_iRhtstate_jR-((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRUs	 

cCs|j\}}|jdkr+||fSt}t}|j||j|xI|jdkr|j|j\}}|j||j|qZW||fSdS(Nt|(t	parse_altRCR]RaR(RRVRWtaatzz((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRSs
		



cCsr|j\}}xS|jdks?|jtjtjfkrg|j\}}|j||}qW||fS(Nt(t[(RvRw(t
parse_itemRCRNRR@tSTRINGRa(RRVtbR(td((s(/usr/lib/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/lib/python2.7/lib2to3/pgen2/pgen.pyRxs


	



cCs|jdkrH|j|j\}}|jtjd||fS|jtjtjfkrt	}t	}|j
||j|j||fS|jd|j|jdS(NRvt)s+expected (...) or NAME or STRING, got %s/%s(RCRRSRQRRRRNR@RyR]Ratraise_error(RRVRW((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyR(s

		

	cCsc|j|ks*|dk	rL|j|krL|jd|||j|jn|j}|j|S(Nsexpected %s/%s, got %s/%s(RNRRCRR(RRNRC((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRQ9s*		
cCsi|jj}x/|dtjtjfkr@|jj}qW|\|_|_|_|_|_	dS(Ni(
RR/RtCOMMENTtNLRNRCtbegintendtline(Rttup((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRAscGss|r@y||}Wq@dj|gtt|}q@Xnt||j|jd|jd|jfdS(Nt ii(tjointmaptstrtSyntaxErrorR
RR(Rtmsgtargs((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRHs&N(RRRRR0R&R"RRDRRTRiRjRURSRsRxRRQRR(((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyR
s$				.				$					
			R]cBseZdZddZRS(cCs
g|_dS(N(R(R((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRSscCsP|dks!t|ts!tt|ts6t|jj||fdS(N(RR9RR;R]RR!(RR/R.((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRaVs!N(RRRRRa(((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyR]Qs	R^cBs2eZdZdZdZdZdZRS(cCspt|tsttt|jts6tt|tsKt||_||k|_i|_dS(N(	R9tdictR;titerR/R]R_R$R(RR_tfinal((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyR]s!	cCsPt|tst||jks*tt|ts?t||j|<dS(N(R9RR;RR^(RR/R.((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRaescCs@x9|jjD](\}}||kr||j|<qqWdS(N(RR (RtoldtnewR.R/((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyRnkscCst|tst|j|jkr+tSt|jt|jkrMtSx9|jjD](\}}||jj|k	r]tSq]Wt	S(N(
R9R^R;R$RlRRR tgetRk(RtotherR.R/((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyt__eq__psN(RRRRaRnRRt__hash__(((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyR^[s
				sGrammar.txtcCst|}|jS(N(RR0(R
tp((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pytgenerate_grammarsN(ReRRRtGrammarRtobjectRR]R^R(((s(/usr/lib/python2.7/lib2to3/pgen2/pgen.pyt<module>sH
%