Your IP : 3.12.163.23
�
�Q�f)4 � � � d Z ddlZddlZddlZddlmZ ddlmZ g d�Z G d� d� Z dd�Z
d � Z ej d
ej � j Zd� Zd� Zed
k( rS eej( � dk( r e e � � yej( d Z ee� 5 Z e e ee� � ddd� yy# 1 sw Y yxY w)�8A lexical analyzer class for simple shell-like syntaxes.� N)�deque)�StringIO)�shlex�split�quote�joinc �f � e Zd ZdZ dd�Zed� � Zd� Zdd�Zd� Z d� Z
d � Zd
� Zdd�Z
d� Zd
� Zy)r r Nc � � t |t � rt |� }|�|| _ || _ nt
j | _ d | _ || _ |rd | _ nd| _ d| _ d| _
| j r| xj dz
c_
d| _ d| _ d| _
d| _ d | _ d
| _ t# � | _ d| _ d| _ d| _ t# � | _ d | _ |sd}n|d
u rd}|| _ |rst# � | _ | xj dz
c_
| j j5 t6 j9 |� � }| j j; |� | _
y y )N� �#�?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�ts �,/opt/alt/python312/lib64/python3.12/shlex.py�__init__zshlex.__init__ sN � ��h��$���)�H���$�D�M� �D�K��I�I�D�M��D�K���
���D�H��D�H����B����:�:��N�N� ^�
_�N�#��� %��������� �����
����
������
���
�������� � "��
�$�
&� )��"3����#(�7�D� ��N�N�i�'�N����(�(����7H�)I�J�A�!�^�^�5�5�a�8�D�N� � c � � | j S �N)r) �r/ s r2 r0 zshlex.punctuation_charsD s � ��&�&�&r4 c � � | j dk\ rt dt |� z � | j j |� y)z:Push a token onto the stack popped by the get_token methodr zshlex: pushing token N)r% �print�reprr# �
appendleft)r/ �toks r2 �
push_tokenzshlex.push_tokenH s1 � ��:�:��?��)�D��I�5�6��
�
� � ��%r4 c �\ � t |t � rt |� }| j j | j
| j | j f� || _ || _ d| _ | j r4|�t d| j
��� yt d| j ��� yy)z9Push an input source onto the lexer's input source stack.r Nzshlex: pushing to file zshlex: pushing to stream )
r r r r'