Your IP : 3.143.17.175
3
��2a�N � @ s d dl Z ed�\ZZZZZe jde je j B �j
Ze jde j�jZ
e jde je jB �jZe jde j�jZe jde j�jZe jde j�jZG d d
� d
e�Zejed�d�Zejd
d� dD �� ejdd� dD �� ejdd� dD �� G dd� d�Zedk�rd dlmZ eddd� dS )� N� z�
^
[ \t]*
(?: while
| else
| def
| return
| assert
| break
| class
| continue
| elif
| try
| except
| raise
| import
| yield
)
\b
z'
[ \t]*
(?: \# \S .* )?
\n
aK
\""" [^"\\]* (?:
(?: \\. | "(?!"") )
[^"\\]*
)*
(?: \""" )?
| " [^"\\\n]* (?: \\. [^"\\\n]* )* "?
| ''' [^'\\]* (?:
(?: \\. | '(?!'') )
[^'\\]*
)*
(?: ''' )?
| ' [^'\\\n]* (?: \\. [^'\\\n]* )* '?
zM
[ \t]*
[^\s#\\] # if we match, m.end()-1 is the interesting char
z_
\s*
(?: return
| break
| continue
| raise
| pass
)
\b
z
[^[\](){}#'"\\]+
c @ s e Zd Zdd� ZdS )�ParseMapc C s dS )N�x � )�self�keyr r �,/opt/alt/python36/lib64/python3.6/pyparse.py�__missing__r s zParseMap.__missing__N)�__name__�
__module__�__qualname__r r r r r r f s r � r c c s | ]}t |�t d �fV qdS )�(N)�ord)�.0�cr r r � <genexpr>x s r z({[c c s | ]}t |�t d �fV qdS )�)N)r )r r r r r r y s z)}]c c s | ]}t |�t |�fV qd S )N)r )r r r r r r z s z"'\
#c @ s� e Zd Zdd� Zdd� Zdefdd�Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� ZdS )�Parserc C s || _ || _d S )N)�indentwidth�tabwidth)r r r r r r �__init__ s zParser.__init__c C s || _ d| _d S )Nr )�code�study_level)r �sr r r �set_code� s zParser.set_codeNc
C s� | j d }}|sd S t|�}xftd�D ]Z}|jdd|�}|dk rBP |jdd|�d }||||�}|r|||j� � r||j� }P |}q&W |d kr�||�}|r�||j� � r�|j� }|S |d }x.|||�}|r�|j� \} }|| �s�| }q�P q�W |S )Nr z:
r �
� )r �len�range�rfind�start�span)
r Zis_char_in_string�_synchrer �pos�limitZtries�i�mr r r r �find_good_parse_start� s8
zParser.find_good_parse_startc C s |dkr| j |d � | _ d S )Nr )r )r �lor r r �set_lo� s z
Parser.set_loc
C s� | j dkrd S d| _ | j}|jt�}|jdd�}|jdd�}|jdd�}|jdd�}|jdd�}t}d }}dg | _}|j}dt|� }}�x�||k �rn|| } |d }| dkr�q�| dkr�|d }|dkr�||� q�| d kr�|d }q�| d
k�r |r�|d }q�| dk�s| dk�r$| }
||d |d
� |
d k�r>|
d }
|}t|
�d }|| }x�||k �r|| } |d }| dk�r��qX||d || � |
k�r�|| }P | dk�r�|d }|dk�rX|dk�r�||� P �qX| dk�rX|| dk�r�|d }|d }�qX�qXW |d |k�rt }q�t
}q�| dk�r<|jd|�}q�|| dk�rd|d }|d |k�rdt}|d }q�W |t k�r�|t
k�r�|dk�r�t
}|| _|d |k�r�||� d S )Nr Zxxxxxxxx�xZxxxxZxxz
xr r r r �"�'� � �\�#���)r r � translate�trans�replace�C_NONE� goodlines�appendr �C_STRING_FIRST_LINE�C_STRING_NEXT_LINES�find�C_BACKSLASH� C_BRACKET�continuation)
r r r>