ok

Mini Shell

Direktori : /opt/cloudlinux/venv/lib/python3.11/site-packages/pyparsing/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/pyparsing/__pycache__/exceptions.cpython-311.pyc

�

�܋f?#�	�p�ddlZddlZddlZddlmZmZmZmZddlm	Z
Gd�de
je
je
j
e
je
j��Zeej��Zejdezdz��ZGd	�d
e��ZGd�de��ZGd
�de��ZGd�de��ZGd�de��ZdS)�N�)�col�line�lineno�_collapse_string_to_ranges)�pyparsing_unicodec��eZdZdS)�ExceptionWordUnicodeN)�__name__�
__module__�__qualname__���e/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/pyparsing/exceptions.pyr
r
s�������Drr
z([z
]{1,16})|.c��eZdZdZ			ddededejefd�Ze	dd	���Z
ed
���Ze
defd���Ze
defd
���Ze
defd���Ze
defd���Zdefd�Zd�Zddd�dedefd�Zddefd�ZeZdS)�ParseBaseExceptionz7base exception class for all parsing runtime exceptionsrN�pstr�loc�msgc��||_|�||_d|_n||_||_|x|_|_|||f|_dS)N�)rrr�parser_element�
parserElement�args)�selfrrr�elems     r�__init__zParseBaseException.__init__sP������;��D�H��D�I�I��D�H��D�I�37�7���d�0��3��$��	�	�	r�c��ddl}ddlm}|�tj��}g}t|t��r=|�|j��|�d|j	dz
zdz��|�d�
t|��j|����|dk�r�|�
|j|���}t��}t!||d���D�]M\}}|d}	|	j�d	d��}
t|
|��r�|	jjd
vr�Ht+|
��|vr�Z|�t+|
����t|
��}|�d�
|j|j|
����n�|
�Ct|
��}|�d�
|j|j����n?|	j}|jd
vr��|�d�
|j����|dz}|sn��Od�|��S)a�
        Method to take an exception and translate the Python internal traceback into a list
        of the pyparsing expressions that caused the exception to be raised.

        Parameters:

        - exc - exception raised during parsing (need not be a ParseException, in support
          of Python exceptions that might be raised in a parse action)
        - depth (default=16) - number of levels back in the stack trace to list expression
          and function names; if None, the full stack trace names will be listed; if 0, only
          the failing input line, marker, and exception string will be shown

        Returns a multi-line string listing the ParserElements and/or function names in the
        exception's stack trace.
        rNr)�
ParserElement� �^z{}: {})�contextr)�	parseImpl�
_parseNoCachez
{}.{} - {}z{}.{})�wrapperz<module>z{}�
)�inspect�corer �sys�getrecursionlimit�
isinstancer�appendr�column�format�typer�getinnerframes�
__traceback__�set�	enumerate�f_locals�get�f_code�co_name�id�addr�join)
�exc�depthr(r �ret�callers�seen�i�ff�frm�f_self�	self_type�codes
             r�explain_exceptionz$ParseBaseException.explain_exception)sW��"	����'�'�'�'�'�'��=��)�+�+�E����c�-�.�.�	5��J�J�s�x� � � ��J�J�s�c�j�1�n�-��3�4�4�4��
�
�8�?�?�4��9�9�#5�s�;�;�<�<�<��1�9�9��,�,�S�->��,�N�N�G��5�5�D�"�7�E�6�7�7�#3�4�4�
�
���2���e����)�)�&�$�7�7���f�m�4�4�:��z�)�1O�O�O� ��&�z�z�T�)�)� ��H�H�R��Z�Z�(�(�(� $�V���I��J�J�$�+�+�%�0�)�2D�f��������'� $�V���I��J�J�w�~�~�i�.B�I�DV�W�W�X�X�X�X��:�D��|�'>�>�>� ��J�J�t�{�{�4�<�8�8�9�9�9���
�����E���y�y��~�~�rc�F�||j|j|j|j��S)z�
        internal factory method to simplify creating one type of ParseException
        from another - avoids having __init__ signature conflicts among subclasses
        )rrrr)�cls�pes  r�_from_exceptionz"ParseBaseException._from_exceptionks#���s�2�7�B�F�B�F�B�,<�=�=�=r�returnc�6�t|j|j��S)zG
        Return the line of text where the exception occurred.
        )rrr�rs rrzParseBaseException.liness��
�D�H�d�i�(�(�(rc�6�t|j|j��S)zV
        Return the 1-based line number of text where the exception occurred.
        )rrrrNs rrzParseBaseException.linenozs��
�d�h��	�*�*�*rc�6�t|j|j��S�z]
        Return the 1-based column on the line of text where the exception occurred.
        �rrrrNs rrzParseBaseException.col����
