Hacked By AnonymousFox
B
� f,3 � @ s� d Z ddlZddlZddlZddlmZ ddlmZ dddgZG dd� d�Z ddd�Z
e�dej�j
Zd
d� Zdd� Zedkr�eej�dkr�ee � � n,ejd Zee��Zee ee�� W dQ R X dS )z8A lexical analyzer class for simple shell-like syntaxes.� N)�deque)�StringIO�shlex�split�quotec @ sr e Zd ZdZddd�Zedd� �Zdd � Zdd
d�Zdd
� Z dd� Z
dd� Zdd� Zddd�Z
dd� Zdd� ZdS )r z8A lexical analyzer class for simple shell-like syntaxes.NFc C s t |t�rt|�}|d k r(|| _|| _ntj| _d | _|| _|rHd | _nd| _d| _ d| _
| jrn| j
d7 _
d| _d| _d| _
d| _d | _d
| _t� | _d| _d| _d| _t� | _d | _|s�d}n|d
kr�d}|| _|�rt� | _| j
d7 _
| j
�t�|��}| j
�|�| _
d S )N� �#Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u| ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞz
Fz'"�\�"� � r Tz();<>|&z~-./*?=)�
isinstance�strr �instream�infile�sys�stdin�posix�eof�
commenters� wordchars�
whitespace�whitespace_split�quotes�escape�
escapedquotes�stater �pushback�lineno�debug�token� filestack�source�_punctuation_chars�_pushback_chars� maketrans�dict�fromkeys� translate)�selfr r r �punctuation_chars�t� r, �*/opt/alt/python37/lib64/python3.7/shlex.py�__init__ sJ
zshlex.__init__c C s | j S )N)r# )r) r, r, r- r* D s zshlex.punctuation_charsc C s* | j dkrtdt|� � | j�|� dS )z:Push a token onto the stack popped by the get_token methodr zshlex: pushing token N)r �print�reprr �
appendleft)r) �tokr, r, r- �
push_tokenH s
zshlex.push_tokenc C sp t |t�rt|�}| j�| j| j| jf� || _|| _d| _| jrl|dk r\t d| jf � nt d| jf � dS )z9Push an input source onto the lexer's input source stack.r Nzshlex: pushing to file %szshlex: pushing to stream %s)
r
r r r! r1 r r r r r/ )r) � newstream�newfiler, r, r- �push_sourceN s
zshlex.push_sourcec C sD | j �� | j�� \| _| _ | _| jr:td| j | jf � d| _dS )zPop the input source stack.zshlex: popping to %s, line %dr N) r �closer! �popleftr r r r/ r )r) r, r, r- �
pop_source\ s
zshlex.pop_sourcec C s� | j r.| j �� }| jdkr*tdt|� � |S | �� }| jdk r~x<|| jkr|| �| �� �}|rr|\}}| �||� | � � }qBW x*|| j
kr�| js�| j
S | �� | � � }q�W | jdkr�|| j
kr�tdt|� � ntd� |S )zBGet a token from the input stream (or from stack if it's nonempty)r zshlex: popping token Nz
shlex: token=zshlex: token=EOF)
r r8 r r/ r0 �
read_tokenr"