Your IP : 18.222.67.8


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

�
{fc@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}xKt
|jj��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
number2symboltsortedtarcst	iteritemstappendt
make_labeltindextisfinaltstatest
make_firsttstart(RtctnamestnametitdfaR&tstateR tlabeltnext((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytmake_grammars.	





",	*cCsJ|j|}i}x0t|�D]"}|j||�}d||<q W|S(Ni(RRR#(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�}||j	kr�|j	|S|jj|df�||j	|<|Sn�t
|�}|dj�r2||jkr|j|S|jjtj|f�||j|<|SnNt
j|}||j	krY|j	|S|jj|df�||j	|<|SdS(Ni(RtlabelstisalphaRtsymbol2labelR"RtgetattrRttokenstevaltkeywordstNAMERtopmap(RR)R/R3titokentvalue((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR#=s6




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(RRRR R!t
ValueErrorR?tupdate(RR+R-R.ttotalsettoverlapcheckR/R0tfsettinversetitsfirsttsymbol((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR?ss2









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�fd�}�fd��t||�|�g}x�|D]�}i}xS|jD]H}x?|jD]4\}}	|dk	rc�|	|j|i��qcqcWqSWxpt|j��D]\\}}
x=|D]}|j|
kr�Pq�q�Wt|
|�}|j|�|j||�q�Wq=W|S(Ncsi}�||�|S(N((R.tbase(t
addclosure(s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytclosure�s
csT||krdSd||<x3|jD](\}}|dkr$�||�q$q$WdS(Ni(R R(R.RUR/R0(RV(s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRV�s
(	tDFAStatetnfasetR Rt
setdefaultRR!R"taddarc(RR(tfinishRWR&R.R tnfastateR/R0RYtst((RVs*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRO�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	enumerateR R$RR"R(
RR+R(R\ttodoR,R.R/R0tj((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytdump_nfa�s		
cCs�dG|GHxtt|�D]f\}}dG|G|jr9dp<dGHx;t|jj��D]$\}}d||j|�fGHqTWqWdS(NsDump of DFA fors  States(final)R_s    %s -> %d(R`R%RR R!R$(RR+R-R,R.R/R0((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(tTruetFalseR`trangeRt
unifystate(RR-tchangesR,tstate_iRbtstate_jR.((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRP�s	 

cCs�|j�\}}|jdkr+||fSt�}t�}|j|�|j|�xI|jdkr�|j�|j�\}}|j|�|j|�qZW||fSdS(Nt|(t	parse_altR>tNFAStateR[R(RRQRRtaatzz((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRN�s
		



cCsr|j�\}}xS|jdks?|jtjtjfkrg|j�\}}|j|�|}qW||fS(Nt(t[(RqRr(t
parse_itemR>RIRR;tSTRINGR[(RRQtbR)td((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRm
s

cCs�|jdkrU|j�|j�\}}|jtjd�|j|�||fS|j�\}}|j}|dkr�||fS|j�|j|�|dkr�||fS||fSdS(NRrt]t+t*(RxRy(R>RRNRLRRMR[t
parse_atom(RRQRRR>((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRss


	



cCs�|jdkrH|j�|j�\}}|jtjd�||fS|jtjtjfkr�t	�}t	�}|j
||j�|j�||fS|jd|j|j�dS(NRqt)s+expected (...) or NAME or STRING, got %s/%s(R>RRNRLRRMRIR;RtRnR[traise_error(RRQRR((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRz(s

		

	cCsc|j|ks*|dk	rL|j|krL|jd|||j|j�n|j}|j�|S(Nsexpected %s/%s, got %s/%s(RIRR>R|R(RRIR>((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRL9s*		
cCsi|jj�}x/|dtjtjfkr@|jj�}qW|\|_|_|_|_|_	dS(Ni(
RR0RtCOMMENTtNLRIR>tbegintendtline(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.pyR|Hs&N(RRRRR1R'R#RR?RRORcRdRPRNRmRsRzRLRR|(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR
s$				.				$					
			RncBseZd�Zdd�ZRS(cCs
g|_dS(N(R (R((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRSscCs|jj||f�dS(N(R R"(RR0R/((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR[VsN(RRRRR[(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRnQs	RXcBs2eZd�Zd�Zd�Zd�ZdZRS(cCs%||_||k|_i|_dS(N(RYR%R (RRYtfinal((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR]s	cCs||j|<dS(N(R (RR0R/((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR[escCs@x9|jj�D](\}}||kr||j|<qqWdS(N(R R!(RtoldtnewR/R0((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRhkscCsx|j|jkrtSt|j�t|j�kr8tSx9|jj�D](\}}||jj|�k	rHtSqHWtS(N(R%RfRR R!tgetRe(RtotherR/R0((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt__eq__psN(RRRR[RhR�Rt__hash__(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRX[s
				sGrammar.txtcCst|�}|j�S(N(RR1(R
tp((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pytgenerate_grammar�sN(R_RRRtGrammarRtobjectRRnRXR�(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt<module>s�H
%

?>