File: //opt/alt/python37/lib/python3.7/site-packages/jmespath/__pycache__/lexer.cpython-37.pyc
B
�P�e~! � @ s@ d dl Z d dlZd dlmZ d dlmZmZ G dd� de�ZdS )� N)�loads)�
LexerError�EmptyExpressionErrorc @ s� e Zd Zeejd �Zeejej d �Zeej�Z ed�Z
ddddddd d
ddd
�
Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd S )!�Lexer�_z
�dot�starZrbracket�comma�colon�currentZlparenZrparenZlbrace�rbrace)
�.�*�]�,�:�@�(�)�{�}c c sF | � |� �x | jd k �r,| j| jkrR| j| j | j| j| jd d�V | �� q| j| jkr�| j}| j}x| �� | jkr�|| j7 }qlW d|||t|� d�V q| j| jkr�| �� q| jdk�r6| j}| �� }|dkr�| �� dd||d d�V n<|d k�r | �� d
d||d d�V ndd||d d�V q| jd
k�rN| � � V q| jdk�rl| �
ddd�V q| jdk�r�| �
ddd�V q| jdk�r�| �� V q| j| jk�r�| j}| �
� }dt|�||t|� d�V q| jdk�r6| j}| �
� }t|�dk�r"dt|�||t|� d�V nt||d| d��q| jdk�rN| �� V q| jdk�rl| �
ddd�V q| jdk�r�| �
ddd �V q| jd!k�r�| �
dd"d#�V q| jdk�r| �� dk�r�d$d%| jd | jd�V | �� n,| jd k�r�| j}n
| jd }t|dd&d��qt| j| jd'| j d��qW d(d)| j| jd�V d S )*N� )�type�value�start�endZunquoted_identifier�[r �flattenz[]� �?�filterz[?Zlbracket�'�|�or�pipe�&�andZexpref�`�number�-zUnknown token '%s')�lexer_position�lexer_value�message�"�<�=Zlte�lt�>Zgte�gt�!�ne�not�eqz==zUnknown token '='zUnknown token %s�eof� )�_initialize_for_expression�_current�
SIMPLE_TOKENS� _position�_next�START_IDENTIFIER�VALID_IDENTIFIER�len�
WHITESPACE�_consume_raw_string_literal�_match_or_else�_consume_literal�VALID_NUMBER�_consume_number�intr �_consume_quoted_identifier�_length)�self�
expressionr �buff� next_char�position� rO �?/opt/alt/python37/lib/python3.7/site-packages/jmespath/lexer.py�tokenize s�
zLexer.tokenizec C s. | j }| j}x| �� | jkr(|| j7 }qW |S )N)r<