V Qc@sdZddlZddlZddlZddlZdeejjdZdZ dfdYZ ej dZ d Z d Zed kreejdndS( s'Usage: unparse.py iNt1eicCsZt|}y|t|Wntk r3n#Xx|D]}|||q;WdS(s<Call f on each item in seq, calling inter() in between. N(titertnextt StopIteration(tintertftseqtx((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt interleave s   tUnparsercBseZdZejdZddZdZdZdZ dZ dZ d Z d Z d Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+d)Z,d*Z-d+Z.d,Z/d-Z0d.Z1d/Z2id0d16d2d36d4d56d6d76Z3d8Z4i d4d96d6d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6Z5dOZ6i dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6Z7ddZ8idee9j:6dfe9j;6Z<dgZ=dhZ>diZ?djZ@dkZAdlZBdmZCdnZDdoZEdpZFdqZGdrZHRS(ssMethods in this class recursively traverse an AST and output source code for the abstract syntax; original formatting is disregarded. cCsI||_g|_d|_|j||jjd|jjdS(sTUnparser(tree, file=sys.stdout) -> None. Print the source for tree to file.itN(Rtfuture_importst_indenttdispatchtwritetflush(tselfttreetfile((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt__init__s     R cCs#|jjdd|j|dS(sBIndent a piece of text, according to the current indentation levels s N(RRR (Rttext((s+/usr/lib64/python2.7/Demo/parser/unparse.pytfill'scCs|jj|dS(s+Append a piece of text to the current line.N(RR(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyR+scCs |jd|jd7_dS(s(Print ':', and increase the indentation.t:iN(RR (R((s+/usr/lib64/python2.7/Demo/parser/unparse.pytenter/s cCs|jd8_dS(sDecrease the indentation level.iN(R (R((s+/usr/lib64/python2.7/Demo/parser/unparse.pytleave4scCsXt|tr1x|D]}|j|qWdSt|d|jj}||dS(s:Dispatcher function, dispatching tree type T to method _T.Nt_(t isinstancetlistR tgetattrt __class__t__name__(RRtttmeth((s+/usr/lib64/python2.7/Demo/parser/unparse.pyR 8s  cCs%x|jD]}|j|q WdS(N(tbodyR (RRtstmt((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_ModuleIscCs|j|j|jdS(N(RR tvalue(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_ExprNs cs0jdtfdj|jdS(Nsimport cs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pytTs(RRR tnames(RR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_ImportRs cs|jr8|jdkr8jjd|jDnjdjd|j|jruj|jnjdtfdj|jdS(Nt __future__css|]}|jVqdS(N(tname(t.0tn((s+/usr/lib64/python2.7/Demo/parser/unparse.pys Yssfrom t.s import cs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&`s( tmoduleR textendR'RRtlevelRR (RR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt _ImportFromVs    cCsL|jx+|jD] }|j||jdqW|j|jdS(Ns = (RttargetsR RR$(RRttarget((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Assignbs   cCsS|j|j|j|jd|j|jjjd|j|jdS(Nt s= ( RR R3RtbinoptopRRR$(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _AugAssignis %cCs:|jd|jr6|jd|j|jndS(NtreturnR5(RR$RR (RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Returnos   cCs|jddS(Ntpass(R(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_PassuscCs|jddS(Ntbreak(R(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_BreakxscCs|jddS(Ntcontinue(R(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _Continue{scs0jdtfdj|jdS(Nsdel cs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&s(RRR R2(RR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Delete~s cCsJ|jd|j|j|jrF|jd|j|jndS(Nsassert s, (RR ttesttmsgR(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Asserts    cCss|jd|j|j|jrF|jd|j|jn|jro|jd|j|jndS(Nsexec s in s, (RR R!tglobalsRtlocals(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Execs     cCs|jdt}|jrB|jd|j|jt}nx:|jD]/}|rh|jdnt}|j|qLW|js|jdndS(Nsprint s>>s, t,(RtFalsetdestRR tTruetvaluestnl(RRtdo_commate((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Prints     cs0jdtfdj|jdS(Nsglobal cs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&s(RRRR'(RR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Globals cCsT|jd|jd|jrC|jd|j|jn|jddS(Nt(tyieldR5t)(RR$R (RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Yields     cCs|jd|jr)|j|jn|jrR|jd|j|jn|jr{|jd|j|jndS(Nsraise s, (RttypeR tinstRttback(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Raises      cCs|jd|j|j|j|jx|jD]}|j|q;W|jr|jd|j|j|j|jndS(Nttrytelse(RRR R!Rthandlerstorelse(RRtex((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _TryExcepts      cCst|jdkrAt|jdtjrA|j|jn1|jd|j|j|j|j|jd|j|j|j |jdS(NiiRZtfinally( tlenR!Rtastt TryExceptR RRRt finalbody(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _TryFinallys.     cCs|jd|jr6|jd|j|jn|jr_|jd|j|jn|j|j|j|jdS(NtexceptR5s as (RRVRR R*RR!R(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_ExceptHandlers      cCs|jdx+|jD] }|jd|j|qW|jd|j|jr|jdx+|jD] }|j||jdqoW|jdn|j|j|j|jdS(Ns t@sclass RRs, RT( Rtdecorator_listRR R*tbasesRR!R(RRtdecota((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _ClassDefs      cCs|jdx+|jD] }|jd|j|qW|jd|jd|j|j|jd|j|j|j|jdS(Ns Rhsdef RRRT( RRiRR R*targsRR!R(RRRk((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _FunctionDefs    cCs|jd|j|j|jd|j|j|j|j|j|j|jr|jd|j|j|j|jndS(Nsfor s in R[( RR R3RRRR!RR](RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Fors       cCs|jd|j|j|j|j|j|jx|jrt|jdkrt|jdt j r|jd}|jd|j|j|j|j|j|jqDW|jr |jd|j|j|j|jndS(Nsif iiselif R[( RR RBRR!RR]RaRRbtIf(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_If s$   !      cCs|jd|j|j|j|j|j|j|jr~|jd|j|j|j|jndS(Nswhile R[(RR RBRR!RR](RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_While!s      cCsn|jd|j|j|jrF|jd|j|jn|j|j|j|jdS(Nswith s as (RR t context_exprt optional_varsRRR!R(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_With-s    cCsd|jkr(|jt|jnct|jtrW|jdt|jn4t|jtr|jt|jjdndS(Ntunicode_literalstbtu(R RtreprtsRtstrtunicodetlstrip(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Str8s"cCs|j|jdS(N(Rtid(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_NameEscCs.|jd|j|j|jddS(Nt`(RR R$(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_ReprHs cCsjt|j}|jdr.|jdn|j|jdt|jdrf|jdndS(Nt-RRtinfRT(RzR,t startswithRtreplacetINFSTR(RRtrepr_n((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_NumMs cs=jdtfdj|jjddS(Nt[cs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&Yst](RRR telts(RR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_ListWs cCsO|jd|j|jx|jD]}|j|q'W|jddS(NRR(RR teltt generators(RRtgen((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _ListComp\s  cCsO|jd|j|jx|jD]}|j|q'W|jddS(NRRRT(RR RR(RRR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _GeneratorExpcs  cCsO|jd|j|jx|jD]}|j|q'W|jddS(Nt{t}(RR RR(RRR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_SetCompjs  cCsl|jd|j|j|jd|j|jx|jD]}|j|qDW|jddS(NRs: R(RR tkeyR$R(RRR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _DictCompqs  cCsl|jd|j|j|jd|j|jx+|jD] }|jd|j|qDWdS(Ns for s in s if (RR R3Rtifs(RRt if_clause((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_comprehensionzs   cCsh|jd|j|j|jd|j|j|jd|j|j|jddS(NRRs if s else RT(RR R!RBR](RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_IfExps   cs=jdtfdj|jjddS(NRcs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&sR(RRR R(RR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Sets csUjdfd}tfd|t|j|jjddS(NRcs7|\}}j|jdj|dS(Ns: (R R(tpairtktv(R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyt write_pairs   cs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&sR(RRtziptkeysRL(RRR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Dicts (cs{jdt|jdkrK|j\}j|jdntfdj|jjddS(NRRiRHcs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&sRT(RRaRR R(RRR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Tuples   t~tInverttnottNott+tUAddRtUSubcCs|jd|j|j|jjj|jdt|jtjrt|jtj r|jd|j |j|jdn|j |j|jddS(NRRR5RT( RtunopR7RRRRbRtoperandtNumR (RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_UnaryOps  * tAddtSubt*tMultt/tDivt%tMods<>tRShiftt|tBitOrt^tBitXort&tBitAnds//tFloorDivs**tPowcCsc|jd|j|j|jd|j|jjjd|j|j|jddS(NRRR5RT(RR tleftR6R7RRtright(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_BinOps  %s==tEqs!=tNotEqttGts>=tGtEtistIssis nottIsNottintInsnot intNotIncCs|jd|j|jxRt|j|jD];\}}|jd|j|jjd|j|q3W|jddS(NRRR5RT( RR RRtopst comparatorstcmpopsRR(RRtoRO((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Compares  ""tandtorcsWjddj|jjtfdj|jjddS(NRRs %s cs jS(N(R((R{R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR&sRT(RtboolopsR7RRR RL(RR((R{Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt_BoolOps "cCsk|j|jt|jtjrJt|jjtrJ|jdn|jd|j|jdS(NR5R-( R R$RRbRR,tintRtattr(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _Attributes * cCs8|j|j|jdt}x:|jD]/}|rI|jdnt}|j|q-Wx:|jD]/}|r|jdnt}|j|qjW|jr|r|jdnt}|jd|j|jn|jr'|r|jdnt}|jd|j|jn|jddS(NRRs, Rs**RT( R tfuncRRIRnRKtkeywordststarargstkwargs(RRtcommaRO((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Calls4     cCs>|j|j|jd|j|j|jddS(NRR(R R$Rtslice(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _Subscripts cCs|jddS(Ns...(R(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _EllipsisscCs|j|jdS(N(R R$(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_IndexscCsr|jr|j|jn|jd|jrE|j|jn|jrn|jd|j|jndS(NR(tlowerR Rtuppertstep(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Slices     cs#tfdj|jdS(Ncs jdS(Ns, (R((R(s+/usr/lib64/python2.7/Demo/parser/unparse.pyR& s(RR tdims(RR((Rs+/usr/lib64/python2.7/Demo/parser/unparse.pyt _ExtSlice scCs't}dgt|jt|j|j}xot|j|D][\}}|r^t}n |jd|j|f|rC|jd|j|qCqCW|j r|rt}n |jd|jd|j|j n|j r#|rt}n |jd|jd|j ndS(Ns, t=Rs**( RKtNoneRaRntdefaultsRRIRR tvarargtkwarg(RRtfirstRRltd((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt _argumentss**          cCs1|j|j|jd|j|jdS(NR(RtargR R$(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_keyword)s cCsX|jd|jd|j|j|jd|j|j|jddS(NRRslambda s: RT(RR RnR!(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_Lambda.s    cCs4|j|j|jr0|jd|jndS(Ns as (RR*tasname(RR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt_alias6s (IRt __module__t__doc__tsyststdoutRRRRRR R#R%R(R1R4R8R:R<R>R@RARDRGRPRQRURYR_ReRgRmRoRpRrRsRvRRRRRRRRRRRRRRRRR6RRRRbtAndtOrRRRRRRRRRRRRR(((s+/usr/lib64/python2.7/Demo/parser/unparse.pyR s                                " &# -          cCsMt|d}|j}WdQXt||dtj}t||dS(Ntrtexec(topentreadtcompileRbt PyCF_ONLY_ASTR (tfilenametoutputtpyfiletsourceR((s+/usr/lib64/python2.7/Demo/parser/unparse.pyt roundtrip;scCsy5gtj|D]}|jdr|^q}Wn%tk r\tjjd|nXx|D]}tjj||}tjj |rt j }d|GHyt ||Wqt k r}dt|GHqXqdtjj|rdt|qdqdWdS(Ns.pysDirectory not readable: %ss Testing %ss$ Failed to compile, exception is %s(tostlistdirtendswithtOSErrorRtstderrRtpathtjointisfilet cStringIOtStringIOR t ExceptionRztisdirttestdir(RlR,R'tfullnameR RO((s+/usr/lib64/python2.7/Demo/parser/unparse.pyRCs5    cCsQ|ddkr2x:|dD]}t|qWnx|D]}t|q9WdS(Nis --testdiri(RR (RnRl((s+/usr/lib64/python2.7/Demo/parser/unparse.pytmainUs  t__main__(RRRbRRRzt float_infot max_10_expRRR RR RRRtargv(((s+/usr/lib64/python2.7/Demo/parser/unparse.pyts     %