Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/site-packages/pyparsing/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/site-packages/pyparsing/__pycache__/util.cpython-38.pyc
U

N��g� �@s^ddlZddlZddlZddlZddlZddlmZmZddlm	Z	m
Z
mZmZm
Z
mZed�Ze
de	d�ZGdd�d�Zed	d
�eeed�dd
��Zed	d
�eeed�dd��Zed	d
�eeed�dd��ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�de�Zeed�dd�Zd'eeeefeed�dd �Ze e d!�d"d#�Z!eeed$�d%d&�Z"dS)(�N)�	lru_cache�wraps)�Callable�List�Union�Iterable�TypeVar�cast�\�C)�boundc@sZeZdZUdZgZeeed<gZeeed<dZ	e
dd��Ze
dd��Ze
d	d��Z
d
S)�__config_flagsz=Internal class for defining compatibility and debugging flags�
_all_names�_fixed_names�
configurationcCsx||jkrFtj|j�d|�d|j�dtt||�����d�dd�dS||jkr^t	|||�nt
d|j�d|����dS)N�.� z is z and cannot be overridden�)�
stacklevelzno such )r�warnings�warn�__name__�
_type_desc�str�getattr�upperr�setattr�
ValueError)�clsZdname�value�r �;/opt/cppython/lib/python3.8/site-packages/pyparsing/util.py�_sets
,�
z__config_flags._setcCs|�|d�S)NT�r"�r�namer r r!�<lambda>#�z__config_flags.<lambda>cCs|�|d�S)NFr#r$r r r!r&$r'N)r�
__module__�__qualname__�__doc__rrr�__annotations__rr�classmethodr"�enable�disabler r r r!r
s


r
�)�maxsize)�loc�strg�returncCsF|}d|krt|�kr4nn||ddkr4dS||�dd|�S)a�
    Returns current column within a string, counting newlines as line separators.
    The first column is number 1.

    Note: the default parsing behavior is to expand tabs in the input string
    before starting the parsing process.  See
    :class:`ParserElement.parse_string` for more
    information on parsing strings containing ``<TAB>`` s, and suggested
    methods to maintain a consistent view of the parsed string, the parse
    location, and line and column positions within the parsed string.
    r��
)�len�rfind)r1r2�sr r r!�col's
r9cCs|�dd|�dS)a�Returns current line number within a string, counting newlines as line separators.
    The first line is number 1.

    Note - the default parsing behavior is to expand tabs in the input string
    before starting the parsing process.  See :class:`ParserElement.parse_string`
    for more information on parsing strings containing ``<TAB>`` s, and
    suggested methods to maintain a consistent view of the parsed string, the
    parse location, and line and column positions within the parsed string.
    r5rr4)�count)r1r2r r r!�lineno8sr;cCsB|�dd|�}|�d|�}|dkr2||d|�S||dd�S)zh
    Returns the line of text containing loc within a string, counting newlines as line separators.
    r5rr4N)r7�find)r1r2Zlast_crZnext_crr r r!�lineFsr=c@seZdZdd�ZdS)�_UnboundedCachecspi��j�t�|_���fdd�}�fdd�}�fdd�}d|_t�||�|_t�||�|_t�||�|_dS)Ncs
�|��S�Nr ��_�key��	cache_get�not_in_cacher r!�getVsz%_UnboundedCache.__init__.<locals>.getcs|�|<dSr?r )rArBr��cacher r!�set_Ysz&_UnboundedCache.__init__.<locals>.set_cs���dSr?)�clear�rArGr r!rJ\sz'_UnboundedCache.__init__.<locals>.clear)rF�objectrE�size�types�
MethodType�setrJ)�selfrFrIrJr )rHrDrEr!�__init__Qsz_UnboundedCache.__init__N�rr(r)rRr r r r!r>Psr>c@seZdZdd�ZdS)�
_FifoCachecs�t�|_�i�t�g���j��j�t�t������fdd�}����fdd�}���fdd�}�|_t�	||�|_t�	||�|_
t�	||�|_dS)Ncs
�|��Sr?r r@rCr r!rFnsz _FifoCache.__init__.<locals>.getcs*|�|<t��}��|d�|�|<dSr?)�next)rArBr�i)rH�	cache_pop�keyiter�keyringr r!rIqsz!_FifoCache.__init__.<locals>.set_cs ���t�g��dd�<dSr?)rJrLrK)rHrYrMr r!rJwsz"_FifoCache.__init__.<locals>.clear)rLrErF�pop�	itertools�cycle�rangerMrNrOrPrJ)rQrMrFrIrJr )rHrDrWrXrYrErMr!rRfsz_FifoCache.__init__NrSr r r r!rTesrTc@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�LRUMemoz�
    A memoizing mapping that retains `capacity` deleted items

    The memo tracks retained items by their access order; once `capacity` items
    are retained, the least recently used item is discarded.
    cCs||_i|_t��|_dSr?)�	_capacity�_active�collections�OrderedDict�_memory)rQ�capacityr r r!rR�szLRUMemo.__init__cCs<z|j|WStk
