ACC SHELL

Path : /usr/lib/python/compiler/
File Upload :
Current File : //usr/lib/python/compiler/transformer.pyc

Ńň
rÄMc/@sjdZddkTddkZddkZddkZdefd„ƒYZddklZl	Z	ddkl
Z
lZlZd„Z
d	d
„Zd„Zd„Zd
„Zdfd„ƒYZeieieieieieieieieieieieieiei ei!ei"gZ#hdei$6dei%6dei&6dei'6dei(6dei)6dei*6Z+ei,ei-ei.ei/ei0ei1ei2eiei3ei4ei5ei6ei7ei8ei9ei:ei;ei<ei=ei>ei?ei@eiAeiBeiCeieieieieieieiDeieieieieiei ei!ei"eiEg)ZFeGedƒoeFiHeiIƒneGedƒoeFiHeiJƒneieieieieieieieieieiei ei!gZKhZLx'eiMiNƒD]\ZOZPePeLeO<qWx'eiQiNƒD]\ZOZPePeLeO<qCWd„ZRdS(sîParse tree transformation module.

Transforms Python source code into an abstract syntax tree (AST)
defined in the ast module.

The simplest ways to invoke this module are via parse and parseFile.
parse(buf) -> AST
parseFile(path) -> AST
i˙˙˙˙(t*NtWalkerErrorcBseZRS((t__name__t
__module__(((s*/usr/lib/python2.6/compiler/transformer.pyR!s(t
CO_VARARGStCO_VARKEYWORDS(t	OP_ASSIGNt	OP_DELETEtOP_APPLYcCs3t|dƒ}|iƒd}|iƒt|ƒS(NtUs
(topentreadtclosetparse(tpathtftsrc((s*/usr/lib/python2.6/compiler/transformer.pyt	parseFile's
texeccCsY|djp
|djotƒi|ƒS|djotƒi|ƒStdƒ‚dS(NRtsingletevals4compile() arg 3 must be 'exec' or 'eval' or 'single'(tTransformert
parsesuitet	parseexprt
ValueError(tbuftmode((s*/usr/lib/python2.6/compiler/transformer.pyR
1s

cCsľg}x¨|D] }t|dƒo|i|iƒƒq
t|ƒtdƒjo|itt|ƒƒƒq
t|ƒtgƒjo|it|ƒƒq
|i|ƒq
W|S(NtasList(NN(thasattrtappendRttypetNonettuple(tnodestltitem((s*/usr/lib/python2.6/compiler/transformer.pyR:scCsht|dtƒp	|dSxD|dD]8}t|tƒo"t|ƒ}|dj	o|Sq(q(WdS(Nii(t
isinstanceR t
extractLineNoR(tasttchildtlineno((s*/usr/lib/python2.6/compiler/transformer.pyR%Hs	
cGsx|d}|tjoJyt||dŒSWqttj
o!t|Gt|ƒG|GH‚qtXntdt|ƒ‚dS(Niis$Can't find appropriate Node type: %s(R!t	TypeErrortlenRtstr(targstkind((s*/usr/lib/python2.6/compiler/transformer.pytNodeRs

RcBs}eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„ZeZd„Zd„ZeZeZeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„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'„Z-d(„Z.d)„Z/d*„Z0d+„Z1d,„Z2d-„Z3d.„Z4d/„Z5d0„Z6d1„Z7d2„Z8d3„Z9e9Z:e9Z;e9Z<d4„Z=d5„Z>d6„Z?e?Z@d7„ZAd8„ZBd9„ZCd:„ZDd;„ZEd<„ZFd=„ZGd>„ZHd?„ZId@„ZJdA„ZKdB„ZLdC„ZMdD„ZNdE„ZOdF„ZPdG„ZQdH„ZRdI„ZSdJ„ZTdK„ZUdL„ZVdM„ZWdN„ZXdO„ZYdP„ZZdQ„Z[dR„Z\dS„Z]dT„Z^dU„Z_dV„Z`dW„ZadX„ZbdY„ZcdZ„Zdd[„Zed\„Zfd]„Zgd^„Zhd_„Zid`„Zjda„Zkdb„Zldc„Zmdd„Zneoepdeƒodf„Zqdg„Zrdh„Zsn
di„Zqeoepdjƒodk„Ztdl„Zundm„Zvdn„Zwdo„Zxdp„Zydq„Zzdr„Z{ds„Z|dt„Z}du„Z~dwdv„Z€RS(xsęUtility object for transforming Python parse trees.

    Exposes the following methods:
        tree = transform(ast_tree)
        tree = parsesuite(text)
        tree = parseexpr(text)
        tree = parsefile(fileob | filename)
    cCs×h|_xGtiiƒD]6\}}t||ƒot||ƒ|i|<qqW|i|iti<h|i	ti
6|iti6|i
ti6|iti6|iti6|iti6|iti6|_d|_dS(N(t	_dispatchtsymboltsym_nametitemsRtgetattrtcom_NEWLINEttokentNEWLINEt	atom_lpartLPARt	atom_lsqbtLSQBtatom_lbracetLBRACEtatom_backquotet	BACKQUOTEtatom_numbertNUMBERtatom_stringtSTRINGt	atom_nametNAMEt_atom_dispatchRtencoding(tselftvaluetname((s*/usr/lib/python2.6/compiler/transformer.pyt__init__hs	




cCsFt|tƒp
t|tƒpti|ddƒ}n|i|ƒS(s,Transform an AST into a modified parse tree.t	line_infoi(R$R tlisttparsertst2tupletcompile_node(RGttree((s*/usr/lib/python2.6/compiler/transformer.pyt	transformxs cCs|iti|ƒƒS(s6Return a modified parse tree for the given suite text.(RQRMtsuite(RGttext((s*/usr/lib/python2.6/compiler/transformer.pyR~scCs|iti|ƒƒS(s;Return a modified parse tree for the given expression text.(RQRMtexpr(RGRS((s*/usr/lib/python2.6/compiler/transformer.pyR‚scCs<t|ƒtdƒjot|ƒ}n|i|iƒƒS(s@Return a modified parse tree for the contents of the given file.t(RR
RR(RGtfile((s*/usr/lib/python2.6/compiler/transformer.pyt	parsefile†sc	Cs|d}|tijo%|d|_|d}|d}n|tijo|i|dƒS|tijo|i|dƒS|tijo|i|dƒS|tijo|i|dƒS|tijo|i|dƒS|tijo|i|dƒSt	d|f‚dS(Niiisunexpected node type(
R0t
encoding_declRFtsingle_inputt
file_inputt
eval_inputtlambdeftfuncdeftclassdefR(RGtnodetn((s*/usr/lib/python2.6/compiler/transformer.pyRO‘s$


cCs7|dd}|tijo|i|dƒStƒS(Ni(R5R6tcom_stmttPass(RGR_R`((s*/usr/lib/python2.6/compiler/transformer.pyRYŠscCsœ|i|tiƒ}|dj	o
d}nd}g}xN||D]B}|dtijo(|dtijo|i||ƒqCqCWt|t	|ƒƒS(Nii(
t
get_docstringR0RZRR5t	ENDMARKERR6tcom_append_stmttModuletStmt(RGtnodelisttdoctitstmtsR_((s*/usr/lib/python2.6/compiler/transformer.pyRZłs

(cCst|i|dƒƒS(Ni(t
Expressiontcom_node(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyR[żscCsĆt|ƒ}|djo|ddjpt‚|i|ƒ}d}xy||jok||dtijpt‚||ddtijpt‚t|||ddƒ}|d7}qIW|S(Niii(R*tAssertionErrorRCR5tDOTRDtGetattr(RGRhtlistlenR#Rj((s*/usr/lib/python2.6/compiler/transformer.pytdecorator_nameÄs%
#cCsät|ƒdjpt‚|ddtijpt‚|ddtijpt‚|ddtijpt‚|i|ddƒ}t|ƒdjo9|ddtijpt‚|i	||dƒ}n|}|S(	Niiiii˙˙˙˙ii(iii(
R*RnR5tATR6R0tdotted_nameRrR8tcom_call_function(RGRhtfuncnameRT((s*/usr/lib/python2.6/compiler/transformer.pyt	decoratorŇscCsVg}xC|D];}|dtijpt‚|i|i|dƒƒq
Wt|ƒS(Nii(R0RwRnRt
Decorators(RGRhR2tdec_nodelist((s*/usr/lib/python2.6/compiler/transformer.pyt
decoratorsăscCsĹ|ddtijpt‚|ddtijo-|dgt|ddƒ}|i|ƒS|ddtijo<|i|ddƒ}|i|ddƒ}||_|Stƒ‚dS(Nii(R0RzRnR]RLR^R(RGRhR`Rztcls((s*/usr/lib/python2.6/compiler/transformer.pyt	decoratedës	cCsst|ƒdjo:|ddtijpt‚|i|ddƒ}n!t|ƒdjpt‚d}|dd}|dd}|dd}|dtijo |i|dƒ\}}}nd
}}d}|i|dƒ}	|i|dƒ}
|	dj	oCt	|
t
ƒpt‚t	|
idtƒpt‚|
id=nt
||||||	|
d	|ƒS(Niiiiiü˙˙˙iiý˙˙˙i˙˙˙˙R(((R*R0RzRnRtvarargslisttcom_arglistRcRmR$RgR!tDiscardtFunction(RGRhRzR(RIR,tnamestdefaultstflagsRitcode((s*/usr/lib/python2.6/compiler/transformer.pyR]÷s( 

c	Cs€|ddtijo$|i|ddƒ\}}}nd}}d}|i|dƒ}t||||d|ddƒS(Niiii˙˙˙˙R(((R0R}R~RmtLambda(RGRhRR‚RƒR„((s*/usr/lib/python2.6/compiler/transformer.pyR\s$
cCsü|dd}|i|dƒ}|ddtijo
g}n6|ddtijo
g}n|i|dƒ}|i|dƒ}|dj	oCt|tƒpt	‚t|i
dtƒpt	‚|i
d=nt||||d|ddƒS(Nii˙˙˙˙iiiR((
RcR5tCOLONtRPARt	com_basesRmRR$RgRnR!RtClass(RGRhRIRitbasesR„((s*/usr/lib/python2.6/compiler/transformer.pyR^&s


cCs|i|dƒS(Ni(Ra(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytstmt<scCsGg}x4tdt|ƒdƒD]}|i|||ƒqWt|ƒS(Nii(trangeR*ReRg(RGRhRkRj((s*/usr/lib/python2.6/compiler/transformer.pytsimple_stmtCs
cCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyt
parametersJscCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyR}MscCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytfpdefPscCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytfplistSscCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyRtVscCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytcomp_opYscCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyttrailer\scCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytsliceop_scCs
t‚dS(N(R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytargumentbsc	Cs|d}|i|ƒ|dƒ}t|ƒdjot|d|iƒS|ddtijofg}xAtdt|ƒddƒD]#}|i|i||t	ƒƒq…Wt
||d|ddƒS|i|dƒ}|i|dƒ}t
||d|d|dƒStd‚dS(Ni˙˙˙˙iR(iiscan't get here(tlookup_nodeR*RR(R5tEQUALRŒRt
com_assignRtAssignt
com_augassigntcom_augassign_opt	AugAssignR(RGRhtentexprNodetnodeslRjtlvaltop((s*/usr/lib/python2.6/compiler/transformer.pyt	expr_stmtjs
!cCs(g}t|ƒdjod}d}nt|ddtijoOt|ƒdjp|ddtijpt‚|i|dƒ}d}n
d}d}x:t|t|ƒdƒD] }|i|i||ƒƒqľW|ddtijot	||d|ddƒSt
||d|ddƒS(Niiiiii˙˙˙˙R((R*RR5t
RIGHTSHIFTtCOMMARnRmRŒRtPrinttPrintnl(RGRhR2tstarttdestRj((s*/usr/lib/python2.6/compiler/transformer.pyt
print_stmt{s"

cCs|i|dtƒS(Ni(R—R(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytdel_stmtscCstd|ddƒS(NR(ii(Rb(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyt	pass_stmt’scCstd|ddƒS(NR(ii(tBreak(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyt
break_stmt•scCstd|ddƒS(NR(ii(tContinue(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyt
continue_stmt˜scCsWt|ƒdjottdƒd|ddƒSt|i|dƒd|ddƒS(NiR(ii(R*tReturntConstRRm(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytreturn_stmt›scCs&|i|dƒ}t|d|iƒS(NiR((RmRR((RGRhRT((s*/usr/lib/python2.6/compiler/transformer.pyt
yield_stmtĄscCsNt|ƒdjo|i|dƒ}n
tdƒ}t|d|ddƒS(NiR(ii(R*RmR°RtYield(RGRhRH((s*/usr/lib/python2.6/compiler/transformer.pyt
yield_exprĽscCsŽt|ƒdjo|i|dƒ}nd}t|ƒdjo|i|dƒ}nd}t|ƒdjo|i|dƒ}nd}t|||d|ddƒS(NiiiR(ii(R*RmRtRaise(RGRhtexpr3texpr2texpr1((s*/usr/lib/python2.6/compiler/transformer.pyt
raise_stmtŹscCs+t|ƒdjpt‚|i|dƒS(Nii(R*RnRm(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytimport_stmtźscCs%t|i|dƒd|ddƒS(NiR(ii(tImporttcom_dotted_as_names(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytimport_nameÁscCs>|dddjpt‚d}x$||ddjo|d7}q%W|d}||dtijo!|i||ƒ}|d7}nd}||ddjpt‚||ddtijo"t|d
g|d|dd	ƒS||d||ddtij}t||i	|ƒ|d|dd	ƒSdS(Niitfromt.RUtimportRR(i(RN(
RnR0Rttcom_dotted_nameR5tSTARtFromRR8tcom_import_as_names(RGRhtidxtleveltfromnameR_((s*/usr/lib/python2.6/compiler/transformer.pytimport_fromĆs"
'cCsVg}x5tdt|ƒdƒD]}|i||dƒqWt|d|ddƒS(NiiR(i(RŒR*RtGlobal(RGRhRRj((s*/usr/lib/python2.6/compiler/transformer.pytglobal_stmtÜs
cCs•|i|dƒ}t|ƒdjoG|i|dƒ}t|ƒdjo|i|dƒ}qwd}nd}}t|||d|ddƒS(	NiiiiiR(ii(RmR*RtExec(RGRhR¸RˇRś((s*/usr/lib/python2.6/compiler/transformer.pyt	exec_stmtăs

cCs^|i|dƒ}t|ƒdjo|i|dƒ}nd}t||d|ddƒS(NiiiR(ii(RmR*RtAssert(RGRhR¸Rˇ((s*/usr/lib/python2.6/compiler/transformer.pytassert_stmtńs
cCs˝g}xetdt|ƒddƒD]G}|i||dƒ}|i||dƒ}|i||fƒq#Wt|ƒddjo|i|dƒ}nd}t||d|ddƒS(Niiiii˙˙˙˙R(i(RŒR*RmRRtIf(RGRhttestsRjttestNodet	suiteNodetelseNode((s*/usr/lib/python2.6/compiler/transformer.pytif_stmtúscCst|i|dƒ}|i|dƒ}t|ƒdjo|i|dƒ}nd}t|||d|ddƒS(NiiiiR(ii(RmR*RtWhile(RGRhRŃtbodyNodeRÓ((s*/usr/lib/python2.6/compiler/transformer.pyt
while_stmt	scCs|i|dtƒ}|i|dƒ}|i|dƒ}t|ƒdjo|i|dƒ}nd}t||||d|ddƒS(NiiiiR(ii(R—RRmR*RtFor(RGRht
assignNodetlistNodeRÖRÓ((s*/usr/lib/python2.6/compiler/transformer.pytfor_stmtscCs
|i|ƒS(N(tcom_try_except_finally(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyttry_stmt%scCs
|i|ƒS(N(tcom_with(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyt	with_stmt(scCs
|i|ƒS(N(tcom_with_var(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytwith_var+scCsnt|ƒdjo|i|dƒSg}x6|D].}|dtijo|i||ƒq2q2Wt|ƒS(Nii(R*RaR0R‹ReRg(RGRhRkR_((s*/usr/lib/python2.6/compiler/transformer.pyRR.scCs|it|ƒS(N(t
com_binarytTuple(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyttestlist>scCs`t|ƒdjo@|ddtijo(|i|dƒ}|i||dƒS|i|ƒS(Niii(R*R0tgen_forRmtcom_generator_expressionRä(RGRhttest((s*/usr/lib/python2.6/compiler/transformer.pyt
testlist_gexpHs+cCsţt|ƒdjo*|ddtijo|i|dƒS|i|dƒ}t|ƒdjo—t|ƒdjpt‚|dddjpt‚|dddjpt‚|i|dƒ}|i|dƒ}t|||d	|ddƒS|S(
NiiitifitelseiiR((R*R0R\RmRntIfExp(RGRhtthenRçtelse_((s*/usr/lib/python2.6/compiler/transformer.pyRçNs+cCsMt|ƒdjo*|ddtijo|i|dƒS|it|ƒS(Nii(R*R0R\RâtOr(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytor_test\s+cCs|it|ƒS(N(RâtAnd(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytand_testcscCsC|i|dƒ}t|ƒdjot|d|ddƒS|S(Ni˙˙˙˙iR(i(RmR*tNot(RGRhtresult((s*/usr/lib/python2.6/compiler/transformer.pytnot_testgsc	Cs|i|dƒ}t|ƒdjo|Sg}xĘtdt|ƒdƒD]°}||d}|d}|dtijoB|d}t|ƒdjo!|djo
d}qşd}qĚnt|d}|dd}|i||i||ƒfƒqJWt||d|ƒS(	Niiiitnotsnot insis notR((RmR*RŒR5RDt
_cmp_typesRtCompare(	RGRhR_tresultsRjtnlR`RR(((s*/usr/lib/python2.6/compiler/transformer.pyt
comparisonns$



$cCs|it|ƒS(N(RâtBitor(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyRTscCs|it|ƒS(N(RâtBitxor(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytxor_expr“scCs|it|ƒS(N(RâtBitand(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytand_expr—scCsć|i|dƒ}xĚtdt|ƒdƒD]˛}|i||ƒ}||ddtijo$t||gd|ddƒ}q,||ddtijo$t||gd|ddƒ}q,td||dd‚q,W|S(NiiiR(sunexpected token: %s(	RmRŒR*R5t	LEFTSHIFTt	LeftShiftR˘t
RightShiftR(RGRhR_Rjtright((s*/usr/lib/python2.6/compiler/transformer.pyt
shift_expr›s$$cCsć|i|dƒ}xĚtdt|ƒdƒD]˛}|i||ƒ}||ddtijo$t||gd|ddƒ}q,||ddtijo$t||gd|ddƒ}q,td||dd‚q,W|S(NiiiR(sunexpected token: %s(	RmRŒR*R5tPLUStAddtMINUStSubR(RGRhR_RjR((s*/usr/lib/python2.6/compiler/transformer.pyt
arith_expr¨s$$cCs|i|dƒ}xűtdt|ƒdƒD]á}|i||ƒ}||dd}|tijot||gƒ}n€|tijot||gƒ}nZ|tijot	||gƒ}n4|ti
jot||gƒ}ntd|‚|dd|_
q,W|S(Niiisunexpected token: %s(RmRŒR*R5RÂtMultSLASHtDivtPERCENTtModtDOUBLESLASHtFloorDivRR((RGRhR_RjRtt((s*/usr/lib/python2.6/compiler/transformer.pytterm´s 
cCs­|d}|d}|i|dƒ|ddƒ}|tijot|d|dƒS|tijot|d|dƒS|tijot|d|dƒ}n|S(Nii˙˙˙˙iR(i(R•R5RtUnaryAddRtUnarySubtTILDEtInvert(RGRhteltRR_((s*/usr/lib/python2.6/compiler/transformer.pytfactorĆs

!cCs“|i|dƒ}xytdt|ƒƒD]b}||}|dtijo,t||i||dƒgd|dƒS|i||ƒ}q)W|S(NiiR(i(RmRŒR*R5t
DOUBLESTARtPowertcom_apply_trailer(RGRhR_RjR((s*/usr/lib/python2.6/compiler/transformer.pytpowerÓs
 cCs|i|dd|ƒS(Ni(RE(RGRh((s*/usr/lib/python2.6/compiler/transformer.pytatomŕscCsB|ddtijotdd|ddƒS|i|dƒS(NiiR(i((R5R‡RăRm(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyR7ăscCsB|ddtijotdd|ddƒS|i|dƒS(NiiR(i((R5tRSQBtListtcom_list_constructor(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyR9čscCsB|ddtijotdd|ddƒS|i|dƒS(NiiR(i((R5tRBRACEtDictt
com_dictmaker(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyR;íscCst|i|dƒƒS(Ni(t	BackquoteRm(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyR=ňscCs,t|ddƒ}t|d|ddƒS(NiiR(i(RR°(RGRhtk((s*/usr/lib/python2.6/compiler/transformer.pyR?őscCs_|ioG|idjot|dƒi|iƒ}ntd|i|fƒSt|ƒSdS(Nsutf-8s
iso-8859-1s# coding: %s
%s(sutf-8s
iso-8859-1(RFtunicodetencodeR(RGtlit((s*/usr/lib/python2.6/compiler/transformer.pytdecode_literalús

cCsFd}x%|D]}||i|dƒ7}q
Wt|d|ddƒS(NRUiR(ii(R)R°(RGRhR%R_((s*/usr/lib/python2.6/compiler/transformer.pyRAs
cCs t|ddd|ddƒS(NiiR(i(tName(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyRCscCs|i|dS(Ni(R/(RGR_((s*/usr/lib/python2.6/compiler/transformer.pyR•scCs|i|d|dƒS(Nii(R/(RGR_((s*/usr/lib/python2.6/compiler/transformer.pyRmscGsttdƒƒS(N(RR°R(RGR,((s*/usr/lib/python2.6/compiler/transformer.pyR4%scCsäg}g}d}d}xź|t|ƒjo¨||}|dtijp|dtijo×|dtijoO||d}|dtijo)|i|dƒ|tB}|d}qĂn|t|ƒjo\||d}|tijo||d}ntd|‚|i|dƒ|tB}nPn|i|i	|ƒƒ|d}|t|ƒjoD||dti
jo,|i|i||dƒƒ|d}nt|ƒo
td‚n|d}qW|||fS(Niiisunexpected token: %sis-non-default argument follows default argument(
R*R5RÂRRDRRRRt	com_fpdefR–RmtSyntaxError(RGRhRR‚RƒRjR_R((s*/usr/lib/python2.6/compiler/transformer.pyR~+s>
(


+

cCs6|ddtijo|i|dƒS|ddS(Niii(R5R8t
com_fplist(RGR_((s*/usr/lib/python2.6/compiler/transformer.pyR+]scCsrt|ƒdjo|i|dƒSg}x:tdt|ƒdƒD] }|i|i||ƒƒqDWt|ƒS(Nii(R*R+RŒRR (RGR_RLRj((s*/usr/lib/python2.6/compiler/transformer.pyR-cscCs_d}xN|D]F}t|ƒtdƒjo'|ddjo||dd}q
q
W|d S(NRUiiRżi˙˙˙˙((R(RGR_RIR`((s*/usr/lib/python2.6/compiler/transformer.pyRÁls*cCs§|dtijpt‚|d}|i|ddƒ}t|ƒdjo|dfS|dddjpt‚|ddtijpt‚||ddfS(Niitasi(R0tdotted_as_nameRnRÁR*RR5RD(RGR_tdot((s*/usr/lib/python2.6/compiler/transformer.pytcom_dotted_as_namets
cCs||dtijpt‚|d}|i|dƒg}x:tdt|ƒdƒD] }|i|i||ƒƒqTW|S(Niii(R0tdotted_as_namesRnR1RŒR*R(RGR_RRj((s*/usr/lib/python2.6/compiler/transformer.pyRź~s
cCsÂ|dtijpt‚|d}|ddtijpt‚t|ƒdjo|dddfS|dddjp
t|‚|ddtijpt‚|dd|ddfS(NiiR.i(R0timport_as_nameRnR5RDR*R(RGR_((s*/usr/lib/python2.6/compiler/transformer.pytcom_import_as_name†s
cCs||dtijpt‚|d}|i|dƒg}x:tdt|ƒdƒD] }|i|i||ƒƒqTW|S(Niii(R0timport_as_namesRnR4RŒR*R(RGR_RRj((s*/usr/lib/python2.6/compiler/transformer.pyRĐs
cCsGg}x:tdt|ƒdƒD] }|i|i||ƒƒqW|S(Nii(RŒR*RRm(RGR_RŠRj((s*/usr/lib/python2.6/compiler/transformer.pyRˆ˜s
c
	Csű|ddtijo6t|i|dƒ|i|dƒd|ddƒSg}d}d}x@tdt|ƒdƒD]&}||}|dtijo’t|ƒdjoJ|i|dƒ}t|ƒdjo|i	|dt
ƒ}qd}nd}}|i|||i||dƒfƒn|dtijo\|ddjo|i||dƒ}qŸ|dd	jo|i||dƒ}qŸqyqyWt|i|dƒ||d|ddƒ}	|ot|	|d|ddƒS|	SdS(
NiiiiR(iiRętfinally(
R5RDt
TryFinallyRmRRŒR*R0t
except_clauseR—RRt	TryExcept(
RGRhtclausesRÓtfinallyNodeRjR_R¸Rˇt
try_except((s*/usr/lib/python2.6/compiler/transformer.pyRܞs8


+#cCs€|i|dƒ}|i|dƒ}|ddtijo
d}n|i|ddtƒ}t|||d|ddƒS(Nii˙˙˙˙iiR((RmR5R†RR—RtWith(RGRhRTtbodytvar((s*/usr/lib/python2.6/compiler/transformer.pyRŢÇs
cCs|i|dƒS(Ni(Rm(RGRh((s*/usr/lib/python2.6/compiler/transformer.pyRŕŃscCs#|dtijpt‚|dS(Nii(R0t	augassignRn(RGR_((s*/usr/lib/python2.6/compiler/transformer.pyRšŐscCsG|i|ƒ}|ittttfjo|Std|ii‚dS(s…Return node suitable for lvalue of augmented assignment

        Names, slices, and attributes are the only allowable nodes.
        scan't assign to %sN(Rmt	__class__R*tSlicet	SubscriptRpR,R(RGR_R"((s*/usr/lib/python2.6/compiler/transformer.pyR™ŮscCspxi|d}|titititifjo2t|ƒdjo|i||ƒS|d}q|tjo.t|ƒdjo
td‚n|d}q|ti	joŇ|ddti
jo
td‚nt|ƒdjoŒ|i|dƒ}x^tdt|ƒdƒD]C}||}|dt
ijo
td‚n|i||ƒ}qW|i||d|ƒS|d}q|ti
joË|dd}|t
ijo/|d}|dt
ijo
td‚qXqi|t
ijo<|d}|dt
ijo
td‚n|i||ƒS|t
ijo|i|d|ƒStd‚qtd	|‚qdS(
Niiiscan't assign to operatori˙˙˙˙scan't assign to ()scan't assign to []scan't assign to literalsbad assignment (%s)(R0texprlistRät
testlist_safeRčR*tcom_assign_tuplet
_assign_typesR,RRRmRŒR5RRtcom_assign_trailerR8R‡R:Rtcom_assign_listRDtcom_assign_name(RGR_t	assigningRtprimaryRjtch((s*/usr/lib/python2.6/compiler/transformer.pyR—ăsN
%








cCs\g}x=tdt|ƒdƒD]#}|i|i|||ƒƒqWt|dt|ƒƒS(NiiR((RŒR*RR—tAssTupleR%(RGR_RKtassignsRj((s*/usr/lib/python2.6/compiler/transformer.pyRFs
!cCsÎg}xŻtdt|ƒdƒD]•}|dt|ƒjo[||ddtijo
td‚n||ddtijpt||d‚n|i|i	|||ƒƒqWt
|dt|ƒƒS(Niiis"can't assign to list comprehensionR((RŒR*R0tlist_forR,R5RŁRnRR—tAssListR%(RGR_RKRORj((s*/usr/lib/python2.6/compiler/transformer.pyRIs
2!cCst|d|d|dƒS(NiR(i(tAssName(RGR_RK((s*/usr/lib/python2.6/compiler/transformer.pyRJscCsŒ|dd}|tijo|i||d|ƒS|tijo|i||d|ƒS|tijo
td‚ntd|‚dS(Niiiscan't assign to function callsunknown trailer type: %s(R5Rotcom_assign_attrR:tcom_subscriptlistR8R,(RGRLR_RKR((s*/usr/lib/python2.6/compiler/transformer.pyRH"s
cCst||d|d|dƒS(NiR(i˙˙˙˙(tAssAttr(RGRLR_RK((s*/usr/lib/python2.6/compiler/transformer.pyRS,scCsžt|ƒ}|djo"|d}|i|ƒ|dƒSg}xDtd|dƒD]0}||}|i|i|ƒ|dƒƒqTW||dt|ƒƒS(s=Compile 'NODE (OP NODE)*' into (type, [ node1, ..., nodeN ]).iiiR((R*R•RŒRR%(RGtconstructorRhR"R`R2Rj((s*/usr/lib/python2.6/compiler/transformer.pyRâ/s


$cCsO|i|ƒ|dƒ}|dj	pt‚t|tƒo|St|gƒS(Ni(R•RRnR$Rg(RGR_Ró((s*/usr/lib/python2.6/compiler/transformer.pyRa;s
cCsb|i|ƒ|dƒ}|dj	pt‚t|tƒo|i|iƒn|i|ƒdS(Ni(R•RRnR$RgtextendR!R(RGRkR_Ró((s*/usr/lib/python2.6/compiler/transformer.pyReBs
RPcCsĹg}xĽtdt|ƒƒD]Ž}||dtijo7t||ƒdjpt‚|i|d||ƒS||dtijoqn|i|i	||ƒƒqWt
|d|diƒS(NiiR((RŒR*R0RPRntcom_list_comprehensionR5RŁRRmRR((RGRhtvaluesRj((s*/usr/lib/python2.6/compiler/transformer.pyR Ks
cCso|dd}g}xE|o=|dd}|djo|i|dtƒ}|i|dƒ}t||gƒ}|dd|_|i|ƒt|ƒdjo
d}qW|i|dƒ}q|djoq|i|dƒ}	t	|	d|ddƒ}
|i
i|
ƒt|ƒdjo
d}qW|i|dƒ}qtd	||f‚qWt||d|ƒS(
NiitforiiRéR(is,unexpected list comprehension element: %s %d(
R—RRmtListCompForR(RR*Rt
com_list_itert
ListCompIftifsR,tListComp(RGRTR_R(tforsRRŮRÚtnewforRçtnewif((s*/usr/lib/python2.6/compiler/transformer.pyRXXs2




cCs#|dtijpt‚|dS(Nii(R0t	list_iterRn(RGR_((s*/usr/lib/python2.6/compiler/transformer.pyR\{scCsZg}x:tdt|ƒdƒD] }|i|i||ƒƒqWt|d|diƒS(NiiR(i(RŒR*RRmRR((RGRhRYRj((s*/usr/lib/python2.6/compiler/transformer.pyR s
RĺcCs|dd}g}xB|o:|dd}|djoŠ|i|dtƒ}|i|dƒ}t||gd|ddƒ}|i|ƒt|ƒdjo
d}qT|i|dƒ}q|djoq|i|dƒ}	t|	d|ddƒ}
|i	i|
ƒt|ƒdjo
d}qT|i|dƒ}qt
d	||f‚qWt|d
_t
t||ƒd|ƒS(NiiRZiR(iRéis.unexpected generator expression element: %s %di(R—RRmt
GenExprForRR*Rtcom_gen_itert	GenExprIfR^R,tTruet
is_outmosttGenExprtGenExprInner(RGRTR_R(R`RRŮtgenNodeRaRçRb((s*/usr/lib/python2.6/compiler/transformer.pyRć†s4





cCs#|dtijpt‚|dS(Nii(R0tgen_iterRn(RGR_((s*/usr/lib/python2.6/compiler/transformer.pyRe¨scCsug}xQtdt|ƒdƒD]7}|i|i||ƒ|i||dƒfƒqWt|d|ddiƒS(NiiiR(i(RŒR*RRmR"R((RGRhR2Rj((s*/usr/lib/python2.6/compiler/transformer.pyR#ŹscCs‘|dd}|tijo|i||dƒS|tijo|i||dƒS|tijo|i||dtƒStd|‚dS(Niiisunknown node type: %s(	R5R8RuRotcom_select_memberR:RTRR,(RGtprimaryNodeRhR((s*/usr/lib/python2.6/compiler/transformer.pyR´scCs<|dtijo
td‚nt||dd|dƒS(Nismember must be a nameiR(i(R5RDR,Rp(RGRnRh((s*/usr/lib/python2.6/compiler/transformer.pyRmżs
cCsÇ|dtijot|gdt|ƒƒSg}d}d}}t|ƒ}d}xO||joA||}	|	dtijoB|dj	o
td‚n|i||dƒ}|d}qYnW|	dti	joB|dj	o
td‚n|i||dƒ}|d}qYn|i
|	||ƒ\}}
|djoHt|
tƒo8t|	ƒdjo%|	ddt
ijo
td‚n|i|
ƒ|d}qYWt||||dt|ƒƒS(	NiR(is$already have the varargs indentifieris#already have the kwargs indentifieris&generator expression needs parenthesis(R5R‡tCallFuncR%RR*RÂR,RmRtcom_argumentR$RiR0RĺR(RGRnRhR,tkwt	star_nodet
dstar_nodetlen_nodelistRjR_Ró((s*/usr/lib/python2.6/compiler/transformer.pyRuÄs<








+

cCsRt|ƒdjoF|ddtijo.|i|dƒ}d|i||dƒfSt|ƒdjo@|o
td‚n|o
td‚nd|i|dƒfS|i|dƒ}|d}x6t|ƒdjo"|dtijo|d}qĚW|dtijotd|d‚nt|d|d|dƒ}d|fS(	Niiiis!non-keyword arg after keyword args+only named arguments may follow *expressions#keyword can't be an expression (%s)R((	R*R0RĺRmRćR,R5RDtKeyword(RGRhRqRrRçRóR`R_((s*/usr/lib/python2.6/compiler/transformer.pyRpës$+


'c	Csďt|ƒdjo}|d}|ddtijp+t|ƒdjo-|ddtijo,|ddtijo|i|||ƒSng}x:tdt|ƒdƒD] }|i|i||ƒƒqŻWt	|||dt
|ƒƒS(Niiii˙˙˙˙R((R*R5R†R0R“t	com_sliceRŒRt
com_subscriptRCR%(RGRLRhRKtsubt
subscriptsRj((s*/usr/lib/python2.6/compiler/transformer.pyRTţs
+cCs‚|d}|d}|tijo |ddtijotƒS|tijpt|ƒdjo|i|ƒS|i|ƒS(Niii(R5RotEllipsisR†R*tcom_sliceobjRm(RGR_RMR((s*/usr/lib/python2.6/compiler/transformer.pyRws

(#cCsEg}|ddtijo|itdƒƒd}n!|i|i|dƒƒd}|t|ƒjo@||dtijo(|i|i||ƒƒ|d}n|itdƒƒxkt	|t|ƒƒD]T}||}t|ƒdjo|itdƒƒq×|i|i|dƒƒq×Wt
|dt|ƒƒS(NiiiiR((R5R†RR°RRmR*R0RçRŒtSliceobjR%(RGR_R2RjtjRM((s*/usr/lib/python2.6/compiler/transformer.pyR{s"

+
cCsżd}}t|ƒdjoF|ddtijo|i|dƒ}q |i|dƒ}n>t|ƒdjo*|i|dƒ}|i|dƒ}nt||||dt|ƒƒS(NiiiiiR((RR*R5R†RmRBR%(RGRLR_RKtlowertupper((s*/usr/lib/python2.6/compiler/transformer.pyRv@s
c
CsŻ|djo|d}|d}n|tijo]t|ƒdjo|i|dƒSx0|D](}|dtijo|i|ƒSqaWdS|tijo8x0|D](}|dtijo|i|ƒSqŠWdS|tijoM|ddti	jo0d}x"|D]}|t
|dƒ}qW|SdS|tijp |tijp|tijo|i|dƒS|t
jo%t|ƒdjo|i|dƒSdS(NiiRU(RR0RRR*RcR‹RZRR5RBRRt
small_stmtt
_doc_nodes(RGR_R`RxtsR((s*/usr/lib/python2.6/compiler/transformer.pyRcNs>

  N(RRt__doc__RJRQRRRWRORYRZR[RrRwRzR|R]R\told_lambdefR^R‹R€t	flow_stmtt
compound_stmtRRŽR}RRRtR‘R’R“R”RĄR¨RŠRŞRŹRŽRąR˛R´RšRşR˝RČRĘRĚRÎRÔR×RŰRÝRßRáRRRäREt	testlist1RDRčRçRďtold_testRńRôRúRTRýR˙RR	RRRRR7R9R;R=R?R)RARCR•RmR4R~R+R-RÁR1RźR4RÄRˆRÜRŢRŕRšR™R—RFRIRJRHRSRâRaReRR0R RXR\RćReR#RRmRuRpRTRwR{RvRRc(((s*/usr/lib/python2.6/compiler/transformer.pyR^sţ							
							!																																
												!				
			
	
													2					
		
			)	
			
	,		
		
					
	#
		"
				'			
	$	t<t>s==s<=s>=s!=R˛R´cCs|g}xo|D]g}t|tƒo|iti||ƒƒq
t|tƒo|i|ƒq
|it|ƒƒq
W|S(N(R$tintRt_namestgetR+t
debug_tree(RPR"R((s*/usr/lib/python2.6/compiler/transformer.pyRŽŇs(SRƒtcompiler.astRMR0R5t
StandardErrorRtcompiler.constsRRRRRRR
RR%R.RRĄRäRERçRďRńRôRúRTRýR˙RR	RRRRtLESStGREATERtEQEQUALR–t	LESSEQUALtGREATEREQUALtNOTEQUALRöR]R^R‹R€R…RR†R¨RŠRŞRŹRŽRąRšRşRĘRĚRÎRÔR×RŰRÝRßRRRDRt_legal_node_typesRRR˛R´RGRŒR1R2R%tvttok_nameRŽ(((s*/usr/lib/python2.6/compiler/transformer.pyt<module>	sÖ
	
			
	˙˙˙˙˙








ACC SHELL 2018