ACC SHELL

Path : /usr/lib/python/compiler/
File Upload :
Current File : //usr/lib/python/compiler/pycodegen.pyo

rMc@sddkZddkZddkZddkZddkZddklZddklZl	Z	l
Z
lZddklZl
Z
lZlZddklZlZlZlZddklZlZlZlZlZlZlZlZlZddklZyei dZ!Wne"j
o
d	Z!nXhd
ddf6dd	df6ddd	f6d
d	d	f6Z#d	Z$dZ%dZ&dZ'ddZ(e)e)dZ*dfdYZ+de+fdYZ,de+fdYZ-de+fdYZ.dfdYZ/dZ0dfdYZ1d fd!YZ2d"e2e1fd#YZ3d$e2e1fd%YZ4d&e2e1fd'YZ5d(fd)YZ6d*e2e6e1fd+YZ7d,e2e6e1fd-YZ8d.fd/YZ9d0e2e9e1fd1YZ:d2Z;d3Z<d4fd5YZ=d6fd7YZ>d8e>fd9YZ?d:e>fd;YZ@d<e>fd=YZAd>e>fd?YZBhe?eiC6e@eiD6eAeiE6eBeiF6ZGd@ZHeIdAjo&xeiJd	D]ZKe(eKqWndS(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_STATEMENTtCO_FUTURE_PRINT_FUNCTION(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/lib/python2.6/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/lib/python2.6/compiler/pycodegen.pyR"2s




