HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/pyroute2/cli/__pycache__/parser.cpython-311.pyc
�

�;f����ddlZddlZddlmZmZmZmZmZmZm	Z	ddl
mZGd�de��Z
Gd�de��ZGd�d	e��ZdS)
�N)�t_comma�t_dict�
t_end_of_dict�t_end_of_sentence�t_end_of_stream�t_pipe�t_stmt)�
basestringc�"�eZdZdd�Zd�Zd�ZdS)�Token�Fc��||_||_d|_d|_g|_i|_|���|r#|j|vrtd|�d|j�����|r |j|vrtd|j�����dSdS)Nrz	expected z, got zunexpected )�lex�leaf�kind�name�argv�kwarg�parse�SyntaxError)�selfr�expect�prohibitrs     �F/opt/alt/python311/lib/python3.11/site-packages/pyroute2/cli/parser.py�__init__zToken.__init__s��������	���	���	���	���
��
�
�����	K�d�i�v�-�-��+�v�v�v�t�y�y�I�J�J�J��	>��	�X�-�-��+����<�=�=�=�	>�	>�-�-�c�N�tjd|��rt|��S|S)Nz^[0-9]+$)�re�match�int)r�args  r�convertz
Token.converts&��
�8�J��$�$�	��s�8�8�O��Jrc��|j���}||_|dkrt|_dS|dk�r3d}	t|jttttf���}|�Y|jtkr |j
�|j��n�|jtkr�r|jtkr|j}nq|jttfvr|j
�|��n?|jtkr|j|j|<n|jtkr|j|j|<d}|jtkr$t|_|j
�d|j��|_dS��0|dkrt|_dS|dkrt|_dS|dkrt|_dS|d	krt|_dS|d
kr\|j���}|dkrd|_t|_dS|j�|��t|_dS|�|��|_t|_dS)
N��{T)r� �}�;�,�|�=�>z=>)r�	get_tokenrrrrr	rrrr�appendrrr�
push_tokenr")r�first�arg_name�nt�	lookaheads     rrzToken.parse$s/����"�"�$�$����	�
�B�;�;�'�D�I�I�I��c�\�\��H�
���H�f�f�g�}�%M������#��w�&�(�(��	�(�(���2�2�2�2���G�+�+� ���F�*�*�#%�7����w�=�'�":�:�:��	�(�(��2�2�2�2���F�*�*�/1�w��
�8�,�,���F�*�*�/1�x��
�8�,�#�H��7�m�+�+� &�D�I�+/�9�9�9�d�j�j� A�D�I��F�/
�8�c�\�\�%�D�I�I�I�
�c�\�\�)�D�I�I�I�
�c�\�\��D�I�I�I�
�c�\�\��D�I�I�I�
�c�\�\���*�*�,�,�I��C��� ��	�"��	�	�	���#�#�I�.�.�.�"��	�	�	����U�+�+�D�I��D�I�I�IrN)r
r
F)�__name__�
__module__�__qualname__rr"rr
rrrrsK������>�>�>�>����\�\�\�\�\rrc�(�eZdZdd�Zd�Zd�Zd�ZdS)�SentencerNc� �d|_g|_||_tj|��|_|jxjdz
c_d|j_d|j_||_|r|j	|_	dSg|_	|�
��dS)Nrz.:/z#!F)�offset�
statements�text�shlexr�	wordchars�
commenters�debug�indent�chainr)rr<rA�masters    rrzSentence.__init__�s�����������	��;�t�$�$�������e�#���"������������	���D�J�J�J��D�J��J�J�L�L�L�L�Lrc#�&K�|jD]}|V��dS�N)r;)r�stmts  r�__iter__zSentence.__iter__�s,�����O�	�	�D��J�J�J�J�	�	rc� �|}	t|j��}|jtkrt	d|j|���}n,|jtkrdS|j�|��||j	vr|j	�|����)NT)rC)
rrrrr8rArr;r.rB)r�sentencer2s   rrzSentence.parse�s�����		,��t�x���B��w�+�+�+�#�D�$�+�d�C�C�C�����O�+�+����#�*�*�2�.�.�.��t�z�)�)��
�!�!�(�+�+�+�		,rc��d}|jD]6}|d|j|j|jfzz
}|d|jzz
}|d|jzz
}�7|S)Nz----
z%i [%s] %s
z
	argv: %s
z	kwarg: %s
)r;rArrrr)r�ret�ss   r�__repr__zSentence.__repr__�s]������	/�	/�A��>�T�[�!�&�!�&�$A�A�A�C��>�Q�V�,�,�C��?�a�g�.�.�C�C��
r)rN)r4r5r6rrGrrMr
rrr8r8�sU������
�
�
�
����,�,�,�����rr8c� �eZdZd�Zd�Zd�ZdS)�Parserc�X�||_d|_g|_|���dSrE)�streamrA�	sentencesr)rrQs  rrzParser.__init__�s(������������
�
�����rc�*�t|jd��r2|j���D]}|�|���nDt	|jt
��r|�|j��nt
d���d|_dS)N�	readlineszunsupported streamT)�hasattrrQrT�parse_string�
isinstancer
�
ValueError�parsed)rr<s  rrzParser.parse�s����4�;��,�,�	3���-�-�/�/�
(�
(���!�!�$�'�'�'�'�
(�
���Z�
0�
0�	3����d�k�*�*�*�*��1�2�2�2�����rc���tjd|���d��d}g}|rrtt	|����}t|��dkrt
d���|j�
|d|_|j|dkrt
d���t|t|����}|j	�
|j��dS)Nz	^([ \t]*)r�zmixed indentation)rr�groups�list�set�lenrrAr8rR�extendrB)rr<rA�spacesrIs     rrVzParser.parse_string�s�����,��-�-�4�4�Q�7�7��:�����	7��#�f�+�+�&�&�F��6�{�{�Q���!�"5�6�6�6��{�"�$�Q�i����{�f�Q�i�'�'�!�"5�6�6�6��D�#�f�+�+�.�.������h�n�-�-�-�-�-rN)r4r5r6rrrVr
rrrOrO�sA������������.�.�.�.�.rrO)rr=�pyroute2.clirrrrrrr	�pyroute2.commonr
�objectrr8rOr
rr�<module>res��	�	�	�	�����������������������'�&�&�&�&�&�p�p�p�p�p�F�p�p�p�f'�'�'�'�'�v�'�'�'�T.�.�.�.�.�V�.�.�.�.�.r