Current File : //lib/python2.7/site-packages/jmespath/lexer.pyc
�
�!s\c@sXddlZddlZddlmZddlmZmZdefd��YZdS(i����N(tloads(t
LexerErrortEmptyExpressionErrortLexercBs�eZeejd�Zeejejd�Zeej�Zed�Z	i
dd6dd6dd6dd	6d
d6dd
6dd6dd6dd6dd6Z
d�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�ZRS(t_s 	

tdott.tstart*trbrackett]tcommat,tcolont:tcurrentt@tlparent(trparent)tlbracet{trbracet}ccs�|j|�x�|jdk	r�|j|jkrvi|j|jd6|jd6|jd6|jdd6V|j�q|j|jkr�|j}|j}x&|j�|jkr�||j7}q�Widd6|d6|d6|t|�d6Vq|j|j	kr|j�q|jdkr�|j}|j�}|dkrr|j�id	d6d
d6|d6|dd6Vq�|dkr�|j�id
d6dd6|d6|dd6Vq�idd6dd6|d6|dd6Vq|jdkr�|j
�Vq|jdkr|jddd�Vq|jdkrA|jddd�Vq|jdkr^|j�Vq|j|j
kr�|j}|j�}idd6t|�d6|d6|t|�d6Vq|jdkrE|j}|j�}t|�dkr#idd6t|�d6|d6|t|�d6Vq�td|d|dd|��q|jdkrb|j�Vq|jdkr�|jd d!d"�Vq|jd#kr�|jd d$d%�Vq|jd&kr�|jd d'd(�Vq|jd krs|j�d kr-id)d6d*d6|jdd6|jd6V|j�q�|jdkrH|j}n
|jd}td|dd dd+��qtd|jd|jdd,|j��qWid-d6d.d6|jd6|jd6VdS(/Nttypetvaluetstartitendtunquoted_identifiert[R
tflattens[]it?tfilters[?tlbrackett't|tortpipet&tandtexpreft`tnumbert-tlexer_positiontlexer_valuetmessagesUnknown token '%s't"t<t=tltetltt>tgtetgtt!tnetnotteqs==sUnknown token '='sUnknown token %steoft(t_initialize_for_expressiont_currenttNonet
SIMPLE_TOKENSt	_positiont_nexttSTART_IDENTIFIERtVALID_IDENTIFIERtlent
WHITESPACEt_consume_raw_string_literalt_match_or_elset_consume_literaltVALID_NUMBERt_consume_numbertintRt_consume_quoted_identifiert_length(tselft
expressionRtbufft	next_chartposition((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyttokenizes�


		
	

		

	cCs?|j}|j}x&|j�|jkr:||j7}qW|S(N(RBR?RCRK(RPRRR((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRLqs
		cCs_|st��nd|_||_t|j�|_|j|j|_t|j�|_dS(Ni(RRBt_expressiontlistt_charsR?RFRO(RPRQ((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyR>xs		cCsK|j|jdkr"d|_n"|jd7_|j|j|_|jS(Ni(RBROR@R?RX(RP((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRC�s
cCs�|j}d}|j�x�|j|kr�|jdkrQ|d7}|j�n|jdkr�td|d|j|dd|��n||j7}|j�qW|j�|S(NR=s\R-R.R/sUnclosed %s delimiter(RBRCR?R@RRV(RPt	delimiterRRR((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyt_consume_until�s	





cCs�|j}|jd�jdd�}yt|�}Wnutk
r�y*td|j��}tjdt�Wq�tk
r�t	d|d|j
|dd|��q�XnX|j|}id	d
6|d6|d6|d
6S(NR*s\`s"%s"s deprecated string literal syntaxR-R.R/sBad token %stliteralRRRR(RBRZtreplaceRt
ValueErrortlstriptwarningstwarntPendingDeprecationWarningRRV(RPRtlexemetparsed_jsont	token_len((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRJ�s 	
	


cCs�|j}d|jd�d}y7|j|}idd6t|�d6|d6|d6SWnGtk
r�}t|�jd�d}td	|d
|d|��nXdS(NR0tquoted_identifierRRRRRiR-R.R/(RBRZRR]tstrtsplitR(RPRRbRdtet
error_message((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRN�s	
cCsQ|j}|jd�jdd�}|j|}idd6|d6|d6|d6S(NR#s\'R[RRRR(RBRZR\(RPRRbRd((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRH�s
	
cCs||j}|j}|j�}||kr\|j�i|d6||d6|d6|dd6Si|d6|d6|d6|d6S(NRRRiR(RBR?RC(RPtexpectedt
match_typet	else_typeRRRS((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRI�s		
(t__name__t
__module__tsettstringt
ascii_lettersRDtdigitsRERKRGRARURLR>RCRZRJRNRHRI(((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRs0
	W							
	(	RpR_tjsonRtjmespath.exceptionsRRtobjectR(((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyt<module>s