Ñò ²ËIc$@sfddkTddklZddklZlZddklZlZddk Z ye Wn#e j oddk l Z nXddd d d d gZeƒeedd „Zeƒeeedd„Zeƒdd„Zeƒdd„Zd„Zd„Zd„Zd„Zd„Zd„Zeedeideideidei dei!ƒeedei"dei#dei$dei%d ei&d!ei'd"ei(d#ei)d$ei*d%ei+d&ei,d'ei-d(ei.ƒ eed)ei/d*ei0ƒd+d3d,„ƒYZ1e2d-ƒZ3d.„Z4d/efd0„ƒYZ5d efd1„ƒYZ6d d4d2„ƒYZ7dS(5iÿÿÿÿ(t*(tSymbol(tgen_argtclone_function(tbuildt parse_exprN(tSettGetSlicet BuildSlicetDictt ExprBuildertIfElsetCSECodecCs²|djo/|tj ott|||ƒS|||fS||ƒ|tj o3||ƒ|tj o||tiƒS|iƒS|tj o||ƒ|iƒS|iƒS(N( tNonetPasst fold_argsRtCodetSLICE_3tSLICE_1tSLICE_2tSLICE_0(texprtstarttstoptcode((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyRs          cCs‡|djott|||ƒS|tjo d}n|tjo d}n||||ƒ|tj o|idƒS|idƒS(Nii(R RRRt BUILD_SLICE(RRtstrideR((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR+s    cCs}|djottttt|ƒƒƒS|idƒx?|D]7\}}|iƒ|||ƒ|iƒ|iƒq>WdS(Ni( R RR ttupletmapt BUILD_MAPtDUP_TOPt ROT_THREEt STORE_SUBSCR(titemsRtktv((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR 6s      cCsÙ|djott|||ƒStƒtƒ}}||ƒ||jo;||iti|ƒ|idj o||iƒq¤n||jo||i ƒn||jo||ti||ƒS|||ƒSdS(N( R RR tLabelt JUMP_IF_FALSERtPOP_TOPt stack_sizet JUMP_FORWARDt JUMP_IF_TRUE(ttvaltcondtfvalRt else_clausetend_if((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR As     cs)tƒd‡‡fd†‰|ˆ_ˆS(Ncs(|djotˆ|ƒS||ˆƒS(N(R R(RR(ttmptopcode(s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR/Us (tnodetypeR t__name__(tnameR0((R/R0s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pytunaryOpSs cs)tƒd‡‡fd†‰|ˆ_ˆS(Ncs.|djotˆ||ƒS|||ˆƒS(N(R R(tlefttrightR(R/R0(s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR/^s (R1R R2(R3R0((R/R0s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pytbinaryOp\s cs)tƒd‡‡fd†‰|ˆ_ˆS(Ncs>|djotˆt|ƒƒS||Œˆ|t|ƒƒS(N(R RRtlen(R!R(R/R0(s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR/gs  (R1R R2(R3R0((R/R0s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pytlistOpes cKs@tg}|iƒD]"\}}|||||ƒfq~ƒS(N(tdictR!(toptypetopst_[1]R3top((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pytmkOpsoscKs$ti|ƒttƒ||dS(N(t__all__textendtlocalOpstglobals(R;R<((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyt globalOpsrs cKs|it||ƒdS(N(tupdateR?(tnsR;R<((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyRBvstNottPlustMinustReprtInverttAddtSubtMultDivtModtFloorDivtPowert LeftShiftt RightShifttGetitemtBitortBitxortBitandtTupletListt SMIGeneratorcBspeZdZedƒZd„Zhdd6ieid dƒZ d„Z d„Z d „Z d „Z d „ZRS( s#State Machine Interpreter Generators$ArgcCs|i|iiƒS((t STORE_FASTtARGR3(tselfR((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyt©sis2.3ii cCs¹ddk}ti|ƒ|_}h|_||_tƒtƒtƒtƒf\}}}}|i|ƒ\}} } } |ihƒ\} |_ |it ƒƒ\} |_ |i dƒ|| |ƒ|idƒ||ittid| ffƒ|ititi|i|i|ititi|ttƒ|tittttt|ƒdt| ƒt| ƒƒƒ|tittt|i ƒti!tifƒƒƒ|i"|_#|i$|_$dS(Niÿÿÿÿitin((%tinspectR t from_functionRtactionstfuncR$t getargspect make_constt actions_consttobjecttstartnode_consttcacheR tUNPACK_SEQUENCER%tCompareRRR&tROT_TWOtSET_ARGt SETUP_LOOPt WHY_CONTINUEt END_FINALLYt POP_BLOCKtReturnRtCallRRtConstt bad_actionRt JUMP_ABSOLUTEt NEXT_STATEt maybe_cache(R^RdRaRtloop_toptexitRvtfaketargststartdstartdefaultsRct start_node((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyt__init__¬s:   *   -+ cCs]t|iƒ}||ii|is!=(RlR(R^RR<R=R>targ((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyRlts cs‡fd†}|S(Ncsˆt||ƒƒS(N(R(R^R(tnt(s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pytmethod{s((R3RÁRÂ((RÁs6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyt_unaryOpzst UnaryPlust UnaryMinusRKt BackquoteRGcs‡fd†}|S(Ncsˆt||ƒt||ƒƒS(N(R(R^R5R6(RÁ(s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyRŠs((R3RÁRÂ((RÁs6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyt_mkBinOp‰sRLRMRNRORPRQRRRSRTcs‡fd†}|S(NcsDt||dƒ}x*|dD]}ˆ|t||ƒƒ}qW|S(Nii(R(R^R!tresulttitem(RÁ(s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyRœs  ((R3RÁRÂ((RÁs6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyt_multiOp›sRVRWRXcs‡fd†}|S(Ncsˆtti|ƒ|ƒƒS(N(RRt__get__(R^R!(R>(s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR«s((R3R>RÂ((R>s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyt_listOpªstAndtOrRYRZcCsLti|ƒ}tg}|D]%\}}|||ƒ||ƒfq~ƒS(N(RRËR (R^R!tbR=R"R#((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR ¶sc Csti|ƒ}t||ƒt||ƒg}|D]%\}} |||ƒ|| ƒfq2~|o ||ƒ|o ||ƒƒS(N(RRËRtR( R^RdR}tkwt star_nodet dstar_nodeRÏR=R"R#((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pytCallFuncºsKcCs+tt||ƒt||ƒt||ƒƒS(N(R R(R^R*R+R,((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR Ás(/R2R‘R’R‚R±R¶RŸR·RuR¹R»R¼R½R¾tFalsetsimplify_comparisonsRlRÃRBtlocalsRHRIRKRJRGRÇRLRMRNRORPRQRRRSRTRÊRVRWRXRÌRÍRÎRYRZR RÓR (((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pyR Isb                  (((8tpeak.util.assemblertpeak.util.symbolsRtpeak.rules.coreRRt ast_builderRRR•tsetR¸tsetsRR@R1RR RRR R R4R7R9R?RDRBRt UNARY_NOTtUNARY_POSITIVEtUNARY_NEGATIVEt UNARY_CONVERTt UNARY_INVERTt BINARY_ADDtBINARY_SUBTRACTtBINARY_MULTIPLYt BINARY_DIVIDEt BINARY_MODULOtBINARY_FLOOR_DIVIDEt BINARY_POWERt BINARY_LSHIFTt BINARY_RSHIFTt BINARY_SUBSCRt BINARY_ORt BINARY_XORt BINARY_ANDt BUILD_TUPLEt BUILD_LISTR[R“R—R­R˜R R (((s6/usr/lib/python2.6/site-packages/peak/rules/codegen.pytsj                          R  &)