Viewing File: /usr/lib/python2.7/site-packages/ply/lex.pyc


]Mc@sdZdZddlZddlZddlZddlZddlZyejejfZ	Wne
k
r}eefZ	nXej
ddkrdZn	dZejdZd	efd
YZdefdYZd
efdYZdefdYZdfdYZdZdZdZdZdZdefdYZeeddddddeed
ZeedZ dZ!e!Z"dS(s3.4s3.2iNiicCs|jS(N(t	func_code(tf((s+/usr/lib/python2.7/site-packages/ply/lex.pyR3scCs|jS(N(t__code__(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyR6ss^[a-zA-Z0-9_]+$tLexErrorcBseZdZRS(cCs|f|_||_dS(N(targsttext(tselftmessagets((s+/usr/lib/python2.7/site-packages/ply/lex.pyt__init__@s(t__name__t
__module__R	(((s+/usr/lib/python2.7/site-packages/ply/lex.pyR?stLexTokencBseZdZdZRS(cCs d|j|j|j|jfS(NsLexToken(%s,%r,%d,%d)(ttypetvaluetlinenotlexpos(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyt__str__FscCs
t|S(N(tstr(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyt__repr__Hs(R
RRR(((s+/usr/lib/python2.7/site-packages/ply/lex.pyREs	t	PlyLoggercBs8eZdZdZdZdZeZeZRS(cCs
||_dS(N(R(RR((s+/usr/lib/python2.7/site-packages/ply/lex.pyR	OscOs|jj||ddS(Ns
(Rtwrite(RtmsgRtkwargs((s+/usr/lib/python2.7/site-packages/ply/lex.pytcriticalQscOs |jjd||ddS(Ns	WARNING: s
(RR(RRRR((s+/usr/lib/python2.7/site-packages/ply/lex.pytwarningTscOs |jjd||ddS(NsERROR: s
(RR(RRRR((s+/usr/lib/python2.7/site-packages/ply/lex.pyterrorWs(R
RR	RRRtinfotdebug(((s+/usr/lib/python2.7/site-packages/ply/lex.pyRNs				t
NullLoggercBseZdZdZRS(cCs|S(N((Rtname((s+/usr/lib/python2.7/site-packages/ply/lex.pyt__getattribute___scOs|S(N((RRR((s+/usr/lib/python2.7/site-packages/ply/lex.pyt__call__as(R
RRR (((s+/usr/lib/python2.7/site-packages/ply/lex.pyR^s	tLexercBseZdZddZddZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZeZRS(cCsd|_d|_i|_i|_i|_d|_g|_d|_i|_	i|_
d|_d|_d|_
d|_d|_d|_d|_d|_d|_d|_d|_dS(NtINITIALiti(tNonetlexret	lexretextt
lexstateretlexstateretexttlexstaterenamestlexstatet
lexstatestacktlexstateinfotlexstateignoretlexstateerrorft
lexreflagstlexdataRtlexlent	lexerrorft	lextokenst	lexignoretlexliteralst	lexmoduleRtlexoptimize(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyR	ss*																				c	Cs3tj|}|r/i}x|jjD]\}}g}xw|D]o\}}g}	xZ|D]R}
|
su|
dr|	j|
q]n|	jt||
dj|
dfq]WqDW|j||	f|||<q+W||_i|_x6|jjD]%\}}t||j|j|<qW||_n|S(Nii(tcopyR'titemstappendtgetattrR
R.R6(Rtobjecttctnewtabtkeytritemtnewretcretfindext	newfindexRtef((s+/usr/lib/python2.7/site-packages/ply/lex.pytclones(

/		R#cCsit|tjrdS|jdd}tjj||d}t|d}|jd|t	f|jdt
t	|jdt
|j|jdt
|j|jd	t
|j
|jd
t
|ji}|jd}g}xC|D];}	x2|	dD]&}
|
r|
d
r|j|
qqWqWx|jjD]s\}}g}
xTtt|D]@}|
j|j||t||d|j||fq{W|
||<qVW|jdt
||jdt
|ji}x=|jjD],\}}|r6|j||<qd||<qW|jdt
||jdS(Nt.is.pytwsJ# %s.py. This file automatically created by PLY (version %s). Don't edit!
s_tabversion   = %s
s_lextokens    = %s
s_lexreflags   = %s
s_lexliterals  = %s
s_lexstateinfo = %s
R"iis_lexstatere   = %s
s_lexstateignore = %s
s_lexstateerrorf = %s
(t
isinstancettypest
ModuleTypetsplittostpathtjointopenRt__version__treprR3R/R5R,R'R:R9trangetlenR(t_funcs_to_namesR)R-R.R
R$tclose(Rttabfilet	outputdirtbasetabfilenametfilenamettfttabretinitialtinitialfuncstpartRR?tlrettitemtittaberrRE((s+/usr/lib/python2.7/site-packages/ply/lex.pytwritetabs@

>cBse|ejr|}nGejddkr=d|dUn%i}d|||fdU|d}e|ddekredn|j|_	|j
|_|j|_
|j|_|j|_i|_i|_x|jjD]\}}g}g}xqee|D]]}	|jej||	d|j
ejBe||	d|f|j||	dqW||j|<||j|<qWi|_x.|jjD]\}}
||
|j|<qW|jd	dS(
Niisimport %s as lextabtlextabt_tabversions0.0sInconsistent PLY versioniR"( RIRJRKtsystversion_infoR;RQtImportErrort
_lextokensR3t_lexreflagsR/t_lexliteralsR5t
_lexstateinfoR,t_lexstateignoreR-R'R(t_lexstatereR9RSRTR:tretcompiletVERBOSEt_names_to_funcsR.t_lexstateerrorftbegin(RRWtfdictRetenvR?R`RattxtitemRbRE((s+/usr/lib/python2.7/site-packages/ply/lex.pytreadtabs8	
		B
	cCsM|d }t|ts(tdn||_d|_t||_dS(NisExpected a stringi(RItStringTypest
ValueErrorR0RRTR1(RRR=((s+/usr/lib/python2.7/site-packages/ply/lex.pytinputs
		cCs{||jkrtdn|j||_|j||_|jj|d|_|jj|d|_
||_dS(NsUndefined stateR#(R'R{R%R(R&R-tgetR4R.R$R2R*(Rtstate((s+/usr/lib/python2.7/site-packages/ply/lex.pyRuscCs$|jj|j|j|dS(N(R+R:R*Ru(RR~((s+/usr/lib/python2.7/site-packages/ply/lex.pyt
push_statescCs|j|jjdS(N(RuR+tpop(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyt	pop_statescCs|jS(N(R*(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyt
current_state scCs|j|7_dS(N(R(Rtn((s+/usr/lib/python2.7/site-packages/ply/lex.pytskip&scCs|j}|j}|j}|j}x||kr|||krS|d7}q'nx|jD]Q\}}|j||}|sq]nt}|j|_|j	|_	||_|j
}	||	\}
|_|
s|jr|j|_|S|j}Pn|j}||_
||_||_|
|}|sQ|j}|j}Pn|js|j|jkrtdt|
jt|
j|
j|jf||qn|SW|||jkr
t}|||_|j	|_	|j|_||_|d|_|S|jrt}|j||_|j	|_	d|_||_
||_||_|j|}||jkrtd||||n|j}|sq'n|S||_td|||f||q'W|d|_|jdkr
tdndS(Nis4%s:%d: Rule '%s' returned an unknown token type '%s'Rs&Scanning error. Illegal character '%s's"Illegal character '%s' at index %ds"No input string given with input()(RR1R4R0R%tmatchRtgroupRRt	lastindexR
tendtlexertlexmatchR7R3RRtco_filenametco_firstlinenoR
R5R2R$tRuntimeError(RRR1R4R0R%tlexindexfunctmttokRbtfunctnewtok((s+/usr/lib/python2.7/site-packages/ply/lex.pyttoken0s				
										#	
	
								%
cCs|S(N((R((s+/usr/lib/python2.7/site-packages/ply/lex.pyt__iter__scCs%|j}|dkr!tn|S(N(RR$t
StopIteration(Rtt((s+/usr/lib/python2.7/site-packages/ply/lex.pytnexts	N(R
RR	R$RFRdRyR|RuRRRRRRRt__next__(((s+/usr/lib/python2.7/site-packages/ply/lex.pyR!rs	+	%						
	a		cCsy
tWntk
rtj\}}}|j}x#|dkr]|j}|d8}q;W|jj}|j|jkr|j|jn|SXdS(Nii(	RRgtexc_infottb_frametf_backt	f_globalsR8tf_localstupdate(tlevelstetbRRtldict((s+/usr/lib/python2.7/site-packages/ply/lex.pytget_caller_module_dicts

		cCsag}xTt||D]C\}}|rL|drL|j||dfq|j|qW|S(Nii(tzipR:(tfunclisttnamelisttresultRR((s+/usr/lib/python2.7/site-packages/ply/lex.pyRUscCsZg}xM|D]E}|rE|drE|j||d|dfq
|j|q
W|S(Nii(R:(RRvRR((s+/usr/lib/python2.7/site-packages/ply/lex.pyRss
"cCs|s
gSdj|}y tj|tj|B}dgt|jjd}|}x|jjD]\}}	|j	|d}
t
|
tjtj
fkr|
||f||	<|||	<ql|
dk	rl|||	<|jddkrd||	<qd||f||	<qlqlW||fg|g|gfSWntk
rtt|d}|dkrtd}nt|| |||\}}
}t|||||\}}}|||
|||fSXdS(Nt|itignore_ii(NN(RORpRqRrR$tmaxt
groupindextvaluesR9R}R
RJtFunctionTypet
MethodTypetfindt	ExceptiontintRTt_form_master_re(trelisttreflagsRttoknamestregexR%Rt
lexindexnamesRRbthandleRtllistR`tlnamestrlisttrretrnames((s+/usr/lib/python2.7/site-packages/ply/lex.pyRs2 


 
	""cCsd}|jd}xAtdt|D]*}|||kr+||dkr+Pq+q+W|dkr{t|d|!}nd}d|krt|}ndj||}||fS(Nit_tANYR"(sINITIAL(RLRSRTttupleRO(RtnamestnonstatetpartsRbtstatest	tokenname((s+/usr/lib/python2.7/site-packages/ply/lex.pyt_statetoken	s tLexerReflectcBsqeZdddZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
RS(
icCst||_d|_g|_||_idd6|_i|_d|_|dkrgtt	j
|_n	||_dS(Nt	inclusiveR"i(RR$t
error_functtokensRt	stateinfotfilesRRRgtstderrtlog(RRRR((s+/usr/lib/python2.7/site-packages/ply/lex.pyR	!s						cCs,|j|j|j|jdS(N(t
get_tokenstget_literalst
get_statest	get_rules(R((s+/usr/lib/python2.7/site-packages/ply/lex.pytget_all0s


cCs%|j|j|j|jS(N(tvalidate_tokenstvalidate_literalstvalidate_rulesR(R((s+/usr/lib/python2.7/site-packages/ply/lex.pytvalidate_all7s


cCs|jjdd}|s8|jjdd|_dSt|ttfsj|jjdd|_dS|s|jjdd|_dS||_dS(NRsNo token list is definedistokens must be a list or tuplestokens is empty(	RR}R$RRRItlistRR(RR((s+/usr/lib/python2.7/site-packages/ply/lex.pyR>s			cCsxi}xk|jD]`}tj|sD|jjd|d|_n||krf|jjd|nd||<qWdS(NsBad token name '%s'isToken '%s' multiply defined(Rt_is_identifierRRRR(Rt	terminalsR((s+/usr/lib/python2.7/site-packages/ply/lex.pyRRscCs|jjdd|_dS(NtliteralsR#(RR}R(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyR]scCsybx[|jD]P}t|ts5t|dkr
|jjdt|d|_q
q
q
WWn*tk
r|jjdd|_nXdS(Nis.Invalid literal %s. Must be a single charactersIInvalid literals specification. literals must be a sequence of characters(RRIRzRTRRRRt	TypeError(RR=((s+/usr/lib/python2.7/site-packages/ply/lex.pyRas"	
cCsu|jjdd|_|jrqt|jttfsU|jjdd|_qqx|jD]}t|tst	|dkr|jjdt
|d|_q_n|\}}t|ts|jjdt
|d|_q_n|dkp|dks,|jjd	|d|_q_n||jkr]|jjd
|d|_q_n||j|<q_WndS(NRs)states must be defined as a tuple or listiisMInvalid state specifier %s. Must be a tuple (statename,'exclusive|inclusive')sState name %s must be a stringRt	exclusives:State type for state %s must be 'inclusive' or 'exclusive'sState '%s' already defined(
RR}R$RRIRRRRRTRRRzR(RRRt	statetype((s+/usr/lib/python2.7/site-packages/ply/lex.pyRms0	"				c	Cs8g|jD]}|d dkr
|^q
}i|_i|_i|_i|_i|_x+|jD] }g|j|<g|j|<qcWt|dkr|jj	dd|_	dSx|D]}|j|}t
||j\}}||j|<t|dr|dkr1x|D]}||j|<qWq|dkrt|j
}t|j}|jj	d	|||jd|_	qx|D] }|j|j||fqWqt|trh|dkrx|D]}||j|<qWd
|kre|jjd|qeq|dkr:|jj	d|d|_	qxG|D] }|j|j||fqAWq|jj	d
|d|_	qWxP|jjD]?}tjddkr|jdq|jddqWxV|jjD]E}tjddkr|jdq|jdddtqWdS(Nitt_is+No rules of the form t_rulename are definediR Rtignores,%s:%d: Rule '%s' must be defined as a strings\s#%s contains a literal backslash '\'s'Rule '%s' must be defined as a functions&%s not defined as a function or stringicSs'tt|djt|djS(Ni(tcmpRR(txty((s+/usr/lib/python2.7/site-packages/ply/lex.pyt<lambda>sR?cSst|djS(Ni(RR(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyRscSs<t|dt|dkt|dt|dkS(Ni(RT(RR((s+/usr/lib/python2.7/site-packages/ply/lex.pyRscSst|dS(Ni(RT(R((s+/usr/lib/python2.7/site-packages/ply/lex.pyRstreverse(RRtfuncsymtstrsymRterrorfRRTRRRthasattrRRRR
R:RIRzRRRgRhtsorttTrue(	RRttsymbolsRRRttoknametlinetfile((s+/usr/lib/python2.7/site-packages/ply/lex.pyRsb,					
	




!

!
cCsx|jD]}x|j|D]\}}t|j}t|j}d|j|<|j|}t|tj	r}d}nd}t|j
}||kr|jjd|||j
d|_qn||kr|jjd|||j
d|_qn|js4|jjd|||j
d|_qnydtjd||jftj|jB}	|	jdr|jjd|||j
d|_nWqtjk
rtj\}
}}|jjd	|||j
|d
|jkr
|jjd|||j
nd|_qXqWxd|j|D]U\}
}|j|
}|dkrs|jjd
|
d|_q,n||jkr|jddkr|jjd|
|d|_q,nyXtjd|
|ftj|jB}	|	jdr|jjd|
d|_nWq,tjk
rtj\}
}}|jjd|
|d
|krt|jjd|
nd|_q,Xq,W|j|r|j|r|jjd|d|_n|jj|d}|r
|}t|j}t|j}d|j|<t|tj	r'd}nd}t|j
}||krp|jjd|||j
d|_n||kr|jjd|||j
d|_qq
q
Wx|jD]}|j|qWdS(Niis'%s:%d: Rule '%s' has too many argumentss%%s:%d: Rule '%s' requires an arguments2%s:%d: No regular expression defined for rule '%s's
(?P<%s>%s)R#s<%s:%d: Regular expression for rule '%s' matches empty strings3%s:%d: Invalid regular expression for rule '%s'. %st#s6%s:%d. Make sure '#' in rule '%s' is escaped with '\#'Rs'Rule '%s' must be defined as a functionRis-Rule '%s' defined for an unspecified token %ss5Regular expression for rule '%s' matches empty strings,Invalid regular expression for rule '%s'. %ss/Make sure '#' in rule '%s' is escaped with '\#'sNo rules defined for state '%s'(RRRRRRRRIRJRtco_argcountRRR
t__doc__RpRqRrRRRgRRRRRR}R$t
validate_file(RR~tfnameRRRRtreqargstnargsR=t_etypeRt_etraceRtrtefunc((s+/usr/lib/python2.7/site-packages/ply/lex.pyRs

					)
	$	&
	cCs>ddl}|jj|\}}|dkr4dSy&t|}|j}|jWntk
