Hacked By AnonymousFox

Current Path : /opt/alt/python37/lib64/python3.7/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/idlelib/__pycache__/hyperparser.cpython-37.opt-2.pyc

B

YI~dS2�@s�ddlmZddlZddlmZeejejd�Zeejd�Z	dd�e
d�D�Zdd�e
d�D�ZGd	d
�d
�Z
edkr�ddlmZed
dd�dS)�)�	iskeywordN)�pyparse�_cCsg|]}t|�tk�qS�)�chr�_ASCII_ID_CHARS)�.0�xrr�8/opt/alt/python37/lib64/python3.7/idlelib/hyperparser.py�
<listcomp>sr�cCsg|]}t|�tk�qSr)r�_ASCII_ID_FIRST_CHARS)rr	rrr
rsc@s\eZdZdd�Zdd�Zdd�Zdd�Zddd�Zed
ddh�Z	e
dd��ZdZdd�Z
dS)�HyperParserc
sJ|�_|j�_}t�|j|j�}dd�}||�|��}|js�xh|jD]^}t	||d�}t
|�d}	d|}
|�|�|	|
�d�|�
|�|	��}|dk	s�|dkrFPqFW|�|p�d�nF|�d|�}|r�|d}	nd	}	d|}
|�|�|	|
�d�|�d�|jdd
��_|
�_|���_�fdd�tt�j��D��_��|�dS)
NcSstt|��S)N)�int�float)�indexrrr
�
index2line"sz(HyperParser.__init__.<locals>.index2line�z.0z%d.endz 
rZconsolez1.0���cs4g|],}|dko.�j|d�j|ddk�qS)rr)�
bracketing)r�i)�selfrr
rKsz(HyperParser.__init__.<locals>.<listcomp>)�editwin�textrZParserZindentwidthZtabwidthrZprompt_last_lineZnum_context_lines�max�reprZset_code�getZfind_good_parse_startZ_build_char_in_string_funcZset_loZ
tag_prevrange�code�rawtext�stopatindexZget_last_stmt_bracketingr�range�len�isopener�	set_index)
rrrr�parserrZlno�contextZstartatZstartatindexrZbod�rr)rr
�__init__s:



zHyperParser.__init__cCs�t|j�t|j�||j��}|dkr2td|��||_d|_x@|jt|j�dkr~|j|jdd|jkr~|jd7_q@W|jt|j�dkr�|j|jdd|jkr�|j	|jds�|jd7_dS)Nrz(Index %s precedes the analyzed statementr)
r!rrrr�
ValueError�indexinrawtext�indexbracketrr")rrr)rrr
r#QszHyperParser.set_indexcCs&|j|jo$|j|j|jddkS)Nr)�"�')r"r*rr)rrrr
�is_in_stringfszHyperParser.is_in_stringcCs(|j|jp&|j|j|jddkS)Nr)�#r+r,)r"r*rr)rrrr
�
is_in_codenszHyperParser.is_in_code�([{FcCsL|j|jd}|j}x`|j|rL|j|j|d|ksL|j|d|krv|d8}|dkr`dSt||j|d�}qW|jd}x,|t|j�kr�|j|d|kr�|d7}q�W|j�d|jt|j�|j|df�}|t|j�k�s|j|dt|j�k�r|�rdS|j}n.|j�d|jt|j�|j|ddf�}||fS)Nrrz%s-%dc)	rr*r"r�minr!rrr)rZopenersZ	mustcloseZbracketinglevelZbeforeZafterZbeforeindexZ
afterindexrrr
�get_surrounding_bracketsts0
""z$HyperParser.get_surrounding_brackets�True�False�NonecCsdt}|}x<||krDt||d�dkrD|t||d�rD|d8}q
W||k�rt||d�dk�rx0|d|kr�d||d|���r�|d8}qhW|d|kr�d||d|���r�|d8}|d|kr�d||d|���r�|d8}|||����s(dSn ||k�r(tt||��s(dS||k�r\t|||���r\|||�|jk�r\dS||S)Nrr��a�r)�_IS_ASCII_ID_CHAR�ord�isidentifier�_IS_ASCII_ID_FIRST_CHARr�_ID_KEYWORDS)�cls�str�limit�posZis_ascii_id_charrrrr
�_eat_identifier�s.
 &$$

zHyperParser._eat_identifierz 	
\c
Cs�|��std��|j}|j}|j}||d}|j}|}d}�x�x�||krf||d|jkrf|d8}qB|s�||kr�||ddkr�|d8}d}qB||kr�|dkr�|||dddkr�|d8}||d}||dd}qBPqBW|s�P|�|||�}|�r||}|}d}q@||k�r�||d}	x.|dk�rT||dd|	k�rT|d8}�q(W||d|k�rjP||d}|d8}||d}|}||d	k�r�n@||d
k�r�x*|dk�r�||ddk�r�|d8}�q�W|}Pq@Pq@W|||j�S)Nz?get_expression should only be called if index is inside a code.rTr�.r.r8Fz([z'"ZrRbBuU)r/r(rrr*r)�_whitespace_charsrB)
rrrZ
brck_indexZ
brck_limitrAZlast_identifier_posZ
postdot_phase�ret�levelrrr
�get_expression�sb

"zHyperParser.get_expressionN)r0F)�__name__�
__module__�__qualname__r'r#r-r/r2�	frozensetr=�classmethodrBrDrGrrrr
rs7
,:r�__main__)�mainz"idlelib.idle_test.test_hyperparserr8)�	verbosity)�keywordr�stringZidlelibrrKZ
ascii_letters�digitsrr
r r9r<rrHZunittestrNrrrr
�<module>s

Hacked By AnonymousFox1.0, Coded By AnonymousFox