�4�8�T�Y�'�'�'rc�6�t|j|j��SrQrRrNs rr.zParseBaseException.column�rSrc��|jr�|jt|j��krd}nut�|j|j��}|�|�d��}n|j|j|jdz�}d|z�dd��}nd}d�|j||j|j	|j
��S)	Nz, found end of textrrz
, found %rz\\�\rz%{}{}  (at char {}), (line:{}, col:{}))rr�len�_exception_word_extractor�match�group�replacer/rrr.)r�foundstr�found_match�founds    r�__str__zParseBaseException.__str__�s����9�	��x�3�t�y�>�>�)�)�0���8�=�=�d�i���R�R���*�'�-�-�a�0�0�E�E� �I�d�h���A��&=�>�E�(�5�0�9�9�%��F�F����H�6�=�=��H�h���$�+�t�{�
�
�	
rc� �t|��S�N)�strrNs r�__repr__zParseBaseException.__repr__�s���4�y�y�rz>!<)�markerString�
marker_stringc��|�|n|}|j}|jdz
}|r(d�|d|�|||d�f��}|���S)z�
        Extracts the exception line from the input string, and marks
        the location of the exception with a special symbol.
        Nrr)rr.r;�strip)rrerd�line_str�line_columns     r�mark_input_linez"ParseBaseException.mark_input_line�sm��
)6�(A�}�}�|���9���k�A�o���	��w�w��,�;�,�'��x����7M�N���H��~�~���rc�.�|�||��S)a
        Method to translate the Python internal traceback into a list
        of the pyparsing expressions that caused the exception to be raised.

        Parameters:

        - depth (default=16) - number of levels back in the stack trace to list expression
          and function names; if None, the full stack trace names will be listed; if 0, only
          the failing input line, marker, and exception string will be shown

        Returns a multi-line string listing the ParserElements and/or function names in the
        exception's stack trace.

        Example::

            expr = pp.Word(pp.nums) * 3
            try:
                expr.parse_string("123 456 A789")
            except pp.ParseException as pe:
                print(pe.explain(depth=0))

        prints::

            123 456 A789
                    ^
            ParseException: Expected W:(0-9), found 'A'  (at char 8), (line:1, col:9)

        Note: the diagnostic output will include string representations of the expressions
        that failed to parse. These representations will be more helpful if you use `set_name` to
        give identifiable names to your expressions. Otherwise they will use the default string
        forms, which may be cryptic to read.

        Note: pyparsing's default truncation of exception tracebacks may also truncate the
        stack of expressions that are displayed in the ``explain`` output. To get the full listing
        of parser expressions, you may have to set ``ParserElement.verbose_stacktrace = True``
        )rG)rr=s  r�explainzParseBaseException.explain�s��J�%�%�d�E�2�2�2r)rNN)rra)rrr
�__doc__rb�int�typing�Optionalr�staticmethodrG�classmethodrK�propertyrrrr.r_rcrjrl�
markInputlinerrrrrs�������A�A��$(�
�%�%��%��%��_�S�
!�	%�%�%�%�"�?�?�?��\�?�B�>�>��[�>��)�c�)�)�)��X�)��+��+�+�+��X�+��(�S�(�(�(��X�(��(��(�(�(��X�(�
��
�
�
�
�$��� �� � � �S� �SV� � � � �%3�%3�3�%3�%3�%3�%3�N$�M�M�Mrrc��eZdZdZdS)�ParseExceptionaq
    Exception thrown when a parse expression doesn't match the input string

    Example::

        try:
            Word(nums).set_name("integer").parse_string("ABC")
        except ParseException as pe:
            print(pe)
            print("column: {}".format(pe.column))

    prints::

       Expected integer (at char 0), (line:1, col:1)
        column: 1

    N�rrr
rmrrrrvrv�s���������rrvc��eZdZdZdS)�ParseFatalExceptionzu
    User-throwable exception thrown when inconsistent parse content
    is found; stops all parsing immediately
    Nrwrrrryry�s���������rryc��eZdZdZdS)�ParseSyntaxExceptionz�
    Just like :class:`ParseFatalException`, but thrown internally
    when an :class:`ErrorStop<And._ErrorStop>` ('-' operator) indicates
    that parsing is to stop immediately because an unbacktrackable
    syntax error has been found.
    Nrwrrrr{r{�s���������rr{c�$�eZdZdZd�Zdefd�ZdS)�RecursiveGrammarExceptionz�
    Exception thrown by :class:`ParserElement.validate` if the
    grammar could be left-recursive; parser may need to enable
    left recursion using :class:`ParserElement.enable_left_recursion<ParserElement.enable_left_recursion>`
    c��||_dSra)�parseElementTrace)r�parseElementLists  rrz"RecursiveGrammarException.__init__s��!1����rrLc�6�d�|j��S)NzRecursiveGrammarException: {})r/rrNs rr_z!RecursiveGrammarException.__str__
s��.�5�5�d�6L�M�M�MrN)rrr
rmrrbr_rrrr}r}sO��������2�2�2�N��N�N�N�N�N�Nrr})�rer*ro�utilrrrr�unicoder�ppu�Latin1�LatinA�LatinB�Greek�Cyrillicr
�	alphanums�_extract_alphanums�compilerX�	Exceptionrrvryr{r}rrr�<module>r�s���
�	�	�	�
�
�
�
�
�
�
�
�?�?�?�?�?�?�?�?�?�?�?�?�-�-�-�-�-�-�	�	�	�	�	�3�:�s�z�3�:�s�y�#�,�	�	�	�0�/�0D�0N�O�O��&�B�J�t�.@�'@�<�'O�P�P��F$�F$�F$�F$�F$��F$�F$�F$�R�����'����(�����,���������.����N�N�N�N�N�	�N�N�N�N�Nr

Zerion Mini Shell 1.0