Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/compiler/
Upload File :
Current File : //usr/lib/python2.7/compiler/future.pyc


|_c@sdZddlmZmZdZdd
dYZdddYZdZed	krdd
l	Z	ddlm
Z
mZxHe	jdD]6ZeGHe
eZ
eZee
eejGHHqWnd
S(sParser for future statements

i(tasttwalkcCs1t|tjsdS|jdkr)dSdSdS(s:Return true if statement is a well-formed future statementit
__future__iN(t
isinstanceRtFromtmodname(tstmt((s%/usr/lib/python2.7/compiler/future.pyt	is_futures
tFutureParsercBs2eZdZdZdZd	Zd
ZRS(t
nested_scopest
generatorstdivisiontabsolute_importtwith_statementtprint_functiontunicode_literalscCs
i|_dS(N(tfound(tself((s%/usr/lib/python2.7/compiler/future.pyt__init__scCs4|j}x$|jD]}|j|sPqqWdS(N(tnodetnodest
check_stmt(RRRts((s%/usr/lib/python2.7/compiler/future.pytvisitModules	cCsct|r_xC|jD]8\}}||jkrAd|j|<qtd|qWd|_dSdS(Nis future feature %s is not definedi(RtnamestfeaturesRtSyntaxErrortvalid_future(RRtnametasname((s%/usr/lib/python2.7/compiler/future.pyRs	cCs
|jjS(s4Return list of features enabled by future statements(Rtkeys(R((s%/usr/lib/python2.7/compiler/future.pytget_features+s(R	R
RRR
RR(t__name__t
__module__RRRRR(((s%/usr/lib/python2.7/compiler/future.pyRs			tBadFutureParsercBseZdZdZRS(s#Check for invalid future statementscCs=t|drdS|jdkr&dStdt|dS(NRRsinvalid future statement (thasattrRRtrepr(RR((s%/usr/lib/python2.7/compiler/future.pyt	visitFrom2s
(R R!t__doc__R%(((s%/usr/lib/python2.7/compiler/future.pyR"/scCs6t}t}t||t|||jS(N(RR"RR(Rtp1tp2((s%/usr/lib/python2.7/compiler/future.pytfind_futures9s
		

t__main__N(t	parseFileRi(((R&tcompilerRRRRR"R)R tsysR+targvtfilettreetvR(((s%/usr/lib/python2.7/compiler/future.pyt<module>s