� {fc@s�ddlmZmZmZdejfd��YZdefd��YZdefd��YZdefd ��YZ d d �Z d S( i(tgrammarttokenttokenizet PgenGrammarcBseZRS((t__name__t __module__(((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRstParserGeneratorcBs�eZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d �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 generatortgettokentparsetdfast startsymboltfirstt addfirstsets(tselfR R t close_stream((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt__init__ s         c Cs�t�}|jj�}|j�|j|j�|jd|j�x;|D]3}dt|j�}||j|<||j | %ds %s -> %d(t enumerateR R$RR"R( RR+R(RdttodoR,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)Rgs %s -> %d(RhR%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(tTruetFalseRhtrangeRt unifystate(RR-tchangesR,tstate_iRjtstate_jR.((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRW�s     cCs�|j�\}}|jdkr+||fSt�}t�}|j|�|j|�xI|jdkr�|j�|j�\}}|j|�|j|�qZW||fSdS(Nt|(t parse_altRER_RcR(RRXRYtaatzz((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRU�s       cCsr|j�\}}xS|jdks?|jtjtjfkrg|j�\}}|j|�|}qW||fS(Nt(t[(RxRy(t parse_itemRERPRRBtSTRINGRc(RRXtbR)td((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRu s  cCs�|jdkrU|j�|j�\}}|jtjd�|j|�||fS|j�\}}|j}|dkr�||fS|j�|j|�|dkr�||fS||fSdS(NRyt]t+t*(RR�(RERRURSRRTRct parse_atom(RRXRYRE((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRzs          cCs�|jdkrH|j�|j�\}}|jtjd�||fS|jtjtjfkr�t �}t �}|j ||j�|j�||fS|j d|j|j�dS(NRxt)s+expected (...) or NAME or STRING, got %s/%s( RERRURSRRTRPRBR{R_Rct raise_error(RRXRY((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(RPRRER�R(RRPRE((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRS9s *   cCsi|jj�}x/|dtjtjfkr@|jj�}qW|\|_|_|_|_|_ dS(Ni( RR0RtCOMMENTtNLRPREtbegintendtline(Rttup((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRAscGss|r@y||}Wq@dj|gtt|��}q@Xnt||j|jd|jd|jf��dS(Nt ii(tjointmaptstrt SyntaxErrorR R�R�(Rtmsgtargs((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR�Hs&N(RRRRR1R'R#RRFRRVRkRlRWRURuRzR�RSRR�(((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(RR:R�R=R_R R"(RR0R/((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRcVs!N(RRRRRc(((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( R:tdictR=titerR0R_RaR%R (RRatfinal((s*/usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR]s ! cCsPt|t�st�||jks*t�t|t�s?t�||j|s �H %