관리-도구
편집 파일: parser.cpython-39.opt-1.pyc
a �`L� � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm Z eg d��Zeg d ��Z ejejejejejejd �ZG dd� de�Zd S )z8Parse tokens from the lexer into nodes for the compiler.� )�nodes)�imap)�TemplateAssertionError)�TemplateSyntaxError)�describe_token��describe_token_expr)�for�if�blockZextends�printZmacroZinclude�from�import�set�with� autoescape)�eq�ne�ltZlteq�gtZgteq)�add�sub�mul�div�floordiv�modc @ s� e Zd ZdZdidd�Zdefdd�Zdd� Zdjd d �Zdkdd�Z dld d�Z dmdd�Zdd� Zdndd�Z dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zdod7d8�Zdpd9d:�Zd;d<� Z d=d>� Z!d?d@� Z"dAdB� Z#dCdD� Z$dEdF� Z%dGdH� Z&dIdJ� Z'dKdL� Z(dqdMdN�Z)dOdP� Z*drdQdR�Z+dSdT� Z,dUdV� Z-dWdX� Z.dYdZ� Z/d[d\� Z0d]d^� Z1d_d`� Z2dsdadb�Z3dcdd� Z4dtdedf�Z5dgdh� Z6dS )u�Parserz�This is the central parsing class Jinja uses. It's passed to extensions and can be used to parse expressions or statements. Nc C sl || _ |�||||�| _|| _|| _d| _i | _|�� D ]}|jD ]}|j | j|<