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/python37/lib/python3.7/site-packages/pyroute2/cli/__pycache__/parser.cpython-37.pyc
B

tP�e��@stddlZddlZddlmZmZmZmZmZmZm	Z	ddl
mZGdd�de�Z
Gdd�de�ZGdd	�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@s&eZdZd
dd�Zdd�Zdd�Zd	S)�Token�FcCsn||_||_d|_d|_g|_i|_|��|rL|j|krLtd||jf��|rj|j|krjtd|jf��dS)Nrzexpected %s, got %sz
unexpected %s)�lex�leaf�kind�name�argv�kwarg�parse�SyntaxError)�selfr�expectZprohibitr
rr�D/opt/alt/python37/lib/python3.7/site-packages/pyroute2/cli/parser.py�__init__szToken.__init__cCst�d|�rt|�S|SdS)Nz^[0-9]+$)�re�match�int)r�argrrr�convertsz
Token.convertcCs�|j��}||_|dkr"t|_�n||dk�rd}x�t|jtttt	fd�}|dkr�|jtkrj|j
�|j�q�|jtkrxq2q�|jtkr�|j}nN|jt	tfkr�|j
�|�n.|jtkr�|j|j|<n|jtkr�|j|j|<d}|jt	kr2t|_d|j
|jf|_dSq2Wn�|dk�rt	|_n�|dk�r(t
|_nv|dk�r:t|_nd|dk�rLt|_nR|d	k�r�|j��}|d
k�rxd|_t|_n|j�|�t|_n|�|�|_t|_dS)N��{)rz%s %s�}�;�,�|�=�>z=>)r�	get_tokenrrrr
rrrrr�appendrrr�
push_tokenr)r�first�arg_name�ntZ	lookaheadrrrr$sX

















zToken.parseN)rrF)�__name__�
__module__�__qualname__rrrrrrrr
s

r
c@s.eZdZddd�Zdd�Zdd�Zd	d
�ZdS)�SentencerNcCsdd|_g|_||_t�|�|_|jjd7_d|j_d|j_||_|rR|j	|_	ng|_	|�
�dS)Nrz.:/z#!F)�offset�
statements�text�shlexr�	wordchars�
commenters�debug�indent�chainr)rr1r6�masterrrrr�s
zSentence.__init__ccsx|jD]
}|VqWdS)N)r0)r�stmtrrr�__iter__�szSentence.__iter__cCsd|}xZt|j�}|jtkr,td|j|d�}n|jtkr:dS|j�|�||j	kr|j	�|�qWdS)N)r8)
r
rrrr.r6rr0r&r7)r�sentencer*rrrr�s



zSentence.parsecCsLd}xB|jD]8}|d|j|j|jf7}|d|j7}|d|j7}qW|S)Nz----
z%i [%s] %s
z
	argv: %s
z	kwarg: %s
)r0r6rrrr)r�ret�srrr�__repr__�szSentence.__repr__)rN)r+r,r-rr:rr>rrrrr.�s

r.c@s$eZdZdd�Zdd�Zdd�ZdS)�ParsercCs||_d|_g|_|��dS)N)�streamr6�	sentencesr)rr@rrrr�szParser.__init__cCsXt|jd�r,x@|j��D]}|�|�qWn"t|jt�rF|�|j�ntd��d|_dS)N�	readlineszunsupported streamT)�hasattrr@rB�parse_string�
isinstancer	�
ValueError�parsed)rr1rrrr�szParser.parsecCs�t�d|��d�d}g}|rhtt|��}t|�dkr>td��|jdkrR|d|_|j|dkrhtd��t|t|��}|j	�
|j�dS)Nz	^([ \t]*)r�zmixed indentation)rr�groups�list�set�lenrr6r.rA�extendr7)rr1r6�spacesr;rrrrD�s

zParser.parse_stringN)r+r,r-rrrDrrrrr?�s
r?)rr2Zpyroute2.clirrrrrrrZpyroute2.commonr	�objectr
r.r?rrrr�<module>s$	s*