Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/idlelib/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/idlelib/__pycache__/hyperparser.cpython-39.opt-2.pyc

a

��gS2�@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|�tv�qS�)�chr�_ASCII_ID_CHARS��.0�xrr�//usr/local/lib/python3.9/idlelib/hyperparser.py�
<listcomp>�r�cCsg|]}t|�tv�qSr)r�_ASCII_ID_FIRST_CHARSrrrrrr
c@sZeZdZdd�Zdd�Zdd�Zdd�Zddd�Zehd
��Z	e
dd��ZdZdd�Z
dS)�HyperParserc
sH|�_|j�_}t�|j|j�}dd�}||�|��}|js�|jD]`}t	||d�}t
|�d}	d|}
|�|�|	|
�d�|�
|�|	��}|dus�|dkrDq�qD|�|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��selfrrrKs��z(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�parserr�lno�contextZstartatZstartatindexr"Zbod�rrrr�__init__s>
�



�zHyperParser.__init__cCs�t|j�t|j�||j��}|dkr2td|��||_d|_|jt|j�dkr||j|jdd|jkr||jd7_q>|jt|j�dkr�|j|jdd|jkr�|j	|jds�|jd7_dS)Nrz(Index %s precedes the analyzed statementr)
r$r!rrr"�
ValueError�indexinrawtext�indexbracketrr%)rrr-rrrr&Qs&�����zHyperParser.set_indexcCs&|j|jo$|j|j|jddvS)Nr)�"�'�r%r.r!rrrrr�is_in_stringfs
��zHyperParser.is_in_stringcCs(|j|jp&|j|j|jddvS)Nr)�#r/r0r1rrrr�
is_in_codens
��zHyperParser.is_in_code�([{FcCsB|j|jd}|j}|j|rJ|j|j|d|vsJ|j|d|krt|d8}|dkr^dSt||j|d�}q|jd}|t|j�kr�|j|d|kr�|d7}q~|j�d|jt|j�|j|df�}|t|j�ks�|j|dt|j�k�r|�rdS|j}n.|j�d|jt|j�|j|ddf�}||fS)Nrrz%s-%dc)	rr.r%r!�minr$rrr")rZopenersZ	mustcloseZbracketinglevel�beforeZafterZbeforeindexZ
afterindexrrr�get_surrounding_bracketsts>
��
�
����z$HyperParser.get_surrounding_brackets>�True�False�NonecCsVt}|}||krBt||d�dkrB|t||d�rB|d8}q||kr�t||d�dkr�|d|kr�d||d|���r�|d8}q^|d|kr�d||d|���r�|d8}|d|kr�d||d|���r�|d8}|||���s�dSn ||k�rtt||��sdS||k�rNt|||���rN|||�|jv�rNdS||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�s6��
$
$$

��zHyperParser._eat_identifierz 	
\c
Cs�|��std��|j}|j}|j}||d}|j}|}d}||kr`||d|jvr`|d8}q<|s�||kr�||ddkr�|d8}d}q<||kr�|dkr�|||dddkr�|d8}||d}||dd}q<q�q<|s�q�|�|||�}|�r
||}|}d}q<||k�r�||d}	|dk�rL||dd|	k�rL|d8}�q ||d|k�rb�q�||d}|d8}||d}|}||d	v�r�n>||d
v�r�|dk�r�||ddv�r�|d8}�q�|}�q�q<�q�q<|||j�S)Nz?get_expression should only be called if index is inside a code.rTr�.r3r>Fz([z'"ZrRbBuU)r4r,r!rr.r-�_whitespace_charsrH)
rr!rZ
brck_indexZ
brck_limitrGZlast_identifier_posZ
postdot_phase�ret�levelrrr�get_expression�sf
���
 zHyperParser.get_expressionN)r5F)�__name__�
__module__�__qualname__r+r&r2r4r8�	frozensetrC�classmethodrHrJrMrrrrrs7
,
9r�__main__)�mainz"idlelib.idle_test.test_hyperparserr>)�	verbosity)�keywordr�stringZidlelibrrQ�
ascii_letters�digitsrrr#r?rBrrNZunittestrTrrrr�<module>s�

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists