관리-도구
편집 파일: shlex.cpython-36.opt-1.pyc
3 \�2 � @ s� d Z ddlZddlZddlZddlmZ ddlmZ dddgZG dd� d�Z ddd�Z ejdej�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 @ sf e Zd ZdZddd�Zdd� Zddd �Zd d� Zdd � Zdd� Z dd� Z ddd�Zdd� Zdd� Z dS )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 jtj|��}| j 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 r# �t� r+ �/usr/lib64/python3.6/shlex.py�__init__ sJ zshlex.__init__c C s* | j dkrtdt|� � | jj|� 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_tokenD s zshlex.push_tokenc C sp t |t�rt|�}| jj| 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! r0 r r r r r. )r) � newstream�newfiler+ r+ r, �push_sourceJ s zshlex.push_sourcec C sD | j j� | jj� \| _| _ | _| 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_sourceX s zshlex.pop_sourcec C s� | j r.| j j� }| jdkr*tdt|� � |S | j� }| jdk r~x<|| jkr|| j| j� �}|rr|\}}| j||� | j � }qBW x*|| j kr�| js�| j S | j� | j � }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 r7 r r. r/ � read_tokenr"