𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/alt/python36/lib64/python3.6/idlelib/__pycache__//hyperparser.cpython-36.pyc
3
� fR2 � @ s� d Z ddlmZ ddlZddlmZ eejej d �Z eejd �Z
dd� ed�D �Zd d� ed�D �Z
G d
d� d�Zedkr�dd
lmZ eddd� dS )z�Provide advanced parsing abilities for ParenMatch and other extensions.
HyperParser uses PyParser. PyParser mostly gives information on the
proper indentation of code. HyperParser gives additional information on
the structure of code.
� )� iskeywordN)�pyparse�_c C s g | ]}t |�tk�qS � )�chr�_ASCII_ID_CHARS)�.0�xr r �8/opt/alt/python36/lib64/python3.6/idlelib/hyperparser.py�
<listcomp> s r � c C s g | ]}t |�tk�qS r )r �_ASCII_ID_FIRST_CHARS)r r r r r
r s c @ s\ e Zd Zdd� Zdd� Zdd� Zdd� Zddd�Zed
ddh�Z e
dd� �ZdZdd� Z
dS )�HyperParserc
sJ |� _ |j � _}tj|j|j�}dd� }||j|��}|js�xh|jD ]^}t || d�}t
|�d } d| }
|j|j| |
�d � |j
|j| ��}|dk s�|dkrFP qFW |j|p�d� nF|jd |�}|r�|d } nd
} d| }
|j|j| |
�d � |jd� |jdd� � _|
� _|j� � _� fdd
�tt� j��D �� _� j|� dS )z;To initialize, analyze the surroundings of the given index.c S s t t| ��S )N)�int�float)�indexr r r
�
index2line"