⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.96
Server IP:
147.93.97.220
Server:
Linux srv843233 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.2.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
python3
/
dist-packages
/
jmespath
/
__pycache__
/
View File Name :
parser.cpython-312.pyc
� ���b�J � � � d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ G d� d e � Z e G d � de � � Zy)a� Top down operator precedence parser. This is an implementation of Vaughan R. Pratt's "Top Down Operator Precedence" parser. (http://dl.acm.org/citation.cfm?doid=512927.512931). These are some additional resources that help explain the general idea behind a Pratt parser: * http://effbot.org/zone/simple-top-down-parsing.htm * http://javascript.crockford.com/tdop/tdop.html A few notes on the implementation. * All the nud/led tokens are on the Parser class itself, and are dispatched using getattr(). This keeps all the parsing logic contained to a single class. * We use two passes through the data. One to create a list of token, then one pass through the tokens to create the AST. While the lexer actually yields tokens, we convert it to a list so we can easily implement two tokens of lookahead. A previous implementation used a fixed circular buffer, but it was significantly slower. Also, the average jmespath expression typically does not have a large amount of token so this is not an issue. And interestingly enough, creating a token list first is actually faster than consuming from the token iterator one token at a time. � N)�lexer)�with_repr_method)�ast)� exceptions)�visitorc �� � e Zd Zi dd�dd�dd�dd�dd�dd�dd�d d�d d�dd�dd�d d�dd�dd�dd�dd�dd�ddddddddddddd��Zd Zi Zd!ZdVd"�Zd#� Zd$� Z d%� Z dWd&�Zd'� Zd(� Z d)� Zd*� Zd+� Zd,� Zd-� Zd.� Zd/� Zd0� Zd1� Zd2� Zd3� Zd4� Zd5� Zd6� Zd7� Zd8� Zd9� Zd:� Zd;� Z d<� Z!d=� Z"d>� Z#d?� Z$d@� Z%dA� Z&dB� Z'dC� Z(dD� Z)dE� Z*dF� Z+dG� Z,dH� Z-dI� Z.dJ� Z/dXdL�Z0dM� Z1dN� Z2dO� Z3dP� Z4dQ� Z5dR� Z6dS� Z7dT� Z8e9dU� � Z:yK)Y�Parser�eofr �unquoted_identifier�quoted_identifier�literal�rbracket�rparen�comma�rbrace�number�current�expref�colon�pipe� �or� �and� �eq� �gt� � � �( �- �2 �7 �<