tAbstractCompileModecBs2eZdZdZdZdZdZRS(cCs||_||_d|_dS(N(R4R%R.R3(tselfR4R%((s(/usr/lib/python2.6/compiler/pycodegen.pyt__init__Gs		cCs9t|i|i}ti|i|ti||S(N(RR4R5Rtset_filenameR%Rtcheck(R:ttree((s(/usr/lib/python2.6/compiler/pycodegen.pyt	_get_treeLs
cCsdS(N((R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR"RscCs|iS(N(R3(R:((s(/usr/lib/python2.6/compiler/pycodegen.pytgetCodeUsN(t__name__t
__module__R.R5R;R?R"R@(((s(/usr/lib/python2.6/compiler/pycodegen.pyR9Cs
			R1cBseZdZdZRS(R-cCs+|i}t|}|i|_dS(N(R?tExpressionCodeGeneratorR@R3(R:R>R8((s(/usr/lib/python2.6/compiler/pycodegen.pyR"\s(RARBR5R"(((s(/usr/lib/python2.6/compiler/pycodegen.pyR1XsR0cBseZdZdZRS(R+cCs+|i}t|}|i|_dS(N(R?tInteractiveCodeGeneratorR@R3(R:R>R8((s(/usr/lib/python2.6/compiler/pycodegen.pyR"es(RARBR5R"(((s(/usr/lib/python2.6/compiler/pycodegen.pyR0asR!cBs8eZdZddZdZeiZdZRS(R,icCsP|i}t|}|oddk}|i|GHn|i|_dS(Ni(R?tModuleCodeGeneratortpprintR@R3(R:R&R>R8RF((s(/usr/lib/python2.6/compiler/pycodegen.pyR"nscCs*|i|iti|i|dS(N(twritetgetPycHeadertmarshalR$R3(R:R'((s(/usr/lib/python2.6/compiler/pycodegen.pyR$vscCs2tii|i}tid|}|i|S(Ns<i(tostpathtgetmtimeR%tstructtpacktMAGIC(R:tmtime((s(/usr/lib/python2.6/compiler/pycodegen.pyRH|s(	RARBR5R"R$timpt	get_magicRORH(((s(/usr/lib/python2.6/compiler/pycodegen.pyR!js
	tLocalNameFindercBskeZdZddZdZdZdZdZdZdZ	dZ
d	Zd
ZRS(sFind local names in scopecCsCti|_ti|_x|D]}|ii|q%WdS(N(RtSettnamestglobalstadd(R:RUtname((s(/usr/lib/python2.6/compiler/pycodegen.pyR;s
cCsHx>|iiD]-}|ii|o|ii|qqW|iS(N(RVtelementsRUthas_elttremove(R:telt((s(/usr/lib/python2.6/compiler/pycodegen.pyt	getLocalss
cCsdS(N((R:tnode((s(/usr/lib/python2.6/compiler/pycodegen.pyt	visitDictscCs(x!|iD]}|ii|q
WdS(N(RURVRW(R:R^RX((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitGlobals
cCs|ii|idS(N(RURWRX(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitFunctionscCsdS(N((R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitLambdascCs5x.|iD]#\}}|ii|p|q
WdS(N(RURW(R:R^RXtalias((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitImports
cCs5x.|iD]#\}}|ii|p|q
WdS(N(RURW(R:R^RXRc((s(/usr/lib/python2.6/compiler/pycodegen.pyt	visitFroms
cCs|ii|idS(N(RURWRX(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitClassscCs|ii|idS(N(RURWRX(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAssNames((
RARBt__doc__R;R]R_R`RaRbRdReRfRg(((s(/usr/lib/python2.6/compiler/pycodegen.pyRSs								cCs*t|tio|ipdSndS(Nii(t
isinstanceRtConsttvalue(R^((s(/usr/lib/python2.6/compiler/pycodegen.pytis_constant_falses
	t
CodeGeneratorcBsBeZdZdZdZdZdZdZdZ	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@ZKhdAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6ZLdYZMdZZNd[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
}x|D]}|djo|iitd|_q|djo|iitq|djo|iitq|djo|iitqqWdS(Nit
BINARY_DIVIDEtdivisiontBINARY_TRUE_DIVIDEtabsolute_importtwith_statementtprint_function(t_CodeGenerator__initializedR.t	initClasst	__class__t
checkClassRtStacktlocalstsetupstlast_linenot_setupGraphDelegationt_div_opt
get_moduletfuturestgraphtsetFlagRRRR(R:Rtfeature((s(/usr/lib/python2.6/compiler/pycodegen.pyR;s*

	
	




cCsdS(s)This method is called once for each classN((R:((s(/usr/lib/python2.6/compiler/pycodegen.pyRuscCs9yWn.tj
o"}d|ii}t|nXdS(s*Verify that class is constructed correctlysBad class construction for %sN(tAssertionErrorRvRA(R:tmsgtintro((s(/usr/lib/python2.6/compiler/pycodegen.pyRws
cCsO|ii|_|ii|_|ii|_|ii|_|ii|_dS(N(RtemittnewBlockt
startBlockt	nextBlocktsetDocstring(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR|s
cCs
|iiS(sReturn a code object(RR@(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR@scCs,|idj	oti||iS|SdS(N(t
class_nameR.Rtmangle(R:RX((s(/usr/lib/python2.6/compiler/pycodegen.pyRscCs ti}t|||iS(N(Rt
SymbolVisitorRtscopes(R:R>ts((s(/usr/lib/python2.6/compiler/pycodegen.pytparseSymbolss
cCs
tddS(Ns#should be implemented by subclasses(R/(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR~scCs|iii|S(N(RyttopRZ(R:RX((s(/usr/lib/python2.6/compiler/pycodegen.pytisLocalName	scCs|id|dS(NtSTORE(t_nameOp(R:RX((s(/usr/lib/python2.6/compiler/pycodegen.pyt	storeNamescCs|id|dS(NtLOAD(R(R:RX((s(/usr/lib/python2.6/compiler/pycodegen.pytloadNamescCs|id|dS(NtDELETE(R(R:RX((s(/usr/lib/python2.6/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/(R:tprefixRXR((s(/usr/lib/python2.6/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(R:RRX((s(/usr/lib/python2.6/compiler/pycodegen.pyt_implicitNameOp(s
cCsXt|dd}|dj	o5||ijp|o|id|||_tStS(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(tgetattrR.R{RtTruetFalse(R:R^tforceR((s(/usr/lib/python2.6/compiler/pycodegen.pyt
set_lineno9s	cCs|i||_|i||_|idd|io$|id|i|idnt|i|idd}|i	i
|i|i|i|idd|iddS(NRit
LOAD_CONSTRhtverbosetRETURN_VALUE(RRRRtdocRRR^t
NameFinderRytpushR]tvisitR.(R:R^tlnf((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitModuleWs
cCsP|i||i||_|i||_|i|i|iddS(NR(RRRRRR^R(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitExpressionds

cCsE|i|dd|io|i|in|i|idS(NtisLambdai(t_visitFuncOrLambdaRRRRX(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyRaks
cCs|i|dddS(NRi(R(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyRbqscCs|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
decoratorstnodesRtlentFunctionGenRRR~RR3tfinishRtdefaultst_makeClosuretrangeR(R:R^Rt	decoratortndecoratorsR8tdefaultti((s(/usr/lib/python2.6/compiler/pycodegen.pyRts$




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(tClassGenRR~RR3RRRRXtbasesRRRR(R:R^R8tbase((s(/usr/lib/python2.6/compiler/pycodegen.pyRfs



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(RRttestsRRlRRRRRtelse_(R:R^tendtnumtestsRttesttsuitetnextTest((s(/usr/lib/python2.6/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(RRRRRzRtLOOPRRRtbodyRtpopR(R:R^tloopRtafter((s(/usr/lib/python2.6/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(
RRzRRRRRtlistRtassignRRR(R:R^tstarttanchorR((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitFors(






cCsE|iptd|i|ifn|i||iddS(Ns'break' outside loop (%s, %d)t
BREAK_LOOP(RzR#R%RRR(R:R^((s(/usr/lib/python2.6/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)(
RzR#R%RRRRRRtEXCEPTtTRY_FINALLYRtEND_FINALLY(R:R^tkindtblockRt
loop_blockR((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitContinues2









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

cCs|i|ddS(NR(R(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAndscCs|i|ddS(NtJUMP_IF_TRUE(R(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitOrscCs|i}|i}|i|i|id||id|i|i|id||i||id|i|i|i|dS(NRRR(RRRRtthenRR(R:R^tendblockt	elseblock((s(/usr/lib/python2.6/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(R:R^tcleanuptopR3R((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitCompare$s,








cCs|i|d|i}|id|_|idd|id|id|g}xttt|i|iD]\}}|i|\}}d}x>|i
D]3}	|djo|i}n|i|	|qW|id|||fqW|id||i|i
|idx|D]z\}}}|oG|i}
|id	|
|i||id
|i|
n|id||i|q8W|id||id|_dS(
Ns$list%dit
BUILD_LISTiRRRtLIST_APPENDRRRR(Rt_CodeGenerator__list_countRRtzipRRtqualsRR.tifsRtinsertRRR(R:R^ttmpnametstackRtfor_RRtconttif_tskip_one((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitListComp?s@


"




cCs|i}|i}|i|i|id|i||i|dt|id||i|i|i||fS(NRRR(RRRRRRRR(R:R^RR((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitListCompForcs


cCsN|i|dt|i|i|id||i|iddS(NRRR(RRRRRR(R:R^tbranch((s(/usr/lib/python2.6/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(R:R8targstfreesRX((s(/usr/lib/python2.6/compiler/pycodegen.pyRwscCst||i|i|i}t|i||i|i||i|d|i	|ii
di|id|idddS(NiRRi(
tGenExprCodeGeneratorRRR~RR3RRRRRtiterR(R:R^R8((s(/usr/lib/python2.6/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.RRRRRRRRzR(R:R^RRRRRRR	R
R((s(/usr/lib/python2.6/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(
RRzRRRt
is_outmostRRRRRRR(R:R^RRR((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitGenExprFors



cCsN|i|dt|i|i|id||i|iddS(NRRR(RRRRRR(R:R^R((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitGenExprIfs

cCsdS(N((R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAssertscCs|i|d}|io|i|i|d}n|io|i|i|d}n|io|i|i|d}n|id|dS(Niit
RAISE_VARARGS(Rtexpr1Rtexpr2texpr3R(R:R^tn((s(/usr/lib/python2.6/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(RRRRRRzRRRRRRRthandlersR(R:R^RR&RtlElsetlastRRttargettnext((s(/usr/lib/python2.6/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(
RRRRRzRRRRRR.Rtfinal(R:R^RR-((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitTryFinally%s





cCs|i}|i}d|i}|id7_|i||i|i|id|idd|id|idd|idd	|idjo|id
n|id||id||i	||i
it|f|idj	o4|id
||id||i|in|i|i
|id|i
i|idd|i	||i
it|f|id|id|i
i|id8_dS(Ns$value%diRt	LOAD_ATTRt__exit__Rt	__enter__RiRRR,RRRRtWITH_CLEANUPR(Rt_CodeGenerator__with_countRRRRtvarsR.RRRzRRRRR(R:R^RR-tvaluevar((s(/usr/lib/python2.6/compiler/pycodegen.pyt	visitWith8s>










cCs.|i||i|i|iddS(NR(RRRR(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitDiscard\s
cCs|id|idS(NR(RRk(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitConstascCs'|id|i|i|idS(NR(RRXRR(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitKeyworddscCsdS(N((R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyR`hscCs!|i||i|idS(N(RRRX(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyt	visitNamels
cCs|i|dS(N(R(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyt	visitPasspscCs|i||iitodnd}x|iD]\}}tdjo$|id||iddn|id||idd}|o|i	||i
|q7|i
|q7WdS(NiiiRtIMPORT_NAMEt.(RRt	checkFlagRRUtVERSIONRR.tsplitt_resolveDotsR(R:R^tlevelRXRcR)((s(/usr/lib/python2.6/compiler/pycodegen.pyRdss
 


cCsE|i||i}|djo|iito
d}ntd|i}tdjo*|id||idt	|n|id|i
x|iD]\}}tdjo]|djod|_|iddS|id	||i||i
|p|q|id	|qW|id
dS(NiicSs|\}}|S(((t.0RXRc((s(/usr/lib/python2.6/compiler/pycodegen.pyt<lambda>siRR<t*tIMPORT_STARtIMPORT_FROMR(RRBRR>RtmapRUR?Rttupletmodnamet	namespaceRAR(R:R^RBtfromlistRXRc((s(/usr/lib/python2.6/compiler/pycodegen.pyRes*
	!




	

cCsP|id}t|djodSx"|dD]}|id|q2WdS(NR=iR/(R@RR(R:RXteltsR\((s(/usr/lib/python2.6/compiler/pycodegen.pyRAscCs0|i|i|id|i|idS(NR/(RRRRtattrname(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitGetattrscCs|i||i|it|id}xltt|iD]U}|i|}||jo|idnt|ti	o|i|qFqFWdS(NiR(
RRRRRRRRiRtNode(R:R^tdupsRR\((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAssigns


cCse|idjo|i|in>|idjo!|i||i|in
dG|iGHdS(Nt	OP_ASSIGNt	OP_DELETEtoops(R6RRXRR(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyRgs
cCs|i|i|idjo |id|i|inB|idjo |id|i|indG|iGH|GHdS(NRSt
STORE_ATTRRTtDELETE_ATTRswarning: unexpected flags:(RRR6RRRN(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAssAttrs  tUNPACK_SEQUENCEcCsUt|djo|i|t|inx|iD]}|i|q:WdS(NRT(tfindOpRRRR(R:R^RR((s(/usr/lib/python2.6/compiler/pycodegen.pyt_visitAssSequences

icCs|i|ddS(NtUNPACK_TUPLE(R[(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitAssTuplescCs|i|ddS(NtUNPACK_LIST(R[(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAssListscCsg|i|t|i}|i|d|i|i|i|i|i|i|ddS(Ntloadtstore(Rtwrap_augR^RRRt_augmented_opcodeR(R:R^taug_node((s(/usr/lib/python2.6/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(NR`Ra(RRXR(R:R^R5((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAugNames

cCs|djo=|i|i|id|id|i|in;|djo-|id|id|i|indS(NR`RR/RaRRV(RRRRRN(R:R^R5((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAugGetattrs

 

cCs|djo|i|dn|djod}|io|dB}n|io|dB}n|djo|idn,|djo|idn|id	|id
|ndS(NR`iRaiiRitROT_FOURRsSTORE_SLICE+%d(t
visitSlicetlowertupperR(R:R^R5tslice((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitAugSlices






cCsP|djo|i|dn,|djo|id|idndS(NR`iRaRtSTORE_SUBSCR(tvisitSubscriptR(R:R^R5((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitAugSubscripts



cCs|i|i|idjo|iddn|i|i|idjo|idn|i|i|iddS(NRRt	EXEC_STMT(RRRyR.RRV(R:R^((s(/usr/lib/python2.6/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^RRiRtKeywordt	star_argsR.t
dstar_argstcallfunc_opcode_infoR(R:R^tpostkwtargt	have_start
have_dstartopcode((s(/usr/lib/python2.6/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(R:R^tnewlineR((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitPrint7s






cCs?|i|dd|io|idn|iddS(NRitPRINT_NEWLINE_TOt
PRINT_NEWLINE(RRR(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitPrintnlGs
cCs.|i||i|i|iddS(NR(RRRkR(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pytvisitReturnNs
cCs.|i||i|i|iddS(NR(RRRkR(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitYieldSs
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+%dRSsSTORE_SLICE+%dRTsDELETE_SLICE+%dsweird slice(RRRvRwRR6(R:R^taug_flagRx((s(/usr/lib/python2.6/compiler/pycodegen.pyRuZs,



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

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


cCsK|i|x|iD]}|i|qW|idt|idS(NR(RRRRR(R:R^R\((s(/usr/lib/python2.6/compiler/pycodegen.pyt	visitLists


cCs>x|iD]}|i|q
W|idt|idS(NtBUILD_SLICE(RRRR(R:R^R((s(/usr/lib/python2.6/compiler/pycodegen.pyt
visitSliceobjs
cCs||i||iddxX|iD]M\}}|id|i||i||id|idq'WdS(Nt	BUILD_MAPiRRRz(RRtitemsR(R:R^tktv((s(/usr/lib/python2.6/compiler/pycodegen.pyR_s





N(sRARBRhRR.RtRR;RuRwR|R@RRR~RRRRRRRRRSRRRRRRaRbRRfRRRRRRRRRRRRR
RRRRRRRR$R+R.R3R6R7R8R9R`R:R;RdReRARORRRgRXR[R?R]R_ReRcRrRsRyR|R~RRRRRRuR{RRRRRRRRRRRRRRRRRRRRRRRRRR_(((s(/usr/lib/python2.6/compiler/pycodegen.pyRms															
										
			
		$	
				!						2		$														


			
																																			tNestedScopeMixincBseZdZdZRS(s>Defines initClass() for nested scoping (Python 2.2-compatible)cCs(t|i_t|i_t|i_dS(N(RSRvRtFunctionCodeGeneratorRtClassCodeGeneratorR(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyRus(RARBRhRu(((s(/usr/lib/python2.6/compiler/pycodegen.pyRsREcBs)eZeiZdZdZdZRS(cCsEtid|i|_ti||_|it||dS(Ns<module>(	RtPyFlowGraphR%RRtfind_futuresRt _ModuleCodeGenerator__super_initR(R:R>((s(/usr/lib/python2.6/compiler/pycodegen.pyR;s
cCs|S(N((R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR~sN(RARBRmR;RR.RR~(((s(/usr/lib/python2.6/compiler/pycodegen.pyREs		RCcBs/eZeiZdZdZdZdZRS(cCs3tid|i|_|it||dS(Ns<expression>(RRR%Rt$_ExpressionCodeGenerator__super_initR(R:R>((s(/usr/lib/python2.6/compiler/pycodegen.pyR;
s
cCs|S(N((R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR~sN((	RARBRmR;RR.RRR~(((s(/usr/lib/python2.6/compiler/pycodegen.pyRCs
		RDcBs8eZeiZdZdZdZdZdZ	RS(cCsMtid|i|_|i|i|t|||iddS(Ns
<interactive>R(RRR%Rt%_InteractiveCodeGenerator__super_initRRR(R:R>((s(/usr/lib/python2.6/compiler/pycodegen.pyR;s



cCs|S(N((R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR~ scCs!|i|i|iddS(Nt
PRINT_EXPR(RRR(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyR7#sN((
RARBRmR;RR.RRR~R7(((s(/usr/lib/python2.6/compiler/pycodegen.pyRDs			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(RtmoduleRtlambdaCountRXtgenerateArgListtargnamesRRR%RRt
super_initRRRR3RRyRR]tvarargsRR
tkwargsRRtgenerateArgUnpack(R:tfuncRRRR)tklassRXRthasTupleArgR((s(/usr/lib/python2.6/compiler/pycodegen.pyR;-s.		
		
!


cCs|iS(N(R(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR~JscCs<|ii|ip|iddn|iddS(NRR(RtstartExitBlockRRR.(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyRMs

cCsdx]tt|D]I}||}t|to)|idd|d|i|qqWdS(Nt	LOAD_FASTs.%di(RRRiRIRtunpackSequence(R:RRR((s(/usr/lib/python2.6/compiler/pycodegen.pyRSs
cCstdjo|idt|n|idt|x?|D]7}t|to|i|qD|id|qDWdS(NiRYR\R(R?RRRiRIRR(R:ttupR\((s(/usr/lib/python2.6/compiler/pycodegen.pyRZs
(
RARBRRR;R~RRRtunpackTuple(((s(/usr/lib/python2.6/compiler/pycodegen.pyR)s					RcBs)eZeiZdZeiZdZRS(cCs||_|||_|i||||||ii|ii|ii|ii|iidj	o|ii
tndS(N(RRt"_FunctionCodeGenerator__super_initRtsetFreeVarsRtsetCellVarst
get_cell_varst	generatorR.RR(R:RRRRR)((s(/usr/lib/python2.6/compiler/pycodegen.pyR;ns	
N(	RARBRmR;RR.RRR(((s(/usr/lib/python2.6/compiler/pycodegen.pyRgs		RcBs)eZeiZdZeiZdZRS(cCsu||_|||_|i||d|||ii|ii|ii|ii|iit	dS(Ni(
RRt!_GenExprCodeGenerator__super_initRRRRRRR(R:tgexpRRR)((s(/usr/lib/python2.6/compiler/pycodegen.pyR;~s	
N(	RARBRmR;RR.RRR(((s(/usr/lib/python2.6/compiler/pycodegen.pyRws		tAbstractClassCodecBs#eZdZdZdZRS(cCs|i|_||_ti|i|idddd|_|it|i	|i
dd}|ii|i
|iit|io|i|indS(NRiRiR(RXRRRRR%RRRR3RRyRR]RRRR(R:RRRR((s(/usr/lib/python2.6/compiler/pycodegen.pyR;s	

cCs|iS(N(R(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR~scCs+|ii|id|iddS(NtLOAD_LOCALSR(RRR(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyRs

(RARBR;R~R(((s(/usr/lib/python2.6/compiler/pycodegen.pyRs		RcBs)eZeiZdZeiZdZRS(cCs||_|||_|i||||ii|ii|ii|ii|i||i	dd|i
d|io$|i	d|i|i
dndS(NtLOAD_GLOBALRARBRRh(RRt_ClassCodeGenerator__super_initRRRRRRRRR(R:RRR((s(/usr/lib/python2.6/compiler/pycodegen.pyR;s	



N(	RARBRmR;RR.RRR(((s(/usr/lib/python2.6/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:(RRRitstrtappendRIRtextendRtflattenR2(targlistRtextratcountRR\((s(/usr/lib/python2.6/compiler/pycodegen.pyRs
cCs#t}t||dd|iS(s5Find the op (DELETE, LOAD, STORE) in an AssTuple treeRi(tOpFinderRR(R^R((s(/usr/lib/python2.6/compiler/pycodegen.pyRZs	RcBs&eZdZdZeZeZRS(cCs
d|_dS(N(R.R(R:((s(/usr/lib/python2.6/compiler/pycodegen.pyR;scCsD|idjo|i|_n!|i|ijo
tdndS(Nsmixed ops in stmt(RR.R6R2(R:R^((s(/usr/lib/python2.6/compiler/pycodegen.pyRgs(RARBR;RgRXR{(((s(/usr/lib/python2.6/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(R:R((s(/usr/lib/python2.6/compiler/pycodegen.pyR;scCst|i|S(N(RR(R:tattr((s(/usr/lib/python2.6/compiler/pycodegen.pyt__getattr__s(RARBRhR;R(((s(/usr/lib/python2.6/compiler/pycodegen.pyRs
	t
AugGetattrcBseZRS((RARB(((s(/usr/lib/python2.6/compiler/pycodegen.pyRstAugNamecBseZRS((RARB(((s(/usr/lib/python2.6/compiler/pycodegen.pyRstAugSlicecBseZRS((RARB(((s(/usr/lib/python2.6/compiler/pycodegen.pyRstAugSubscriptcBseZRS((RARB(((s(/usr/lib/python2.6/compiler/pycodegen.pyRscCst|i|S(N(twrapperRv(R^((s(/usr/lib/python2.6/compiler/pycodegen.pyRbst__main__(LRQRJRIRMtsyst	cStringIORtcompilerRRRRRRRRtcompiler.constsR	R
RRR
RRRRRRRRtcompiler.pyassemRtversion_infoR?tAttributeErrorRRRRRR*R.R"R9R1R0R!RSRlRmRRERCRDRRRRRRRZRRRRRRtGetattrtNametSlicet	SubscriptRRbRAtargvtfile(((s(/usr/lib/python2.6/compiler/pycodegen.pyt<module>s"""@


		+	=>				



	


ACC SHELL 2018