3 \NXã=@sˆdZdZddlZddlZddlmZmZddlTddlm Z dd „e e ƒDƒd d d gZ [ ye Wne k rzeZ YnXd d„Zdd„Zdd„ZdZdZeedeƒeeƒZdZdZdZdZeddƒZeeeeeƒZdZeddƒeeƒZdeZeeeƒZed ed!ƒZeeeeƒZ d"Z!d#Z"d$Z#d%Z$d&Z%ee%d'e%d(ƒZ&ee%d)e%d*ƒZ'ed+d,d-d.d/d0d1d2d3ƒ Z(d4Z)ed5d6ƒZ*ee(e)e*ƒZ+ee e+e'eƒZ,ee,Z-ee%d7ed8dƒe%d9ed:dƒƒZ.edee&ƒZ/eee/e e+e.eƒZ0e1e2ej3e-e0e#e$fƒƒ\Z4Z5Z6Z7ej3e!ƒej3e"ƒe6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7e6e7ddddddddd;œ4Z8iZ9xd¡D]Z:e:e9e:<�qˆWiZ;xd¢D]Z:e:e;e:<�q¤WdŒZGd�d�„d�e=ƒZ?d‘d’„Z@e@fd“d „ZAd”d•„ZBGd–d—„d—ƒZCej3d˜ejDƒZEej3d™ejDƒZFdšd›„ZGdœd�„ZHdžd „ZIdŸd „ZJeKd k�r„ddlLZLeMeLjNƒdk�rxeAeOeLjNdƒjPƒn eAeLjQjPƒdS)£zKa-Ping Yee z@GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, Skip MontanaroéN)ÚBOM_UTF8Úlookup)Ú*é)ÚtokencCsg|]}|ddkr|‘qS)rÚ_©)Ú.0Úxrrú./usr/lib64/python3.6/lib2to3/pgen2/tokenize.pyú %sr ÚtokenizeÚgenerate_tokensÚ untokenizecGsddj|ƒdS)Nú(ú|ú))Újoin)Úchoicesrrr Úgroup0srcGs t|ŽdS)Nr)r)rrrr Úany1srcGs t|ŽdS)Nú?)r)rrrr Úmaybe2srz[ \f\t]*z #[^\r\n]*z\\\r?\nz [a-zA-Z_]\w*z0[bB]_?[01]+(?:_[01]+)*z(0[xX]_?[\da-fA-F]+(?:_[\da-fA-F]+)*[lL]?z0[oO]?_?[0-7]+(?:_[0-7]+)*[lL]?z[1-9]\d*(?:_\d+)*[lL]?z0[lL]?z[eE][-+]?\d+(?:_\d+)*z\d+(?:_\d+)*\.(?:\d+(?:_\d+)*)?z\.\d+(?:_\d+)*z \d+(?:_\d+)*z\d+(?:_\d+)*[jJ]z[jJ]z[^'\\]*(?:\\.[^'\\]*)*'z[^"\\]*(?:\\.[^"\\]*)*"z%[^'\\]*(?:(?:\\.|'(?!''))[^'\\]*)*'''z%[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*"""z#(?:[uUrRbBfF]|[rR][bB]|[bBuU][rR])?ú'''ú"""z'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"z\*\*=?z>>=?z<<=?z<>z!=z//=?z->z[+\-*/%&@|^=<>]=?ú~z[][(){}]z\r?\nz[:;.,`@]z'[^\n'\\]*(?:\\.[^\n'\\]*)*ú'z"[^\n"\\]*(?:\\.[^\n"\\]*)*ú")4rrz'''z"""zr'''zr"""zu'''zu"""zb'''zb"""zf'''zf"""zur'''zur"""zbr'''zbr"""zrb'''zrb"""zR'''zR"""zU'''zU"""zB'''zB"""zF'''zF"""zuR'''zuR"""zUr'''zUr"""zUR'''zUR"""zbR'''zbR"""zBr'''zBr"""zBR'''zBR"""zrB'''zrB"""zRb'''zRb"""zRB'''zRB"""ÚrÚRÚuÚUÚfÚFÚbÚBúr'''úr"""úR'''úR"""úu'''úu"""úU'''úU"""úb'''úb"""úB'''úB"""úf'''úf"""úF'''úF"""úur'''úur"""úUr'''úUr"""úuR'''úuR"""úUR'''úUR"""úbr'''úbr"""úBr'''úBr"""úbR'''úbR"""úBR'''úBR"""úrb'''úrb"""úRb'''úRb"""úrB'''úrB"""úRB'''úRB"""úr'úr"úR'úR"úu'úu"úU'úU"úb'úb"úB'úB"úf'úf"úF'úF"úur'úur"úUr'úUr"úuR'úuR"úUR'úUR"úbr'úbr"úBr'úBr"úbR'úbR"úBR'úBR"úrb'úrb"úRb'úRb"úrB'úrB"úRB'úRB"éc@s eZdZdS)Ú TokenErrorN)Ú__name__Ú __module__Ú __qualname__rrrr rw¤srwc@s eZdZdS)ÚStopTokenizingN)rxryrzrrrr r{¦sr{c Cs4|\}}|\}}td||||t|t|ƒfƒdS)Nz%d,%d-%d,%d: %s %s)ÚprintÚtok_nameÚrepr) ÚtyperZxxx_todo_changemeZxxx_todo_changeme1ÚlineZsrowZscolZerowZecolrrr Ú printtoken¨sr�c Cs(yt||ƒWntk r"YnXdS)N)Ú tokenize_loopr{)ÚreadlineÚ tokeneaterrrr r ®s cCsxt|ƒD] }||Žq WdS)N)r)rƒr„Z token_inforrr r‚Ásr‚c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú UntokenizercCsg|_d|_d|_dS)Nrr)ÚtokensÚprev_rowÚprev_col)Úselfrrr Ú__init__ÇszUntokenizer.__init__cCs*|\}}||j}|r&|jjd|ƒdS)Nú )rˆr†Úappend)r‰ÚstartÚrowÚcolÚ col_offsetrrr Úadd_whitespaceÌs zUntokenizer.add_whitespacecCs„xv|D]n}t|ƒdkr$|j||ƒP|\}}}}}|j|ƒ|jj|ƒ|\|_|_|ttfkr|jd7_d|_qWdj |jƒS)NérrÚ) ÚlenÚcompatr‘r†rŒr‡rˆÚNEWLINEÚNLr)r‰ÚiterableÚtÚtok_typerr�Úendr€rrr rÓs        zUntokenizer.untokenizec CsÒd}g}|jj}|\}}|ttfkr,|d7}|ttfkr|t kr˜|j ƒqBn*|ttfkrªd}n|rÂ|rÂ||dƒd}||ƒqBWdS)NFr‹Tr’réÿÿÿÿ) r†rŒÚNAMEÚNUMBERr–r—ÚASYNCÚAWAITÚINDENTÚDEDENTÚpop) r‰rr˜Ú startlineÚindentsÚ toks_appendÚtoknumÚtokvalÚtokrrr r•ás0      zUntokenizer.compatN)rxryrzrŠr‘rr•rrrr r…Åsr…z&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s^[ \t\f]*(?:[#\r\n]|$)cCsH|dd…jƒjddƒ}|dks*|jdƒr.dS|d ks@|jd ƒrDdS|S)Né rú-zutf-8zutf-8-úlatin-1ú iso-8859-1ú iso-latin-1úlatin-1-ú iso-8859-1-ú iso-latin-1-)r¬r­r®)r¯r°r±)ÚlowerÚreplaceÚ startswith)Úorig_encÚencrrr Ú_get_normal_names r·cs¶d‰d}d}‡fdd„}‡fdd„}|ƒ}|jtƒrHd‰|dd…}d }|sT|gfS||ƒ}|rj||gfStj|ƒs~||gfS|ƒ}|s’||gfS||ƒ}|rª|||gfS|||gfS) NFzutf-8c s"yˆƒStk rtƒSXdS)N)Ú StopIterationÚbytesr)rƒrr Ú read_or_stop sz%detect_encoding..read_or_stopcs”y|jdƒ}Wntk r"dSXtj|ƒ}|s6dSt|jdƒƒ}y t|ƒ}Wn tk rptd|ƒ‚YnXˆr�|j dkrˆtdƒ‚|d7}|S)NÚasciirzunknown encoding: zutf-8zencoding problem: utf-8z-sig) ÚdecodeÚUnicodeDecodeErrorÚ cookie_reÚmatchr·rrÚ LookupErrorÚ SyntaxErrorÚname)r€Ú line_stringr¿ÚencodingÚcodec)Ú bom_foundrr Ú find_cookie&s"   z$detect_encoding..find_cookieTéz utf-8-sig)r´rÚblank_rer¿)rƒrÄÚdefaultrºrÇÚfirstÚsecondr)rÆrƒr Údetect_encoding s0         rÍcCstƒ}|j|ƒS)N)r…r)r˜Úutrrr rTsc!csšd}}}tjdd}}d\}}d}dg} d} d} d} d} �xüy |ƒ}Wntk rdd}YnX|d}dt|ƒ}}|�rF|s�td|ƒ‚|j|ƒ}|rÞ|jdƒ}}t||d|…|||f||fVd \}}d}nd|�r0|d!d…d k�r0|d"d…d k�r0t||||t|ƒf|fVd}d}qBn||}||}qB�nF|dk�rt| �rt|�s`Pd}xf||k�rÊ||d k�rˆ|d}n6||d k�r¨|t dt }n||dk�r¼d}nP|d}�qfW||k�rØP| �rè| Vd} ||dk�rž||dk�rh||d…j dƒ}|t|ƒ}t |||f||t|ƒf|fVt ||d…||f|t|ƒf|fVqBt t f||dk||d…||f|t|ƒf|fVqB|| d#k�rÖ| j |ƒt|d|…|df||f|fVxt|| d$k�rJ|| k�rtdd|||fƒ‚| dd%…} | �r.| | d&k�r.d} d} d} td||f||f|fV�qØW| �rŒ| �rŒ| | d'k�rŒd} d} d} n|�sˆtd|dfƒ‚d}�xª||k�r8tj||ƒ}|�r |jdƒ\}}||f||f|}}}|||…||}}||k�s|dk�r|dk�rt||||fV�q4|dk�rft}|dk�r8t }n | �rBd} | �rR| Vd} |||||fV�q4|dk�r”| �r€| Vd} t ||||fV�q4|tk�rt|}|j||ƒ}|�rô|jdƒ}|||…}| �rÞ| Vd} t||||f|fVn||f}||d…}|}P�q4|tk�s@|dd…tk�s@|dd …tk�r¸|d(dk�r”||f}t|�pxt|d�pxt|d}||d…d}}|}Pn | �r¤| Vd} t||||fV�q4||k�r�|d)k�rô| �rô|dk�ràtnt||||fV�q�t||||f}|dk�r| �r|} �q�|dk�rx| �rx| dtk�rx| ddk�rxd} | d*} t| d| d| d | dfVd} | �rˆ| Vd} |Vnz|dk�rÄ| �rª| Vd} t ||||f|fVd}nF|dk�rØ|d}n|dk�rê|d}| �rú| Vd} t||||fVn(t||||f||df|fV|d}�q�WqBW| �rN| Vd} x.| dd…D]} td|df|dfdfV�q\Wtd|df|dfdfVdS)+NrrÚ 0123456789r“FrzEOF in multi-line stringr’z\ rÈz\ r‹ú ú z# ú#z z3unindent does not match any outer indentation levelz zEOF in multi-line statementÚ.TÚ ÚasyncÚawaitÚdeféú\z([{z)]})r“r)r“réþÿÿÿéýÿÿÿrœrœrœrœrœrœ)rÕrÖrœ)ÚstringZ ascii_lettersr¸r”rwr¿r›ÚSTRINGÚ ERRORTOKENÚtabsizeÚrstripÚCOMMENTr—rŒr¡ÚIndentationErrorr¢Ú pseudoprogÚspanržr–Ú triple_quotedÚendprogsÚ single_quotedrŸr r�ÚOPÚ ENDMARKER)!rƒÚlnumÚparenlevÚ continuedZ namecharsÚnumcharsÚcontstrÚneedcontÚcontliner¥ÚstashedÚ async_defÚasync_def_indentÚ async_def_nlr€ÚposÚmaxÚstrstartÚendprogÚendmatchr›ÚcolumnÚ comment_tokenÚnl_posÚ pseudomatchr�ÚsposÚeposrÚinitialÚnewliner©Úindentrrr risp     *                             Ú__main__)*rrr&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrM)*rrrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtru)RÚ __author__Ú __credits__rÜÚreÚcodecsrrZlib2to3.pgen2.tokenr“rÚdirÚ__all__r¹Ú NameErrorÚstrrrrÚ WhitespaceÚCommentÚIgnoreÚNameÚ BinnumberÚ HexnumberÚ OctnumberÚ DecnumberÚ IntnumberÚExponentÚ PointfloatÚExpfloatÚ FloatnumberÚ ImagnumberÚNumberÚSingleÚDoubleÚSingle3ÚDouble3Z _litprefixÚTripleÚStringÚOperatorÚBracketÚSpecialÚFunnyÚ PlainTokenÚTokenÚContStrÚ PseudoExtrasÚ PseudoTokenÚlistÚmapÚcompileZ tokenprogrãZ single3progZ double3progrærår™rçrßÚ Exceptionrwr{r�r r‚r…ÚASCIIr¾rÉr·rÍrrrxÚsysr”ÚargvÚopenrƒÚstdinrrrr Úsü              8 Ic