r6|j�|�|j|YSXdSr?)r`�KeyErrorrc�move_to_end�rQrBr r r!�__getitem__�s
zLRUMemo.__getitem__cCs|j�|d�||j|<dSr?)rcrZr`�rQrBrr r r!�__setitem__�szLRUMemo.__setitem__cCsTz|j�|�}Wntk
r$Yn,Xt|j�|jkrF|jjdd�q&||j|<dS)NF)�last)r`rZrer6rcr_�popitemrir r r!�__delitem__�szLRUMemo.__delitem__cCs|j��|j��dSr?)r`rJrc)rQr r r!rJ�s
z
LRUMemo.clearN)	rr(r)r*rRrhrjrmrJr r r r!r^�s
r^c@seZdZdZdd�ZdS)�
UnboundedMemoz<
    A memoizing mapping that retains all deleted items
    cCsdSr?r rgr r r!rm�szUnboundedMemo.__delitem__N)rr(r)r*rmr r r r!rn�srn)r8r3cCs:dD]}|�|t|�}q|�dd�}|�dd�}t|�S)Nz\^-[]r5z\n�	z\t)�replace�_bslashr)r8�cr r r!�_escape_regex_range_chars�s
rsT)r8�	re_escaper3c	s�fdd��d�_t���_d�_dd��dd�}|s:|�g}d	�tt|���}t|�d
kr�tj	|�d�D]�\}}t
|�}}tjt�
t|g�|�dd
���}||kr�|��|��qjt|�t|�dkr�d	nd}|��|��|��|����qjn�fdd�|D�}d	�|�S)Ncs4t|�}|�j�_}||dkr.t�j��_�jS)Nr4)�ord�prevrU�counterr)rrZc_intrv)�is_consecutiver r!rx�s
z2_collapse_string_to_ranges.<locals>.is_consecutiver���cSs|dkrd|S|S)Nz\^-][�\r �rrr r r!�escape_re_range_char�sz8_collapse_string_to_ranges.<locals>.escape_re_range_charcSs|Sr?r r{r r r!�no_escape_re_range_char�sz;_collapse_string_to_ranges.<locals>.no_escape_re_range_char�r)rBr4)�maxlen�-csg|]}�|��qSr r )�.0rr)r|r r!�
<listcomp>�sz._collapse_string_to_ranges.<locals>.<listcomp>)rvr[r:rwr�join�sortedrPr6�groupbyrUra�deque�chain�iterrZ�appendru)	r8rtr}�retrA�chars�firstrk�sepr )r|rxr!�_collapse_string_to_ranges�s2
�
�r�)�llr3cCs6g}|D](}t|t�r&|�t|��q|�|�q|Sr?)�
isinstance�list�extend�_flattenr�)r�r�rVr r r!r��s
r�)�compat_name�fnr3cs�t�d���dgtt���j�dd�kr@t���fdd��}nt���fdd��}d�j�d�|_||_�j|_t	�t
j�r��j|_n&t	�t
�r�t�d	�r��jj|_nd|_�j|_tt|�S)
N�__func__rQr4cs�|f|�|�Sr?r )rQ�args�kwargs�r�r r!�_inner�sz replaced_by_pep8.<locals>._innercs
�||�Sr?r )r�r�r�r r!r�szDeprecated - use :class:`�`rR)rr��inspect�	signature�
parametersrrr*r+r�rN�FunctionType�__kwdefaults__�type�hasattrrRr)r	r)r�r�r�r r�r!�replaced_by_pep8�s 
r�)T)#r�rrNrar[�	functoolsrr�typingrrrrrr	�chrrqrr
�intrr9r;r=r>rTr^�dictrnrs�boolr�r�r�r�r r r r!�<module>s8 
	'	
��,

F1le Man4ger