관리-도구
편집 파일: shlex.cpython-312.pyc
� �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'