config root man

Current Path : /compat/linux/proc/self/root/usr/local/lib/python2.5/compiler/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //compat/linux/proc/self/root/usr/local/lib/python2.5/compiler/pycodegen.pyc

hRc@sddkZddkZddkZddkZddkZddklZddklZl	Z	l
Z
lZddklZl
Z
lZlZddklZlZlZlZddklZlZlZlZlZlZlZlZddklZyeidZ Wne!j
o
d	Z nXhd
ddf<dd	df<ddd	f<d
d	d	f<Z"d	Z#dZ$dZ%dZ&ddZ'e(e(dZ)dfdYZ*de*fdYZ+de*fdYZ,de*fdYZ-dfdYZ.dZ/dfdYZ0d fd!YZ1d"e1e0fd#YZ2d$e1e0fd%YZ3d&e1e0fd'YZ4d(fd)YZ5d*e1e5e0fd+YZ6d,e1e5e0fd-YZ7d.fd/YZ8d0e1e8e0fd1YZ9d2Z:d3Z;d4fd5YZ<d6fd7YZ=d8e=fd9YZ>d:e=fd;YZ?d<e=fd=YZ@d>e=fd?YZAhe>eiB<e?eiC<e@eiD<eAeiE<ZFd@ZGeHdAjo&xeiId	D]ZJe'eJqWndS(BiN(tStringIO(tasttparsetwalktsyntax(tpyassemtmisctfuturetsymbols(tSC_LOCALt	SC_GLOBALtSC_FREEtSC_CELL(t
CO_VARARGStCO_VARKEYWORDStCO_NEWLOCALSt	CO_NESTEDtCO_GENERATORtCO_FUTURE_DIVISIONtCO_FUTURE_ABSIMPORTtCO_FUTURE_WITH_STATEMENT(tTupleArgiit
CALL_FUNCTIONtCALL_FUNCTION_VARtCALL_FUNCTION_KWtCALL_FUNCTION_VAR_KWiiicCst|d}|i}|it||}y|i|Wntj
o
n,Xt|dd}|i||idS(NtUtctwb(topentreadtclosetModuletcompiletSyntaxErrortdump(tfilenametdisplaytftbuftmod((s./usr/local/lib/python2.5/compiler/pycodegen.pytcompileFile$s

cCs|dj	p
|dj	o
tdn|djot||}nM|djot||}n-|djot||}n
td|i|iS(s*Replacement for builtin compile() functionsnot implemented yettsingletexectevals6compile() 3rd arg must be 'exec' or 'eval' or 'single'N(tNonetRuntimeErrortInteractiveR t
Expressiont
ValueErrorR!tcode(tsourceR$tmodetflagstdont_inherittgen((s./usr/local/lib/python2.5/compiler/pycodegen.pyR!2s




tAbstractCompileModecBs2eZdZdZdZdZdZRS(cCs||_||_d|_dS(N(R3R$R-R2(tselfR3R$((s./usr/local/lib/python2.5/compiler/pycodegen.pyt__init__Gs		cCs9t|i|i}ti|i|ti||S(N(RR3R4Rtset_filenameR$Rtcheck(R9ttree((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	_get_treeLs
cCsdS(N((R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR!RscCs|iS(N(R2(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pytgetCodeUsN(t__name__t
__module__R-R4R:R>R!R?(((s./usr/local/lib/python2.5/compiler/pycodegen.pyR8Cs
			R0cBseZdZdZRS(R,cCs+|i}t|}|i|_dS(N(R>tExpressionCodeGeneratorR?R2(R9R=R7((s./usr/local/lib/python2.5/compiler/pycodegen.pyR!\s(R@RAR4R!(((s./usr/local/lib/python2.5/compiler/pycodegen.pyR0XsR/cBseZdZdZRS(R*cCs+|i}t|}|i|_dS(N(R>tInteractiveCodeGeneratorR?R2(R9R=R7((s./usr/local/lib/python2.5/compiler/pycodegen.pyR!es(R@RAR4R!(((s./usr/local/lib/python2.5/compiler/pycodegen.pyR/asR cBs8eZdZddZdZeiZdZRS(R+icCsP|i}t|}|oddk}|i|GHn|i|_dS(Ni(R>tModuleCodeGeneratortpprintR?R2(R9R%R=R7RE((s./usr/local/lib/python2.5/compiler/pycodegen.pyR!nscCs*|i|iti|i|dS(N(twritetgetPycHeadertmarshalR#R2(R9R&((s./usr/local/lib/python2.5/compiler/pycodegen.pyR#vscCs2tii|i}tid|}|i|S(Ns<i(tostpathtgetmtimeR$tstructtpacktMAGIC(R9tmtime((s./usr/local/lib/python2.5/compiler/pycodegen.pyRG|s(	R@RAR4R!R#timpt	get_magicRNRG(((s./usr/local/lib/python2.5/compiler/pycodegen.pyR js
	tLocalNameFindercBskeZdZddZdZdZdZdZdZdZ	dZ
d	Zd
ZRS(sFind local names in scopecCsCti|_ti|_x|D]}|ii|q%WdS(N(RtSettnamestglobalstadd(R9RTtname((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:s
cCsHx>|iiD]-}|ii|o|ii|qqW|iS(N(RUtelementsRTthas_elttremove(R9telt((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	getLocalss
cCsdS(N((R9tnode((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitDictscCs(x!|iD]}|ii|q
WdS(N(RTRURV(R9R]RW((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitGlobals
cCs|ii|idS(N(RTRVRW(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitFunctionscCsdS(N((R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitLambdascCs5x.|iD]#\}}|ii|p|q
WdS(N(RTRV(R9R]RWtalias((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitImports
cCs5x.|iD]#\}}|ii|p|q
WdS(N(RTRV(R9R]RWRb((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitFroms
cCs|ii|idS(N(RTRVRW(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitClassscCs|ii|idS(N(RTRVRW(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAssNames((
R@RAt__doc__R:R\R^R_R`RaRcRdReRf(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRRs								cCs-t|tio|ipdSq)ndS(Nii(t
isinstanceRtConsttvalue(R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytis_constant_falses
t
CodeGeneratorcBsZeZdZdZdZdZdZdZdZ	dZ
dZdZdZ
d	Zd
ZdZdZd
ZdZdZedZeZdZdZdZdZdZdZddZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)d Z*dZ+d!Z,d"Z-d#Z.d$Z/d%Z0d&Z1d'Z2d(Z3d)Z4d*Z5d+Z6d,Z7dZ8d-Z9d.Z:d/Z;d0Z<d1Z=d2Z>d3Z?d4Z@d5ZAd6ZBd7ZCd8ZDd9ZEd:ZFd;d<ZGeHd=joeGZIeGZJnd>ZId?ZJd@ZKhdAdB<dCdD<dEdF<dGdH<dIdJ<dKdL<dMdN<dOdP<dQdR<dSdT<dUdV<dWdX<ZLdYZMdZZNd[ZOd\ZPd]ZQd^ZRdd_ZSd`ZTdaZUdbZVddcZWdddZXdeZYdfZZdgZ[dhZ\diZ]djZ^dkZ_dlZ`dmZadnZbdoZcdpZddqZedrZfdsZgdtZhduZidvZjdwZkdxZldyZmdzZnd{Zod|Zpd}Zqd~ZrRS(sDefines basic code generator for Python bytecode

    This class is an abstract base class.  Concrete subclasses must
    define an __init__() that defines self.graph and then calls the
    __init__() defined in this class.

    The concrete class must also define the class attributes
    NameFinder, FunctionGen, and ClassGen.  These attributes can be
    defined in the initClass() method, which is a hook for
    initializing these methods after all the classes have been
    defined.
    icCs|idjo|id|i_n|iti|_ti|_d|_	|i
d|_|ii
}xz|D]r}|djo|iitd|_q|djo|iitq|djo|iitqqWdS(Nit
BINARY_DIVIDEtdivisiontBINARY_TRUE_DIVIDEtabsolute_importtwith_statement(t_CodeGenerator__initializedR-t	initClasst	__class__t
checkClassRtStacktlocalstsetupstlast_linenot_setupGraphDelegationt_div_opt
get_moduletfuturestgraphtsetFlagRRR(R9R}tfeature((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:s&

	
	



cCsdS(s)This method is called once for each classN((R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyRsscCsy`t|dptt|dptt|dptt|dptWn.tj
o"}d|ii}t|nXdS(s*Verify that class is constructed correctlyR~t
NameFindertFunctionGentClassGensBad class construction for %sN(thasattrtAssertionErrortgetattrRtR@(R9tmsgtintro((s./usr/local/lib/python2.5/compiler/pycodegen.pyRuscCsO|ii|_|ii|_|ii|_|ii|_|ii|_dS(N(R~temittnewBlockt
startBlockt	nextBlocktsetDocstring(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyRzs
cCs
|iiS(sReturn a code object(R~R?(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR?scCs/|idj	oti||iSn|SdS(N(t
class_nameR-Rtmangle(R9RW((s./usr/local/lib/python2.5/compiler/pycodegen.pyRscCs ti}t|||iS(N(Rt
SymbolVisitorRtscopes(R9R=ts((s./usr/local/lib/python2.5/compiler/pycodegen.pytparseSymbolss
cCs
tddS(Ns#should be implemented by subclasses(R.(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR|scCs|iii|S(N(RwttopRY(R9RW((s./usr/local/lib/python2.5/compiler/pycodegen.pytisLocalNamescCs|id|dS(NtSTORE(t_nameOp(R9RW((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	storeName
scCs|id|dS(NtLOAD(R(R9RW((s./usr/local/lib/python2.5/compiler/pycodegen.pytloadName
scCs|id|dS(NtDELETE(R(R9RW((s./usr/local/lib/python2.5/compiler/pycodegen.pytdelNamescCs|i|}|ii|}|tjo:|ip|i|d|q|i|d|n|tjo:|ip|i|d|q|i|d|nF|tjp
|tjo|i|d|nt	d||fdS(Nt_NAMEt_FASTt_GLOBALt_DEREFs unsupported scope for var %s: %d(
Rtscopet
check_nameR	t	optimizedRR
RRR.(R9tprefixRWR((s./usr/local/lib/python2.5/compiler/pycodegen.pyRs



cCs:|io|i|d|n|i|d|dS(sEmit name ops for names generated implicitly by for loops

        The interpreter generates names that start with a period or
        dollar sign.  The symbol table ignores these names because
        they aren't present in the program text.
        RRN(RR(R9RRW((s./usr/local/lib/python2.5/compiler/pycodegen.pyt_implicitNameOp&s
cCs[t|dd}|dj	o8||ijp|o!|id|||_tSntS(sEmit SET_LINENO if necessary.

        The instruction is considered necessary if the node has a
        lineno attribute and it is different than the last lineno
        emitted.

        Returns true if SET_LINENO was emitted.

        There are no rules for when an AST node should have a lineno
        attribute.  The transformer and AST code need to be reviewed
        and a consistent policy implemented and documented.  Until
        then, this method works around missing line numbers.
        tlinenot
SET_LINENON(RR-RyRtTruetFalse(R9R]tforceR((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
set_lineno7s	cCs|i||_|i||_|idd|io$|id|i|idnt|i|idd}|i	i
|i|i|i|idd|iddS(NRit
LOAD_CONSTRgtverbosetRETURN_VALUE(RRRRtdocRRR]RRwtpushR\tvisitR-(R9R]tlnf((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitModuleUs
cCsP|i||i||_|i||_|i|i|iddS(NR(RRRRRR]R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitExpressionbs

cCsE|i|dd|io|i|in|i|idS(NtisLambdai(t_visitFuncOrLambdaRRRRW(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyR`is
cCs|i|dddS(NRi(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyRaoscCs|oD|io:x!|iiD]}|i|qWt|ii}nd}|i||i||i|i}t|i	||i
|i|x|iD]}|i|qW|i
|t|ix$t|D]}|iddqWdS(NiRi(t
decoratorstnodesRtlenRRRR|RR2tfinishRtdefaultst_makeClosuretrangeR(R9R]Rt	decoratortndecoratorsR7tdefaultti((s./usr/local/lib/python2.5/compiler/pycodegen.pyRrs$




cCs|i||i|i}t|i||i|i||id|ix|i	D]}|i
|qbW|idt|i	|i|d|idd|id|i
|idS(NRtBUILD_TUPLEiRtBUILD_CLASS(RRR|RR2RRRRWtbasesRRRR(R9R]R7tbase((s./usr/local/lib/python2.5/compiler/pycodegen.pyRes



cCs|i}t|i}xt|D]}|i|\}}t|oq(n|i||i||i}|id||i|id|i||id||i	||idq(W|i
o|i|i
n|i|dS(Nt
JUMP_IF_FALSEtPOP_TOPtJUMP_FORWARD(RRttestsRRkRRRRRtelse_(R9R]tendtnumtestsRttesttsuitetnextTest((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitIfs(








cCs8|i||i}|i}|i}|id||i||iit|f|i|dt|i|i	|id|p||i|id|i|i
|id||i||id|id|ii|i
o|i|i
n|i|dS(Nt
SETUP_LOOPRRRt
JUMP_ABSOLUTEt	POP_BLOCK(RRRRRxRtLOOPRRRtbodyRtpopR(R9R]tloopRtafter((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitWhiles*








cCs*|i}|i}|i}|iit|f|i||id||i|i|id|i||i|dd|id||i|i	|i|i
|id||i||id|ii|io|i|in|i|dS(NRtGET_ITERRitFOR_ITERRR(
RRxRRRRRtlistRtassignRRR(R9R]tstarttanchorR((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitFors(






cCsE|iptd|i|ifn|i||iddS(Ns'break' outside loop (%s, %d)t
BREAK_LOOP(RxR"R$RRR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitBreaks


cCsj|iptd|i|ifn|ii\}}|tjo+|i||id||in|t	jp
|t
jo|i|t|i}xA|djo3|d}|i|\}}|tjoPqqW|tjotd|i|ifn|id||in1|tjo#d}t||i|ifndS(Ns 'continue' outside loop (%s, %d)Riit
CONTINUE_LOOPs7'continue' not allowed inside 'finally' clause (%s, %d)(
RxR"R$RRRRRRtEXCEPTtTRY_FINALLYRtEND_FINALLY(R9R]tkindtblockRt
loop_blockR((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitContinues2









cCs}|i}xI|id D]:}|i||i|||i|idqW|i|id|i|dS(NiR(RRRRR(R9R]tjumpRtchild((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitTests

cCs|i|ddS(NR(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAndscCs|i|ddS(NtJUMP_IF_TRUE(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitOrscCs|i}|i}|i|i|id||id|i|i|id||i||id|i|i|i|dS(NRRR(RRRRtthenRR(R9R]tendblockt	elseblock((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitIfExps


cCsD|i|i|i}xy|id D]j\}}|i||id|id|id||id||i|idq*W|io4|id\}}|i||id|nt|idjoT|i}|id||i||id	|id|i|ndS(
NitDUP_TOPt	ROT_THREEt
COMPARE_OPRRiRtROT_TWO(RtexprRtopsRRRR(R9R]tcleanuptopR2R((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitCompare"s,








cCs|i|d|i}|id|_|idd|id|idd|id|g}xttt|i|iD]\}}|i|\}}d}x>|i
D]3}	|djo|i}n|i|	|qW|id|||fqW|id	||i|i
|id
d|idx|D]z\}}}|oG|i}
|id|
|i||id|i|
n|id
||i|qXW|id||id|_dS(Ns	$append%dit
BUILD_LISTiRt	LOAD_ATTRtappendRRRRRRR(Rt_CodeGenerator__list_countRRtzipRRtqualsRR-tifsRtinsertRRR(R9R]RtstackRtfor_RRtconttif_tskip_one((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitListComp=sD


"




cCs|i}|i}|i|i|id|i||i|dt|id||i|i|i||fS(NRRR(RRRRRRRR(R9R]RR((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitListCompForcs


cCsN|i|dt|i|i|id||i|iddS(NRRR(RRRRRR(R9R]tbranch((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitListCompIfps

cCs|ii}|o[x|D]}|id|qW|idt||id||id|n!|id||id|dS(NtLOAD_CLOSURERRtMAKE_CLOSUREt
MAKE_FUNCTION(Rt
get_free_varsRR(R9R7targstfreesRW((s./usr/local/lib/python2.5/compiler/pycodegen.pyRwscCst||i|i|i}t|i||i|i||i|d|i	|ii
di|id|idddS(NiRRi(
tGenExprCodeGeneratorRRR|RR2RRRRRtiterR(R9R]R7((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitGenExprs


c	Cs|i|g}xttt|i|iD]\}}|i|\}}}d}x>|iD]3}	|djo|i}n|i|	|qiW|i	d||||fq5W|i|i
|id|idx|D]\}}}}|oG|i}
|id|
|i||id|i
|
n|id||i||id|ii|i|qW|idddS(NitYIELD_VALUERRRRR(RRRRRRR-RRRRRRRRxR(R9R]RRRRRRRR	R
((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitGenExprInners:
"

 






cCs|i}|i}|i}|iit|f|id||io|idn|i|i|id|i	||i
|dt|id||i	|i|i|||fS(NRs.0RRR(
RRxRRRt
is_outmostRRRRRRR(R9R]RRR((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitGenExprFors



cCsN|i|dt|i|i|id||i|iddS(NRRR(RRRRRR(R9R]R
((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitGenExprIfs

cCs|i}|i||i|i|i|id||i|id|idd|io$|i|i|iddn|idd|i||iddS(NRRtLOAD_GLOBALRt
RAISE_VARARGSii(RRRRRRtfail(R9R]R((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAsserts





cCs|i|d}|io|i|i|d}n|io|i|i|d}n|io|i|i|d}n|id|dS(NiiR(Rtexpr1Rtexpr2texpr3R(R9R]tn((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitRaises



cCsh|i}|i}|i}|io|i}n|}|i||id||i||iit|f|i|i	|id|ii
|id||i|t|i
d}x>tt|i
D]'}|i
|\}}	}|i||oa|id|i||idd|i}
|id|
|i|id	n|id	|	o|i|	n|id	|id	|i||id||o|i|
n|i|o|id	qqW|id
|io!|i||i|in|i|dS(NtSETUP_EXCEPTRRiRRsexception matchRRR(RRRRRRxRRRRRRRthandlersR(R9R]RR'RtlElsetlastRRttargettnext((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitTryExceptsZ

















cCs|i}|i}|i||id||i||iit|f|i|i|id|ii	|idd|i||iit|f|i|i|id|ii	dS(Nt
SETUP_FINALLYRRR(
RRRRRxRRRRRR-Rtfinal(R9R]RR.((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitTryFinally%s





cCs
|i}|i}d|i}d|i}|id7_|i||i|i|id|idd|id||idd|id	d
|idjo|idn|id||id||i	||i
it|f|idj	o4|id
||id||i|in|i|i
|id|i
i|idd|i	||i
it|f|id
||id||id|id|i
i|id8_dS(Ns$exit%ds$value%diRRt__exit__Rt	__enter__RiRR-RRRRtWITH_CLEANUPR(Rt_CodeGenerator__with_countRRRRRtvarsR-RRxRRRRR(R9R]RR.texitvartvaluevar((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitWith8sD










cCs.|i||i|i|iddS(NR(RRRR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitDiscard_s
cCs|id|idS(NR(RRj(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitConstdscCs'|id|i|i|idS(NR(RRWRR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitKeywordgscCsdS(N((R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyR_kscCs!|i||i|idS(N(RRRW(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitNameos
cCs|i|dS(N(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitPasssscCs|i||iitodnd}x|iD]\}}tdjo$|id||iddn|id||idd}|o|i	||i
|q7|i
|q7WdS(NiiiRtIMPORT_NAMEt.(RR~t	checkFlagRRTtVERSIONRR-tsplitt_resolveDotsR(R9R]tlevelRWRbR(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRcvs
 


cCse|i||i}|djo|iito
d}ntd|i}tdjo*|id||idt	|n|id|i
x|iD]\}}tdjo}|djo;d|_|idt|idjpt
dSqP|id	||i||i|p|q|id	|qW|id
dS(NiicSs|\}}|S(((t.0RWRb((s./usr/local/lib/python2.5/compiler/pycodegen.pyt<lambda>siRR=t*tIMPORT_STARtIMPORT_FROMR(RRCR~R?RtmapRTR@Rttupletmodnamet	namespaceRRRBR(R9R]RCtfromlistRWRb((s./usr/local/lib/python2.5/compiler/pycodegen.pyRds,
	!




	

cCsS|id}t|djodSnx"|dD]}|id|q5WdS(NR>iR(RARR(R9RWteltsR[((s./usr/local/lib/python2.5/compiler/pycodegen.pyRBscCs0|i|i|id|i|idS(NR(RRRRtattrname(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitGetattrscCs|i||i|it|id}xltt|iD]U}|i|}||jo|idnt|ti	o|i|qFqFWdS(NiR(
RRRRRRRRhRtNode(R9R]tdupsRR[((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAssigns


cCse|idjo|i|in>|idjo!|i||i|in
dG|iGHdS(Nt	OP_ASSIGNt	OP_DELETEtoops(R5RRWRR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyRfs
cCs|i|i|idjo |id|i|inB|idjo |id|i|indG|iGH|GHdS(NRTt
STORE_ATTRRUtDELETE_ATTRswarning: unexpected flags:(RRR5RRRO(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAssAttrs  tUNPACK_SEQUENCEcCsUt|djo|i|t|inx|iD]}|i|q:WdS(NRU(tfindOpRRRR(R9R]RR((s./usr/local/lib/python2.5/compiler/pycodegen.pyt_visitAssSequences

icCs|i|ddS(NtUNPACK_TUPLE(R\(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitAssTuplescCs|i|ddS(NtUNPACK_LIST(R\(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAssListscCsg|i|t|i}|i|d|i|i|i|i|i|i|ddS(Ntloadtstore(Rtwrap_augR]RRRt_augmented_opcodeR(R9R]taug_node((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAugAssigns
tINPLACE_ADDs+=tINPLACE_SUBTRACTs-=tINPLACE_MULTIPLYs*=tINPLACE_DIVIDEs/=tINPLACE_FLOOR_DIVIDEs//=tINPLACE_MODULOs%=t
INPLACE_POWERs**=tINPLACE_RSHIFTs>>=tINPLACE_LSHIFTs<<=tINPLACE_ANDs&=tINPLACE_XORs^=t
INPLACE_ORs|=cCsF|djo|i|in"|djo|i|indS(NRaRb(RRWR(R9R]R4((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAugNames

cCs|djo=|i|i|id|id|i|in;|djo-|id|id|i|indS(NRaRRRbRRW(RRRRRO(R9R]R4((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAugGetattrs

 

cCs|djo|i|dn|djod}|io|dB}n|io|dB}n|djo|idn,|djo|idn|id	|id
|ndS(NRaiRbiiRitROT_FOURRsSTORE_SLICE+%d(t
visitSlicetlowertupperR(R9R]R4tslice((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitAugSlices






cCsP|djo|i|dn,|djo|id|idndS(NRaiRbRtSTORE_SUBSCR(tvisitSubscriptR(R9R]R4((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAugSubscripts



cCs|i|i|idjo|iddn|i|i|idjo|idn|i|i|iddS(NRRt	EXEC_STMT(RRRwR-RRU(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitExecscCsd}d}|i||i|ixI|iD]>}|i|t|tio|d}q3|d}q3W|idj	o|i|in|i	dj	o|i|i	n|idj	}|i	dj	}t
||f}|i||d>|BdS(Niii(RRR]RRhRtKeywordt	star_argsR-t
dstar_argstcallfunc_opcode_infoR(R9R]tpostkwtargt	have_start
have_dstartopcode((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitCallFunc&s$


cCs|i||io|i|inxn|iD]c}|io|idn|i||io|id|idq5|idq5W|io|o|idndS(NRRt
PRINT_ITEM_TOt
PRINT_ITEMR(RtdestRRR(R9R]tnewlineR((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitPrint:s






cCs?|i|dd|io|idn|iddS(NRitPRINT_NEWLINE_TOt
PRINT_NEWLINE(RRR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitPrintnlJs
cCs.|i||i|i|iddS(NR(RRRjR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitReturnQs
cCs.|i||i|i|iddS(NR(RRRjR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitYieldVs
cCsB|i|id}|io|i|i|dB}n|io|i|i|dB}n|oS|djo|idq|djo|iddq|iddn|idjo|id|nZ|id	jo|id
|n5|idjo|id|nd
G|iGHdS(NiiiRitDUP_TOPXtOP_APPLYsSLICE+%dRTsSTORE_SLICE+%dRUsDELETE_SLICE+%dsweird slice(RRRwRxRR5(R9R]taug_flagRy((s./usr/local/lib/python2.5/compiler/pycodegen.pyRv]s,



cCs|i|ix|iD]}|i|qWt|idjo|idt|in|o|iddn|idjo|idnC|idjo|idn"|id	jo|id
ndS(NiRRiRt
BINARY_SUBSCRRTR{RUt
DELETE_SUBSCR(RRtsubsRRR5(R9R]Rtsub((s./usr/local/lib/python2.5/compiler/pycodegen.pyR|xs
cCs1|i|i|i|i|i|dS(N(RtlefttrightR(R9R]R((s./usr/local/lib/python2.5/compiler/pycodegen.pytbinaryOpscCs|i|dS(Nt
BINARY_ADD(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitAddscCs|i|dS(NtBINARY_SUBTRACT(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitSubscCs|i|dS(NtBINARY_MULTIPLY(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitMulscCs|i||iS(N(RR{(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitDivscCs|i|dS(NtBINARY_FLOOR_DIVIDE(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitFloorDivscCs|i|dS(Nt
BINARY_MODULO(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitModscCs|i|dS(NtBINARY_POWER(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitPowerscCs|i|dS(Nt
BINARY_LSHIFT(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitLeftShiftscCs|i|dS(Nt
BINARY_RSHIFT(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitRightShiftscCs!|i|i|i|dS(N(RRR(R9R]R((s./usr/local/lib/python2.5/compiler/pycodegen.pytunaryOpscCs|i|dS(NtUNARY_INVERT(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitInvertscCs|i|dS(NtUNARY_NEGATIVE(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitUnarySubscCs|i|dS(NtUNARY_POSITIVE(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitUnaryAddscCs|i|dS(NR(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitUnaryInvertscCs|i|dS(Nt	UNARY_NOT(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitNotscCs|i|dS(Nt
UNARY_CONVERT(R(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitBackquotescCsD|i|dx,|dD] }|i||i|qWdS(Nii(RR(R9RRR]((s./usr/local/lib/python2.5/compiler/pycodegen.pytbitOps

cCs|i|idS(Nt
BINARY_AND(RR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitBitandscCs|i|idS(Nt	BINARY_OR(RR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitBitorscCs|i|idS(Nt
BINARY_XOR(RR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pytvisitBitxorscCs|idtdS(NR(RtEllipsis(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitEllipsisscCsK|i|x|iD]}|i|qW|idt|idS(NR(RRRRR(R9R]R[((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitTuples


cCsK|i|x|iD]}|i|qW|idt|idS(NR(RRRRR(R9R]R[((s./usr/local/lib/python2.5/compiler/pycodegen.pyt	visitLists


cCs>x|iD]}|i|q
W|idt|idS(NtBUILD_SLICE(RRRR(R9R]R((s./usr/local/lib/python2.5/compiler/pycodegen.pyt
visitSliceobjs
cCs||i||iddxX|iD]M\}}|id|i||i||id|idq'WdS(Nt	BUILD_MAPiRRR{(RRtitemsR(R9R]tktv((s./usr/local/lib/python2.5/compiler/pycodegen.pyR^s





N(sR@RARgRR-RrRR:RsRuRzR?RRR|RRRRRRRRRRRRRRRR`RaRReRRRRRRRRRRRRRRRRRRRR R%R,R/R3R7R8R9R:R_R;R<RcRdRBRPRSRfRYR\R@R^R`RfRdRsRtRzR}RRRRRRRvR|RRRRRRRRRRRRRRRRRRRRRRRRRR^(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRls															
										
			
		&	
				!						2		'														


																																																	tNestedScopeMixincBseZdZdZRS(s>Defines initClass() for nested scoping (Python 2.2-compatible)cCs(t|i_t|i_t|i_dS(N(RRRtRtFunctionCodeGeneratorRtClassCodeGeneratorR(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyRss(R@RARgRs(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRsRDcBs)eZeiZdZdZdZRS(cCsEtid|i|_ti||_|it||dS(Ns<module>(	RtPyFlowGraphR$R~Rtfind_futuresR}t _ModuleCodeGenerator__super_initR(R9R=((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:s
cCs|S(N((R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR|sN(R@RARlR:RR-RR|(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRDs		RBcBs/eZeiZdZdZdZdZRS(cCs3tid|i|_|it||dS(Ns<expression>(RRR$R~t$_ExpressionCodeGenerator__super_initR(R9R=((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:
s
cCs|S(N((R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR|sN((	R@RARlR:RR-RR}R|(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRBs
		RCcBs8eZeiZdZdZdZdZdZ	RS(cCsMtid|i|_|i|i|t|||iddS(Ns
<interactive>R(RRR$R~t%_InteractiveCodeGenerator__super_initRRR(R9R=((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:s



cCs|S(N((R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR|#scCs!|i|i|iddS(Nt
PRINT_EXPR(RRR(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyR8&sN((
R@RARlR:RR-RR}R|R8(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRCs			tAbstractFunctionCodecBsGeZdZdZdZdZdZdZdZeZ	RS(iicCsW||_||_|o't}d|i}|id|_n
|i}t|i\}}	ti||i	|dd|_
||_|i|o|i
o|i|i
nt|i|i|dd}
|ii|
i|io|i
itn|io|i
itn|i||	o|i|indS(Ns<lambda.%d>iRRi(RtmoduleRtlambdaCountRWtgenerateArgListtargnamesRRR$R~Rt
super_initRRRR2RRwRR\tvarargsRR
tkwargsRRtgenerateArgUnpack(R9tfuncRRRR(tklassRWRthasTupleArgR((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:0s.		
		
!


cCs|iS(N(R(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR|MscCs<|ii|ip|iddn|iddS(NRR(R~tstartExitBlockRRR-(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyRPs

cCsdx]tt|D]I}||}t|to)|idd|d|i|qqWdS(Nt	LOAD_FASTs.%di(RRRhRJRtunpackSequence(R9RRR((s./usr/local/lib/python2.5/compiler/pycodegen.pyRVs
cCstdjo|idt|n|idt|x?|D]7}t|to|i|qD|id|qDWdS(NiRZR]R(R@RRRhRJRR(R9ttupR[((s./usr/local/lib/python2.5/compiler/pycodegen.pyR]s
(
R@RARRR:R|RRRtunpackTuple(((s./usr/local/lib/python2.5/compiler/pycodegen.pyR,s					RcBs)eZeiZdZeiZdZRS(cCs||_|||_|i||||||ii|ii|ii|ii|iidj	o|ii
tndS(N(RRt"_FunctionCodeGenerator__super_initR~tsetFreeVarsRtsetCellVarst
get_cell_varst	generatorR-RR(R9RRRRR(((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:qs	
N(	R@RARlR:RR-RRR(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRjs		RcBs)eZeiZdZeiZdZRS(cCsu||_|||_|i||d|||ii|ii|ii|ii|iit	dS(Ni(
RRt!_GenExprCodeGenerator__super_initR~RRRRRR(R9tgexpRRR(((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:s	
N(	R@RARlR:RR-RRR(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRzs		tAbstractClassCodecBs#eZdZdZdZRS(cCs|i|_||_ti|i|idddd|_|it|i	|i
dd}|ii|i
|iit|io|i|indS(NRiRiR(RWRRRRR$R~RRR2RRwRR\RRRR(R9RRRR((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:s	

cCs|iS(N(R(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR|scCs+|ii|id|iddS(NtLOAD_LOCALSR(R~RR(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyRs

(R@RAR:R|R(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRs		RcBs)eZeiZdZeiZdZRS(cCs||_|||_|i||||ii|ii|ii|ii|i||i	dd|i
d|io$|i	d|i|i
dndS(NRR@RARRg(RRt_ClassCodeGenerator__super_initR~RRRRRRRR(R9RRR((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:s	



N(	R@RARlR:RR-RRR(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRs		cCsg}g}d}xtt|D]}||}t|to|i|q%t|to>|it|d||iti	||d}q%t
d|q%W|||fS(s&Generate an arg list marking TupleArgsiiisunexpect argument type:(RRRhtstrRRJRtextendRtflattenR1(targlistRtextratcountRR[((s./usr/local/lib/python2.5/compiler/pycodegen.pyRs
cCs#t}t||dd|iS(s5Find the op (DELETE, LOAD, STORE) in an AssTuple treeRi(tOpFinderRR(R]R((s./usr/local/lib/python2.5/compiler/pycodegen.pyR[s	RcBs&eZdZdZeZeZRS(cCs
d|_dS(N(R-R(R9((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:scCsD|idjo|i|_n!|i|ijo
tdndS(Nsmixed ops in stmt(RR-R5R1(R9R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyRfs(R@RAR:RfRYR|(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRs		t	DelegatorcBs eZdZdZdZRS(sBase class to support delegation for augmented assignment nodes

    To generator code for augmented assignments, we use the following
    wrapper classes.  In visitAugAssign, the left-hand expression node
    is visited twice.  The first time the visit uses the normal method
    for that node .  The second time the visit uses a different method
    that generates the appropriate code to perform the assignment.
    These delegator classes wrap the original AST nodes in order to
    support the variant visit methods.
    cCs
||_dS(N(tobj(R9R((s./usr/local/lib/python2.5/compiler/pycodegen.pyR:scCst|i|S(N(RR(R9tattr((s./usr/local/lib/python2.5/compiler/pycodegen.pyt__getattr__s(R@RARgR:R(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRs
	t
AugGetattrcBseZRS((R@RA(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRstAugNamecBseZRS((R@RA(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRstAugSlicecBseZRS((R@RA(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRstAugSubscriptcBseZRS((R@RA(((s./usr/local/lib/python2.5/compiler/pycodegen.pyRscCst|i|S(N(twrapperRt(R]((s./usr/local/lib/python2.5/compiler/pycodegen.pyRcst__main__(KRPRIRHRLtsyst	cStringIORtcompilerRRRRRRRRtcompiler.constsR	R
RRR
RRRRRRRtcompiler.pyassemRtversion_infoR@tAttributeErrorRRRRRR)R-R!R8R0R/R RRRkRlRRDRBRCRRRRRRR[RRRRRRtGetattrtNametSlicet	SubscriptRRcR@targvtfile(((s./usr/local/lib/python2.5/compiler/pycodegen.pys<module>s""":		+	@>					


Man Man