%PDF- %PDF-
Direktori : /usr/local/lib/python3.8/__pycache__/ |
Current File : //usr/local/lib/python3.8/__pycache__/shlex.cpython-38.pyc |
U na 4 @ s d Z ddlZddlZddlZddlmZ ddlmZ ddddgZG d d dZ dddZ d d Zedej jZdd Zdd Zedkreejdkree n,ejd ZeeZee ee W 5 Q R X dS )8A lexical analyzer class for simple shell-like syntaxes. N)deque)StringIOshlexsplitquotejoinc @ sr e Zd ZdZdddZedd Zdd Zdd dZdd Z dd Z dd Zdd ZdddZ dd Zdd ZdS )r r NFc C s t |trt|}|d k r(|| _|| _ntj| _d | _|| _|rHd | _nd| _d| _ d| _ | jrn| j d7 _ d| _d| _d| _ d| _d | _d | _t | _d| _d| _d| _t | _d | _|sd}n|d krd}|| _|rt | _| j d7 _ | j t|}| j || _ d S )N #Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u| ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞz Fz'"\" r Tz();<>|&z~-./*?=) isinstancestrr instreaminfilesysstdinposixeof commenters wordchars whitespacewhitespace_splitquotesescape escapedquotesstater pushbacklinenodebugtoken filestacksource_punctuation_chars_pushback_chars maketransdictfromkeys translate)selfr r r punctuation_charst r. !/usr/local/lib/python3.8/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! printreprr appendleft)r+ tokr. r. r/ push_tokenH s zshlex.push_tokenc C sp t |trt|}| 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# r5 r r r r! r3 )r+ newstreamnewfiler. 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! r3 r r2 r. r. r/ pop_source\ s zshlex.pop_sourcec C s | j r.| j }| jdkr*tdt| |S | }| jdk rz|| jkrz| | }|rp|\}}| || | }q@|| j kr| js| j S | | }qz| jdkr|| j krtdt| 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 r<