Edit File: shlex.cpython-37.opt-1.pyc
B ����p}�c,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"���� sourcehookr6���� get_tokenr���r!���r9���)r)���r2����raw�specr5���r4���r,���r,���r-���r<���e���s.���� zshlex.get_tokenc�������������C���s���d}d}�x^|�j�r$|�jr$|�j���}n|�j�d�}|dkrF|��jd7��_|�jdkrbtd|�j|f���|�jd�krvd|�_ P�q|�jdk�r�|s�d�|�_P��qf||�j kr�|�jdkr�td ��|�j s�|�jr|rP�nqn�||�jkr�|�j� ���|��jd7��_n�|�j�r ||�jk�r d }||�_n�||�jk�r$||�_ d |�_np||�j�k�r>||�_ d|�_nV||�jk�r`|�j�sX||�_ ||�_n4|�j�rv||�_ d |�_n||�_ |�j �s�|�jr|rP�nqq|�j|�jk�r>d}|�s�|�jdk�r�td ��td��||�jk�r�|�j�s�|��j |7��_ d|�_P�nd |�_n>|�j�r.||�jk�r.|�j|�jk�r.|�j}||�_n|��j |7��_ q|�j|�jk�r�|�sn|�jdk�rftd��td��||�jk�r�||�jk�r�||k�r�|��j |�j7��_ |��j |7��_ ||�_q|�jdkr|�s�d�|�_P�q||�j k�r|�jdk�r�td��d|�_|�j �s|�jr|rP�nqq||�jk�r\|�j� ���|��jd7��_|�j�rfd|�_|�j �sT|�jr|rP�nqq|�jdk�r�||�j�k�r�|��j |7��_ n ||�j k�r�|�j�|��d|�_P�q|�j�r�||�jk�r�||�_q|�j�r�||�jk�r�d }||�_q||�jk�s||�jk�s|�j�r|��j |7��_ q|�j��r(|�j�|��n|�j�|��|�jdk�rHtd��d|�_|�j �s`|�jr|rP�qqqW�|�j }d|�_ |�j�r�|�s�|dk�r�d�}|�jdk�r�|�r�tdt|����ntd��|S�)NFr���r���� ����z&shlex: in state %r I see character: %rr�������z+shlex: I see whitespace in whitespace state�a�cTz shlex: I see EOF in quotes statezNo closing quotationz shlex: I see EOF in escape statezNo escaped character)rB���rC���z%shlex: I see whitespace in word statez&shlex: I see punctuation in word statezshlex: raw token=zshlex: raw token=EOF)r*���r$����popr����readr���r���r/���r���r ���r���r���r����readliner���r���r���r���� ValueErrorr����appendr���r1���r0���)r)���ZquotedZescapedstateZnextchar�resultr,���r,���r-���r:�������s����� zshlex.read_tokenc�������������C���sV���|d�dkr|dd��}t�|�jt�rHtj�|�sHtj�tj�|�j�|�}|t|d�fS�)z(Hook called on a filename to be sourced.r���r ���r�������r) r ���r���r����os�path�isabs�join�dirname�open)r)���r5���r,���r,���r-���r;�����s ����zshlex.sourcehookc�������������C���s(���|dkr|�j�}|dkr|�j}d||f�S�)z<Emit a C-compiler-like, Emacs-friendly error-message leader.Nz"%s", line %d: )r���r���)r)���r���r���r,���r,���r-����error_leader��s ����zshlex.error_leaderc�������������C���s���|�S�)Nr,���)r)���r,���r,���r-����__iter__'��s����zshlex.__iter__c�������������C���s���|�����}||�jkrt�|S�)N)r<���r���� StopIteration)r)���r ���r,���r,���r-����__next__*��s���� zshlex.__next__)NNFF)N)NN)�__name__� __module__�__qualname__�__doc__r.����propertyr*���r3���r6���r9���r<���r:���r;���rR���rS���rU���r,���r,���r,���r-���r������s���� . � FTc�������������C���s$���t�|�|d�}d|_|sd|_t|�S�)z-Split the string *s* using shell-like syntax.)r���Tr���)r���r���r����list)�sZcommentsr���Zlexr,���r,���r-���r���0��s ����z[^\w@%+=:,./-]c�������������C���s,���|�sdS�t�|��dkr|�S�d|��dd��d�S�)z1Return a shell-escaped version of the string *s*.z''N�'z'"'"')�_find_unsafe�replace)r\���r,���r,���r-���r���;��s ����c�������������C���s(���x"|�����}|sP�tdt|����qW�d�S�)NzToken: )r<���r/���r0���)ZlexerZttr,���r,���r-���� _print_tokensG��s ����r`����__main__r���)FT)rY���rL����rer����collectionsr����ior����__all__r���r����compile�ASCII�searchr^���r���r`���rV����len�argv�fnrQ����fr,���r,���r,���r-����<module>���s&��� ��