rndSXtjd}tjd}i}	d}
x|D]}|j	|}|s|j	|}n|r,|j
d}
|	j|
}|s|
|	|
<q,|jj
d||
|
|d|_
n|
d7}
qWdS(Nis.pys\s*def\s+(t_[a-zA-Z_0-9]*)\(s\s*(t_[a-zA-Z_0-9]*)\s*=is7%s:%d: Rule %s redefined. Previously defined on line %d(tos.pathRNtsplitextRPt	readlinesRVtIOErrorRpRqRRR}RR(RRZRMtbasetextRtlinestfretsret	counthashtlinentlRRtprev((s+/usr/lib/python2.7/site-packages/ply/lex.pyR=s4


N(R
RR$R	RRRRRRRRRR(((s+/usr/lib/python2.7/site-packages/ply/lex.pyR s								G	jReR#c
 	Csd}
idd6}t}||_|	dkrCttj}	n|rj|dkrjttj}qjn|ry|}n|rgt|D]}
|
t||
f^q}t|}
nt	d}
t
|
d|	d|}|j|s|jrt
dqn|ra|ray0|j||
|ja|ja|a|SWqatk
r]qaXn|r|jd|j|jd|j|jd	|jni|_x|jD]}d
|j|<qWt|jttfr
t|jdj|j|_n|j|_|j}i}x|D]}g}xu|j|D]f\}}t|j }t|j!}|j"d||j#f|rI|jd
||j#|qIqIWxQ|j$|D]B\}}|j"d||f|r|jd
|||qqW|||<q/W|r+|jdnx|D]}t%||||
|j&\}}}||j'|<||j(|<||j)|<|r2x7t*t+|D] }|jd||||qWq2q2Wx|j,D]x\}}|dkr|dkr|j'|j-|j'd|j(|j-|j(d|j)|j-|j)dqqW||_.|j'd|_/|j(d|_0||_1|j2|_3|j3j4dd|_5|j6|_7|j6j4dd|_8|j8s|	j9dnx|j,D]\}}|dkrY||j6kr+|	j9d|n||j2kr|j5r|	j9d|qq|dkr||j6kr|j6j4dd|j6|<n||j2kr|j2j4dd|j2|<qqqW|ja|ja|a|r|r|j:||n|S(NRR"iRRsCan't build lexerslex: tokens   = %rslex: literals = %rslex: states   = %riis
(?P<%s>%s)s(lex: Adding rule %s -> '%s' (state '%s')s#lex: ==== MASTER REGEXS FOLLOW ====s"lex: state '%s' : regex[%d] = '%s'R#sNo t_error rule is definedRs1No error rule is defined for exclusive state '%s's2No ignore rule is defined for exclusive state '%s'(;R$R!R7RRgRtdirR;tdictRRRRtSyntaxErrorRyRR|RRiRRRRR3RIRRR
ROR5RRRRR:RRRRR'R(R)RSRTR9textendR,R%R&R/RR-R}R4RR.R2RRd( tmoduleR<RtoptimizeReRtnowarnRXtdebuglogterrorlogRRtlexobjtkt_itemstlinfoRtregexsR~t
regex_listRRRRRRR%tre_texttre_namesRbtstypeR((s+/usr/lib/python2.7/site-packages/ply/lex.pytlexas
			.
		
	(	
 
%


%"			&		cCs|soy3tjd}t|}|j}|jWqotk
rktjjdtjj}qoXn|r|j	}nt	}|||r|j
}nt
}xB|}|sPntjjd|j|j|j
|jfqdS(Nis/Reading from standard input (type EOF to end):
s(%s,%r,%d,%d)
(RgtargvRPtreadRVt
IndexErrortstdoutRtstdinR|RR
RRR(RtdataRZRt_inputt_tokenR((s+/usr/lib/python2.7/site-packages/ply/lex.pytrunmains*


	csfd}|S(Ncs+tdrj|_n	|_|S(NR (RR(R(R(s+/usr/lib/python2.7/site-packages/ply/lex.pytset_docs	((RR$((Rs+/usr/lib/python2.7/site-packages/ply/lex.pytTOKENs(#RQt__tabversion__RpRgRJR8RMt
StringTypetUnicodeTypeRztAttributeErrorRtbytesRhRRqRRRR<RRRR!RRURsRRRR$RR#R%tToken(((s+/usr/lib/python2.7/site-packages/ply/lex.pyt<module>"s6<
		:				'	B'!	
Back to Directory File Manager