/opt/alt/python27/lib64/python2.7/compiler
NameSizeModeActions
ast.py375080644editdlrm
ast.pyc771820644editdlrm
ast.pyo771820644editdlrm
consts.py4680644editdlrm
consts.pyc7500644editdlrm
consts.pyo7500644editdlrm
future.py18930644editdlrm
future.pyc30860644editdlrm
future.pyo30860644editdlrm
misc.py17940644editdlrm
misc.pyc39800644editdlrm
misc.pyo39800644editdlrm
pyassem.py242680644editdlrm
pyassem.pyc269910644editdlrm
pyassem.pyo264170644editdlrm
pycodegen.py478090644editdlrm
pycodegen.pyc587640644editdlrm
pycodegen.pyo583200644editdlrm
symbols.py144890644editdlrm
symbols.pyc184050644editdlrm
symbols.pyo183710644editdlrm
syntax.py14440644editdlrm
syntax.pyc19600644editdlrm
syntax.pyo19600644editdlrm
transformer.py531160644editdlrm
transformer.pyc492700644editdlrm
transformer.pyo474550644editdlrm
visitor.py38960644editdlrm
visitor.pyc43170644editdlrm
visitor.pyo43170644editdlrm
__init__.py10230644editdlrm
__init__.pyc13100644editdlrm
__init__.pyo13100644editdlrm
Edit: /opt/alt/python27/lib64/python2.7/compiler/pyassem.pyc (26991B)
ó ÕЮ]c@sdZddlZddlZddlZddlmZddlmZmZm Z m Z dfd„ƒYZ d„Z dfd „ƒYZ d Zd Zd Zd Zde fd„ƒYZd„Zdfd„ƒYZd„Zd„Zdfd„ƒYZdfd„ƒYZeƒjZdS(s/A flow graph representation for Python bytecodeiÿÿÿÿN(tmisc(t CO_OPTIMIZEDt CO_NEWLOCALSt CO_VARARGStCO_VARKEYWORDSt FlowGraphcBs}eZd„Zd„Zd d„Zd„Zd„ZdZd„Z d„Z d„Z d „Z d „Z d „Zd „ZRS(cCs[tƒ|_|_tdƒ|_tjƒ|_|jj|jƒ|jj|jƒdS(Ntexit(tBlocktcurrenttentryRRtSettblockstadd(tself((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt__init__ s cCsr|jre|jrWdGt|jƒGHdG|jjGHdG|jjGHdG|jjƒGHnt|ƒGHn||_dS(Ntends nexts prevs (t_debugRtreprtnexttprevt get_children(R tblock((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt startBlocks  cCs<|dkr|jƒ}n|jj|ƒ|j|ƒdS(N(tNonetnewBlockRtaddNextR(R R((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt nextBlocks cCstƒ}|jj|ƒ|S(N(RR R (R tb((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR5s cCs|j|jƒdS(N(RR(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pytstartExitBlock:sicCs d|_dS(Ni(R(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt _enable_debug?scCs d|_dS(Ni(R(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt_disable_debugBscGse|jrdG|GHnt|ƒdkrQt|dtƒrQ|jj|dƒn|jj|ƒdS(Ns ii(Rtlent isinstanceRRt addOutEdgetemit(R tinst((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR"Es   %cCst|j|jƒ}|S(slReturn the blocks in reverse postorder i.e. each node appears before all of its successors (t order_blocksR R(R torder((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pytgetBlocksInOrderLscCs |jjƒS(N(R telements(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt getBlocksTscCs|jS(s/Return nodes appropriate for use with dominator(R (R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pytgetRootWscCs4g}x'|jƒD]}|j|jƒƒqW|S(N(R(textendtgetContainedGraphs(R tlR((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR+[sN(t__name__t __module__RRRRRRRRRR"R&R(R)R+(((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR s          csêg}tƒ‰|g}xh|r‚|jƒ}|ˆkr?qnˆj|ƒx0|jƒD]"}|ˆkrY|j|ƒqYqYWqWi‰xɈD]Á}tr×|jr×||jdjdks×t||jfƒ‚nˆj |tƒƒxd|j ƒD]V}xMˆj |tƒƒj|ƒ|jrH|jd|k rH|jd}qPqWq÷WqW‡‡fd†}|}xv|j|ƒˆj |ƒ|jr¦|jd}qpn)||k rÏ|j ƒ rÏ|j|ƒnˆsÙPn|ƒ}qpW|S(s8Order blocks so that they are emitted in the right ordericsPx7ˆD]/}x&ˆ|D]}|ˆkrPqqW|SqWdsLtdƒ‚dS(Nis+circular dependency, cannot find next block(tAssertionError(Rtc(t dominatorst remaining(s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt find_nextŒs   ( tsettpopR Rtappendt __debug__RRR/t setdefaultt get_followerstdiscardthas_unconditional_transfer(t start_blockt exit_blockR%ttodoRR0R3((R1R2s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR$bsH        2       RcBszeZdZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z dZ d„Z d„Z d„Z d„ZRS(itcCsPg|_tƒ|_||_tj|_g|_g|_tjdt_dS(Ni( tinstsR4toutEdgestlabelRt_counttbidRR(R RB((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR¨s      cCs,|jrd|j|jfSd|jSdS(Nss (RBRD(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt__repr__±s cCs2tt|jƒ}d|j|jdj|ƒfS(Nss (tmaptstrR@RBRDtjoin(R R@((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyt__str__·scCs|d}|jj|ƒdS(Ni(R@R6(R R#top((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR"¼s cCs|jS(N(R@(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pytgetInstructionsÀscCs|jj|ƒdS(N(RAR (R R((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR!ÃscCs~|jj|ƒt|jƒdks=ttt|jƒƒ‚|jj|ƒt|jƒdkszttt|jƒƒ‚dS(Ni(RR6RR/RFRGR(R R((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyRÆs-t RETURN_VALUEt RAISE_VARARGSt JUMP_ABSOLUTEt JUMP_FORWARDt CONTINUE_LOOPcCs?y|jd\}}Wnttfk r1dSX||jkS(sÆReturns True if there is an unconditional transfer to an other block at the end of this block. This means there is no risk for the bytecode executer to go past this block's bytecode.iÿÿÿÿN(R@t IndexErrort ValueErrort_uncond_transfer(R RJtarg((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR;Ðs cCst|jƒ|jS(N(tlistRAR(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyRÚscCsNt|jƒ}x8|jD]-}|dtjkr|j|dƒqqW|S(s:Get the whole list of followers, including the next block.ii(R4RR@t PyFlowGraphthasjrelR (R t followersR#((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR9Ýs cCsbg}xU|jD]J}t|ƒdkr.qn|d}t|dƒr|j|jƒqqW|S(s¨Return all graphs contained within this block. For example, a MAKE_FUNCTION block will contain a reference to the graph for the function body. itgraph(R@RthasattrR6RY(R t containedR#RJ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR+çs (RLRMRNRORP(R-R.RCRRERIR"RKR!RRSR;RR9R+(((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pyR¥s        tRAWtFLATtCONVtDONERVcBsAeZejZdddd„Zd„Zd„Zd„Zd„Z d„Z d„Z dd„Z d „Z d „ZeƒZx%ejD]ZejejeƒqˆWeƒZx%ejD]Zejejeƒq¹Wd „Zd „Zd „ZiZd„Zd„ZeZeZd„Zd„ZeZ eZ!eZ"eZ#eZ$eZ%eZ&eZ'eZ(eZ)d„Z*e*Z+e*Z,d„Z-e.ej/ƒZ0d„Z1xDe2ƒj3ƒD]3\Z4Z5e4d dkrªe4dZe5eet‚|jƒ|jtks]t‚|jƒ|jt ks|t‚|j ƒS(sGet a Python code object( RrR\R/tcomputeStackDeptht flattenGraphR]t convertArgsR^t makeByteCodeR_t newCodeObject(R ((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pytgetCode1s    cCs¸|rtj}|t_nd}x~|jD]s}|d}|dkrKHnt|ƒdkr{dGd|G|GH|d}q+dGd|G|G|dGH|d}q+W|r´|t_ndS(Nit SET_LINENOis s%3di(tsyststdoutR@R(R tiotsavetpctttopname((s5/opt/alt/python27/lib64/python2.7/compiler/pyassem.pytdump=s     cspi‰d}x*ˆjƒD]}t|jƒƒˆ|s*   "W CTÿ2  Bn