Viewing File: /usr/lib/python2.7/site-packages/ply/cpp.pyo


]Mc	@sddlmZdddddddd	d
f	ZdZdZd
ZdZdZdZeZ	dZ
dZdZdZ
dZddlZddlZddlZddlZejdZi	dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6Zd*Zd+efd,YZd-efd.YZed/krddljZejZddlZe ej!d0Z"e"j#Z$eeZ%e%j&e$ej!d0x/e're%j(Z)e)rPne%j*e)fGHqWndS(1i(t
generatorstCPP_IDtCPP_INTEGERt	CPP_FLOATt
CPP_STRINGtCPP_CHARtCPP_WStCPP_COMMENTt	CPP_POUNDt
CPP_DPOUNDs+-*/%|&~^<>=!?()[]{}.,;:\'"cCs"|jj|jjd7_|S(s\s+s
(tlexertlinenotvaluetcount(tt((s+/usr/lib/python2.7/site-packages/ply/cpp.pytt_CPP_WSss\#s\#\#s[A-Za-z_][\w_]*cCs|S(sA(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU]|[lL]|[uU][lL]|[lL][uU])?)((R((s+/usr/lib/python2.7/site-packages/ply/cpp.pyR$ss?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?cCs"|jj|jjd7_|S(s\"([^\\\n]|(\\(.|\n)))*?\"s
(R
RRR
(R((s+/usr/lib/python2.7/site-packages/ply/cpp.pytt_CPP_STRING.scCs"|jj|jjd7_|S(s(L)?\'([^\\\n]|(\\(.|\n)))*?\'s
(R
RRR
(R((s+/usr/lib/python2.7/site-packages/ply/cpp.pyt
t_CPP_CHAR4scCs"|jj|jjd7_|S(s(/\*(.|\n)*?\*/)|(//.*?\n)s
(R
RRR
(R((s+/usr/lib/python2.7/site-packages/ply/cpp.pyt
t_CPP_COMMENT:scCs4|jd|_|jd|_|jjd|S(Nii(RttypeR
tskip(R((s+/usr/lib/python2.7/site-packages/ply/cpp.pytt_error?sNs\?\?[=/\'\(\)\!<>\-]t#t=s\t/t^t't[t(t]t)t|t!t{t<t}t>t~t-cCstjd|S(NcSst|jdS(Ni(t
_trigraph_reptgroup(tg((s+/usr/lib/python2.7/site-packages/ply/cpp.pyt<lambda>is(t
_trigraph_pattsub(tinput((s+/usr/lib/python2.7/site-packages/ply/cpp.pyttrigraphhstMacrocBseZdedZRS(cCsG||_||_||_||_|r:|d|_nd|_dS(Ni(tnameRtarglisttvariadictvarargtNonetsource(tselfR0RR1R2((s+/usr/lib/python2.7/site-packages/ply/cpp.pyt__init__|s				N(t__name__t
__module__R4tFalseR7(((s+/usr/lib/python2.7/site-packages/ply/cpp.pyR/{stPreprocessorcBseZddZdZdZdZdZdZdZ	dZ
dZd	Zdd
Z
dZddZd
ZdZdZdidZdZRS(cCs|dkrtj}n||_i|_g|_g|_|jtj}|j	dtj
d||j	dtj
d|d|_dS(Ns
__DATE__ "%s"s%b %d %Ys
__TIME__ "%s"s%H:%M:%S(R4tlexR
tmacrostpatht	temp_pathtlexprobettimet	localtimetdefinetstrftimetparser(R6R
ttm((s+/usr/lib/python2.7/site-packages/ply/cpp.pyR7s				
cCsMg}|jj|x0trH|jj}|s8Pn|j|qW|S(N(R
R-tTruettokentappend(R6ttextttokensttok((s+/usr/lib/python2.7/site-packages/ply/cpp.pyttokenizes	cCsd|||fGHdS(Ns%s:%d %s((R6tfiletlinetmsg((s+/usr/lib/python2.7/site-packages/ply/cpp.pyterrorscCs|jjd|jj}|s5|jdkr=dGHn|j|_|jjd|jj}|st|jdkrdGHn|j|_t|j|_|jjd|jj}|s|jdkrdGHn|j|_	|jjd|jj}|s(|jdkr4d|_n|j|_|jjd	|jj}|su|jd	krd|_d
GHn|j|_|j|jf|_
ddd
ddddddg	}xO|D]G}|jj||jj}|s
|j|krd|GHqqWdS(Nt
identifiers"Couldn't determine identifier typet12345i90sCouldn't determine integer types
"filename"sCouldn't determine string types  s
s%Couldn't determine token for newlinesR"R$Rs##s\RRt,t.s,Unable to lex '%s' required for preprocessor(R
R-RHRRtt_IDtintt	t_INTEGERtt_INTEGER_TYPEtt_STRINGR4tt_SPACEt	t_NEWLINEtt_WS(R6RLtcharstc((s+/usr/lib/python2.7/site-packages/ply/cpp.pyR@sD	!
cCs|jj|dS(N(R>RI(R6R>((s+/usr/lib/python2.7/site-packages/ply/cpp.pytadd_pathsc	csQ|jj}g|jD]}|j^q}x~tt|D]j}|d}xW||jdr|t|kr||d ||||<d||<|d7}qZWqGWdj|}|j|d|_	g}x\t
r>|j}|sPn|j||j
|jkrd|jkr|Vg}qqW|rM|VndS(Nis\its
(R
tclonet
splitlinestrstriptxrangetlentendswithtjoinR-RRGRHRIRR]R(	R6R-R<txtlinestitjtcurrent_lineRL((s+/usr/lib/python2.7/site-packages/ply/cpp.pytgroup_liness,%
(

		
!
cCsd}x6|t|kr>||j|jkr>|d7}q	W||4t|d}x0|dkr||j|jkr|d8}qYW||d3|S(Nii(RfRR](R6RKRk((s+/usr/lib/python2.7/site-packages/ply/cpp.pyt
tokenstrip's+%c	Csg}g}g}d}t|}d}x0||kr\||j|jkr\|d7}q-W||kr||jdkr|j|dn*|j|j|djddggfS|d7}x||kr||}|jdkr|j||d7}n|jdkrx|d8}|dkrh|rW|j|j||j|n|d||fS|j|nX|jdkr|dkr|j|j||j|dg}n
|j||d7}qW|j|j|djddggfS(	NiiRsMissing '(' in macro argumentsRRTisMissing ')' in macro arguments(	RfRR]RRIRQR5RRo(	R6t	tokenlisttargst	positionstcurrent_argtnestingttokenlenRkR((s+/usr/lib/python2.7/site-packages/ply/cpp.pytcollect_argsCsD%





	
c	Csg|_g|_g|_d}xv|t|jkr|j|j|jkr|j|j|jkr|jj|j|j}|dkr|j|djdkrt	j	|j||j|<|j
|j|_|j|d=|jj||dfq$q|dkrb|j|djdkrb|jjd||df|j|d=q$q|dt|jkr|j|djdkr|jjd||f|d7}q$q|jjd||fn|j|jdkr|jr|dkr|j|djdkr|dt|jkr|j|dj|jkr|j|dj|j
kr|jj|dqn|d7}q$W|jjdd	d
tdS(NiiRs##R_teRTtkeycSs|dS(Ni((Ri((s+/usr/lib/python2.7/site-packages/ply/cpp.pyR*streverse(tpatcht	str_patchtvar_comma_patchRfRRRVR1tindextcopyRZRIR2R3tsortRG(R6tmacroRktargnum((s+/usr/lib/python2.7/site-packages/ply/cpp.pyt
macro_prescanxs:			2&&3
/6c
Csg|jD]}tj|^q
}i}x|jD]\}}||krddjg||D]}|j^qajdd||<ntj||||<||||_q5Wt}	|jr|drx$|jD]}d||<t	}	qWni}
x|j
D]}\}}}|dkr=|||||d+q
|dkr
||
kro|j|||
|<n|
||||d+q
q
W|	rg|D]}|r|^q}n|S(	Ns"%s"Ras\s\\iR_iRw(RR~R{RhtreplaceR:R2R|R4RGRzt
expand_macros(
R6RRqt_xtrept
str_expansionRRkRitcomma_patchtexpandedtptypet_i((s+/usr/lib/python2.7/site-packages/ply/cpp.pytmacro_expand_argss.%@

"cCs|dkri}nd}x|t|kr||}|j|jkr|j|jkr|j|krt||j<|j|j}|js|jg|jD]}t	j	|^q|}x|D]}|j
|_
qW||||d+|t|7}nq|d}	x6|	t|krG||	j|jkrG|	d7}	qW||	jdkrv|j||	\}
}}|j
rt|t|jkr|j|j|j
d|jt|jf|	|
}qv|j
rt|t|jdkrt|jdkrK|j|j|j
d|jt|jdfn3|j|j|j
d|jt|jdf|	|
}qv|j
rt|t|jdkr|jgq||	|t|jd|	|
d!|t|jd<|t|j3n|j||}
|j|
|}
x|
D]}|j
|_
q<W|
|||	|
+|t|
7}n||j=qq|jdkr|j|_|j|j
|_qn|d7}qW|S(	NiiRsMacro %s requires %d argumentsis(Macro %s must have at least %d argumentss'Macro %s must have at least %d argumentt__LINE__(R4RfRRVRR=RGR1RR~RR]RvR2RQR5RIRRXRY(R6RKRRkRtmRtexRwRlttokcountRqRrRtr((s+/usr/lib/python2.7/site-packages/ply/cpp.pyRs\	
!
	1

+%/
(63
	;

c	Cs"d}x{|t|kr||j|jkrv||jdkrv|d}t}d}x|t|kr:||j|jkr|d7}q]n||j|jkr||j|jkrd}nd}|s-Pq-nP||jdkrt}n4||jdkrPn|j|j	||j
d|d7}q]W|j||_|j|||_||d|d5n|d7}q	W|j
|}xt|D]\}}|j|jkrtj|||<|j||_|jd||_q|j|jkrtj|||<t||j||_x6||jd	d
krn||jd	 ||_q<WqqWdjg|D]}t|j^q}|jdd
}|jdd}|jdd}yt|}Wn4tk
r|j|j	|dj
dd}nX|S(Nitdefinedit0Lt1LRRsMalformed defined()it0123456789abcdefABCDEFRas&&s and s||s or R s not sCouldn't evaluate expression(RfRRVRR:R]R=RGRQR5RRXRYRt	enumerateR~tstrRhRtevalt
StandardError(	R6RKRkRlt	needparentresultRRitexpr((s+/usr/lib/python2.7/site-packages/ply/cpp.pytevalexprs^)

		#+

ccst|}|j|}|s*d}n|jd|||_g}t}t}g}x;|D]3}	x0t|	D]"\}
}|j|jkrvPqvqvW|j	dkrx<|	D]4}||jkrd|j	kr|j
|qqW|j|	|
d}|r*|dj	}
|j|d}nd}
g}|
dkr|r}x|j|D]}|VqXWg}|j|q}q|
dkr|r}x|j|D]}|VqWg}|j
d	}x|j|D]}|VqW||j
d	<||_q}q|
d
krI|r}x|j|D]}|Vq!Wg}|j|q}q|
dkr|j
||f|r}|dj	|j
krt}t}qt}q}q|
dkr|j
||f|r}|dj	|j
krt}t}qt}q}q|
d
krJ|j
||f|r}|j|}|s>t}t}qGt}q}q|
dkr|r|ddr|ryt}q|s|j|}|rt}t}qqqq}|j|j|djdq|
dkr6|r|ddr3|rt}q|st}t}qq3q}|j|j|djdq|
dkr|r]|j\}}q}|j|j|djdqqc|rc|j|	qcqcWx|j|D]}|VqWg}dS(NRas
__FILE__ "%s"Rs
iiRCtincludet__FILE__tundeftifdeftifndeftiftelifisMisplaced #eliftelsesMisplaced #elsetendifsMisplaced #endif(R.RnRCR5RGR:RRR]RRIRoRR=RRRRQRtpoptextend(R6R-R5RRjtchunktenablet	iftriggertifstackRiRkRLt	dirtokensR0RqtoldfileR((s+/usr/lib/python2.7/site-packages/ply/cpp.pytparsegenRs		


		
	
					 	  	ccs|s
dS|r=|djdkrK|dj|jkrK|j|}n|djdkrd}x@|t|kr||jdkrPn|d7}qgWdGHdSdjg|d|!D]}|j^q}|jdg|j}q=|dj|jkr1|djdd!}|jdg|j}q=dGHdSnx|D]}tjj||}y}t	|d	j
}tjj|}	|	r|jjd|	nx|j
||D]}
|
VqW|	r|jd=nPWqDtk
rqDXqDWd
|GHdS(NiR"iR$sMalformed #include <...>RaisMalformed #include statementRsCouldn't find '%s'(RRRZRRfRhR>R?tostopentreadtdirnametinsertRtIOError(R6RKRkRitfilenameR>tptinametdatatdnameRL((s+/usr/lib/python2.7/site-packages/ply/cpp.pyRsF),
	

cCskt|ttfr'|j|}n|}y!|d}t|dkrY|d}nd}|st|jg}||j|j<n|j	|j
krt|j|j|d}||j|j<n|jdkrH|j|d\}}}t
}	xK|D]}
|	rdGHPndjg|
D]}t|j^q(}|dkrt}	|j|
d_	d|
d_t}	|
d3qnk|d	dkr|
dj	|jkrt}	|
d3|
djd	dkr|
djd	 |
d_qqnt|
dks|
dj	|jkrd
GHPqqW|j|d|}
d}x|t|
kr|dt|
kr|
|j	|j
kr|
|djdkr|
|=qHq|
|jdkr|
|dj	|j
kr|
|d=qn|d7}qHWt|j|
g|D]}|dj^q	|	}|j|||j|j<ndGHWntk
rfdGHnXdS(
NiiiRs0No more arguments may follow a variadic argumentRas...t__VA_ARGS__isInvalid macro arguments##sBad macro definition(t
isinstanceRtunicodeRMRfR4R/RR=RR]RoRvR:RhRGRVRtLookupError(R6RKtlinetokR0tmtypeRRRqRrR2taRtastrtmvalueRkRi((s+/usr/lib/python2.7/site-packages/ply/cpp.pyRCsl


+
&(--2
	
cCs3|dj}y|j|=Wntk
r.nXdS(Ni(RR=R(R6RKtid((s+/usr/lib/python2.7/site-packages/ply/cpp.pyRKs


cCs"||_|j|||_dS(N(tignoreRRE(R6R-R5R((s+/usr/lib/python2.7/site-packages/ply/cpp.pytparseWs	cCsXy6x/tr4t|j}|j|jkr|SqWWntk
rSd|_dSXdS(N(RGtnextRERRt
StopIterationR4(R6RL((s+/usr/lib/python2.7/site-packages/ply/cpp.pyRH`s	
	N(R8R9R4R7RMRQR@R`RnRoRvRRRRRRRCRRRH(((s+/usr/lib/python2.7/site-packages/ply/cpp.pyR;s$			<		!		5	+	2B	;	1	F		t__main__i(+t
__future__RRKtliteralsRtt_CPP_POUNDtt_CPP_DPOUNDtt_CPP_IDRt
t_CPP_INTEGERtt_CPP_FLOATRRRRtreR~RAtos.pathRtcompileR+R'R.tobjectR/R;R8tply.lexR<R
tsysRtargvtfRR-RRRGRHRLR5(((s+/usr/lib/python2.7/site-packages/ply/cpp.pyt<module>
s\!						
		
Back to Directory File Manager