Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python37/lib64/python3.7/idlelib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

� fS2�@s�dZddlmZddlZddlmZeejejd�Z	eejd�Z
dd�ed�D�Zd	d�ed�D�Z
Gd
d�d�Zedkr�dd
lmZeddd�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�_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��_|
�_|���_�fdd
�tt�j��D��_��|�dS)z;To initialize, analyze the surroundings of the given index.cSstt|��S)N)�int�float)�indexrrr
�
index2line"sz(HyperParser.__init__.<locals>.index2line�z.0z%d.endz 
NrZconsolez1.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)zgSet the index to which the functions relate.

        The index must be in the same statement.
        rz(Index %s precedes the analyzed statementrN)
r!rrrr�
ValueError�indexinrawtext�indexbracketrr")rrr)rrr
r#QszHyperParser.set_indexcCs&|j|jo$|j|j|jddkS)z2Is the index given to the HyperParser in a string?r)�"�')r"r*rr)rrrr
�is_in_stringfszHyperParser.is_in_stringcCs(|j|jp&|j|j|jddkS)z5Is the index given to the HyperParser in normal code?r)�#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)a�Return bracket indexes or None.

        If the index given to the HyperParser is surrounded by a
        bracket defined in openers (or at least has one before it),
        return the indices of the opening bracket and the closing
        bracket (or the end of line, whichever comes first).

        If it is not surrounded by brackets, or the end of line comes
        before the closing bracket and mustclose is True, returns None.
        rrNz%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)z�Given a string and pos, return the number of chars in the
        identifier which ends at pos, or 0 if there is no such one.

        This ignores non-identifier eywords are not identifiers.
        rr��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)z�Return a string with the Python expression which ends at the
        given index, which is empty if there is no real one.
        z?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_phaseZret�levelrrr
�get_expression�sb

"zHyperParser.get_expressionN)r0F)�__name__�
__module__�__qualname__r'r#r-r/r2�	frozensetr=�classmethodrBrDrFrrrr
rs7
,:r�__main__)�mainz"idlelib.idle_test.test_hyperparserr8)�	verbosity)�__doc__�keywordr�stringZidlelibrrJZ
ascii_lettersZdigitsrr
r r9r<rrGZunittestrMrrrr
�<module>s
Name
Size
Permissions
Options
__init__.cpython-37.opt-1.pyc
0.501 KB
-rw-r--r--
__init__.cpython-37.opt-2.pyc
0.147 KB
-rw-r--r--
__init__.cpython-37.pyc
0.501 KB
-rw-r--r--
__main__.cpython-37.opt-1.pyc
0.268 KB
-rw-r--r--
__main__.cpython-37.opt-2.pyc
0.198 KB
-rw-r--r--
__main__.cpython-37.pyc
0.268 KB
-rw-r--r--
autocomplete.cpython-37.opt-1.pyc
6.637 KB
-rw-r--r--
autocomplete.cpython-37.opt-2.pyc
5.271 KB
-rw-r--r--
autocomplete.cpython-37.pyc
6.637 KB
-rw-r--r--
autocomplete_w.cpython-37.opt-1.pyc
10.773 KB
-rw-r--r--
autocomplete_w.cpython-37.opt-2.pyc
10.033 KB
-rw-r--r--
autocomplete_w.cpython-37.pyc
10.83 KB
-rw-r--r--
autoexpand.cpython-37.opt-1.pyc
2.76 KB
-rw-r--r--
autoexpand.cpython-37.opt-2.pyc
2.027 KB
-rw-r--r--
autoexpand.cpython-37.pyc
2.76 KB
-rw-r--r--
browser.cpython-37.opt-1.pyc
9.268 KB
-rw-r--r--
browser.cpython-37.opt-2.pyc
6.663 KB
-rw-r--r--
browser.cpython-37.pyc
9.268 KB
-rw-r--r--
calltip.cpython-37.opt-1.pyc
5.441 KB
-rw-r--r--
calltip.cpython-37.opt-2.pyc
3.858 KB
-rw-r--r--
calltip.cpython-37.pyc
5.441 KB
-rw-r--r--
calltip_w.cpython-37.opt-1.pyc
6.023 KB
-rw-r--r--
calltip_w.cpython-37.opt-2.pyc
5.112 KB
-rw-r--r--
calltip_w.cpython-37.pyc
6.023 KB
-rw-r--r--
codecontext.cpython-37.opt-1.pyc
8.491 KB
-rw-r--r--
codecontext.cpython-37.opt-2.pyc
5.566 KB
-rw-r--r--
codecontext.cpython-37.pyc
8.525 KB
-rw-r--r--
colorizer.cpython-37.opt-1.pyc
10.025 KB
-rw-r--r--
colorizer.cpython-37.opt-2.pyc
7.98 KB
-rw-r--r--
colorizer.cpython-37.pyc
10.025 KB
-rw-r--r--
config.cpython-37.opt-1.pyc
29.172 KB
-rw-r--r--
config.cpython-37.opt-2.pyc
19.484 KB
-rw-r--r--
config.cpython-37.pyc
29.172 KB
-rw-r--r--
config_key.cpython-37.opt-1.pyc
11.073 KB
-rw-r--r--
config_key.cpython-37.opt-2.pyc
9.687 KB
-rw-r--r--
config_key.cpython-37.pyc
11.073 KB
-rw-r--r--
configdialog.cpython-37.opt-1.pyc
76.771 KB
-rw-r--r--
configdialog.cpython-37.opt-2.pyc
47.32 KB
-rw-r--r--
configdialog.cpython-37.pyc
76.771 KB
-rw-r--r--
debugger.cpython-37.opt-1.pyc
13.886 KB
-rw-r--r--
debugger.cpython-37.opt-2.pyc
13.738 KB
-rw-r--r--
debugger.cpython-37.pyc
13.886 KB
-rw-r--r--
debugger_r.cpython-37.opt-1.pyc
13.448 KB
-rw-r--r--
debugger_r.cpython-37.opt-2.pyc
11.113 KB
-rw-r--r--
debugger_r.cpython-37.pyc
13.571 KB
-rw-r--r--
debugobj.cpython-37.opt-1.pyc
5.056 KB
-rw-r--r--
debugobj.cpython-37.opt-2.pyc
5.056 KB
-rw-r--r--
debugobj.cpython-37.pyc
5.056 KB
-rw-r--r--
debugobj_r.cpython-37.opt-1.pyc
1.971 KB
-rw-r--r--
debugobj_r.cpython-37.opt-2.pyc
1.971 KB
-rw-r--r--
debugobj_r.cpython-37.pyc
1.971 KB
-rw-r--r--
delegator.cpython-37.opt-1.pyc
1.25 KB
-rw-r--r--
delegator.cpython-37.opt-2.pyc
1.152 KB
-rw-r--r--
delegator.cpython-37.pyc
1.25 KB
-rw-r--r--
dynoption.cpython-37.opt-1.pyc
2.237 KB
-rw-r--r--
dynoption.cpython-37.opt-2.pyc
1.866 KB
-rw-r--r--
dynoption.cpython-37.pyc
2.237 KB
-rw-r--r--
editor.cpython-37.opt-1.pyc
45.513 KB
-rw-r--r--
editor.cpython-37.opt-2.pyc
43.657 KB
-rw-r--r--
editor.cpython-37.pyc
45.598 KB
-rw-r--r--
filelist.cpython-37.opt-1.pyc
3.297 KB
-rw-r--r--
filelist.cpython-37.opt-2.pyc
3.265 KB
-rw-r--r--
filelist.cpython-37.pyc
3.322 KB
-rw-r--r--
format.cpython-37.opt-1.pyc
13.125 KB
-rw-r--r--
format.cpython-37.opt-2.pyc
9.489 KB
-rw-r--r--
format.cpython-37.pyc
13.125 KB
-rw-r--r--
grep.cpython-37.opt-1.pyc
7.608 KB
-rw-r--r--
grep.cpython-37.opt-2.pyc
4.977 KB
-rw-r--r--
grep.cpython-37.pyc
7.608 KB
-rw-r--r--
help.cpython-37.opt-1.pyc
10.133 KB
-rw-r--r--
help.cpython-37.opt-2.pyc
7.429 KB
-rw-r--r--
help.cpython-37.pyc
10.174 KB
-rw-r--r--
help_about.cpython-37.opt-1.pyc
7.165 KB
-rw-r--r--
help_about.cpython-37.opt-2.pyc
6.069 KB
-rw-r--r--
help_about.cpython-37.pyc
7.165 KB
-rw-r--r--
history.cpython-37.opt-1.pyc
3.314 KB
-rw-r--r--
history.cpython-37.opt-2.pyc
2.118 KB
-rw-r--r--
history.cpython-37.pyc
3.314 KB
-rw-r--r--
hyperparser.cpython-37.opt-1.pyc
6.591 KB
-rw-r--r--
hyperparser.cpython-37.opt-2.pyc
5.314 KB
-rw-r--r--
hyperparser.cpython-37.pyc
6.591 KB
-rw-r--r--
idle.cpython-37.opt-1.pyc
0.331 KB
-rw-r--r--
idle.cpython-37.opt-2.pyc
0.331 KB
-rw-r--r--
idle.cpython-37.pyc
0.331 KB
-rw-r--r--
iomenu.cpython-37.opt-1.pyc
13.457 KB
-rw-r--r--
iomenu.cpython-37.opt-2.pyc
13 KB
-rw-r--r--
iomenu.cpython-37.pyc
13.457 KB
-rw-r--r--
macosx.cpython-37.opt-1.pyc
7.416 KB
-rw-r--r--
macosx.cpython-37.opt-2.pyc
5.285 KB
-rw-r--r--
macosx.cpython-37.pyc
7.416 KB
-rw-r--r--
mainmenu.cpython-37.opt-1.pyc
3.38 KB
-rw-r--r--
mainmenu.cpython-37.opt-2.pyc
2.92 KB
-rw-r--r--
mainmenu.cpython-37.pyc
3.38 KB
-rw-r--r--
multicall.cpython-37.opt-1.pyc
14.587 KB
-rw-r--r--
multicall.cpython-37.opt-2.pyc
12.277 KB
-rw-r--r--
multicall.cpython-37.pyc
14.643 KB
-rw-r--r--
outwin.cpython-37.opt-1.pyc
5.92 KB
-rw-r--r--
outwin.cpython-37.opt-2.pyc
4.275 KB
-rw-r--r--
outwin.cpython-37.pyc
5.92 KB
-rw-r--r--
parenmatch.cpython-37.opt-1.pyc
6.186 KB
-rw-r--r--
parenmatch.cpython-37.opt-2.pyc
4.676 KB
-rw-r--r--
parenmatch.cpython-37.pyc
6.186 KB
-rw-r--r--
pathbrowser.cpython-37.opt-1.pyc
3.655 KB
-rw-r--r--
pathbrowser.cpython-37.opt-2.pyc
3.518 KB
-rw-r--r--
pathbrowser.cpython-37.pyc
3.655 KB
-rw-r--r--
percolator.cpython-37.opt-1.pyc
3.434 KB
-rw-r--r--
percolator.cpython-37.opt-2.pyc
3.434 KB
-rw-r--r--
percolator.cpython-37.pyc
3.568 KB
-rw-r--r--
pyparse.cpython-37.opt-1.pyc
11.366 KB
-rw-r--r--
pyparse.cpython-37.opt-2.pyc
7.871 KB
-rw-r--r--
pyparse.cpython-37.pyc
11.707 KB
-rw-r--r--
pyshell.cpython-37.opt-1.pyc
41.261 KB
-rw-r--r--
pyshell.cpython-37.opt-2.pyc
38.597 KB
-rw-r--r--
pyshell.cpython-37.pyc
41.388 KB
-rw-r--r--
query.cpython-37.opt-1.pyc
12.515 KB
-rw-r--r--
query.cpython-37.opt-2.pyc
9.856 KB
-rw-r--r--
query.cpython-37.pyc
12.515 KB
-rw-r--r--
redirector.cpython-37.opt-1.pyc
6.604 KB
-rw-r--r--
redirector.cpython-37.opt-2.pyc
3.253 KB
-rw-r--r--
redirector.cpython-37.pyc
6.604 KB
-rw-r--r--
replace.cpython-37.opt-1.pyc
9.139 KB
-rw-r--r--
replace.cpython-37.opt-2.pyc
6.363 KB
-rw-r--r--
replace.cpython-37.pyc
9.139 KB
-rw-r--r--
rpc.cpython-37.opt-1.pyc
19.145 KB
-rw-r--r--
rpc.cpython-37.opt-2.pyc
15.682 KB
-rw-r--r--
rpc.cpython-37.pyc
19.229 KB
-rw-r--r--
run.cpython-37.opt-1.pyc
17.263 KB
-rw-r--r--
run.cpython-37.opt-2.pyc
14.846 KB
-rw-r--r--
run.cpython-37.pyc
17.31 KB
-rw-r--r--
runscript.cpython-37.opt-1.pyc
6.904 KB
-rw-r--r--
runscript.cpython-37.opt-2.pyc
5.699 KB
-rw-r--r--
runscript.cpython-37.pyc
6.904 KB
-rw-r--r--
scrolledlist.cpython-37.opt-1.pyc
5.276 KB
-rw-r--r--
scrolledlist.cpython-37.opt-2.pyc
5.276 KB
-rw-r--r--
scrolledlist.cpython-37.pyc
5.276 KB
-rw-r--r--
search.cpython-37.opt-1.pyc
5.792 KB
-rw-r--r--
search.cpython-37.opt-2.pyc
3.358 KB
-rw-r--r--
search.cpython-37.pyc
5.792 KB
-rw-r--r--
searchbase.cpython-37.opt-1.pyc
7.849 KB
-rw-r--r--
searchbase.cpython-37.opt-2.pyc
5.153 KB
-rw-r--r--
searchbase.cpython-37.pyc
7.849 KB
-rw-r--r--
searchengine.cpython-37.opt-1.pyc
6.681 KB
-rw-r--r--
searchengine.cpython-37.opt-2.pyc
5.069 KB
-rw-r--r--
searchengine.cpython-37.pyc
6.681 KB
-rw-r--r--
sidebar.cpython-37.opt-1.pyc
10.729 KB
-rw-r--r--
sidebar.cpython-37.opt-2.pyc
9.315 KB
-rw-r--r--
sidebar.cpython-37.pyc
10.729 KB
-rw-r--r--
squeezer.cpython-37.opt-1.pyc
9.297 KB
-rw-r--r--
squeezer.cpython-37.opt-2.pyc
6.185 KB
-rw-r--r--
squeezer.cpython-37.pyc
9.333 KB
-rw-r--r--
stackviewer.cpython-37.opt-1.pyc
4.936 KB
-rw-r--r--
stackviewer.cpython-37.opt-2.pyc
4.936 KB
-rw-r--r--
stackviewer.cpython-37.pyc
4.936 KB
-rw-r--r--
statusbar.cpython-37.opt-1.pyc
1.903 KB
-rw-r--r--
statusbar.cpython-37.opt-2.pyc
1.903 KB
-rw-r--r--
statusbar.cpython-37.pyc
1.903 KB
-rw-r--r--
textview.cpython-37.opt-1.pyc
6.899 KB
-rw-r--r--
textview.cpython-37.opt-2.pyc
4.794 KB
-rw-r--r--
textview.cpython-37.pyc
6.899 KB
-rw-r--r--
tooltip.cpython-37.opt-1.pyc
6.416 KB
-rw-r--r--
tooltip.cpython-37.opt-2.pyc
4.832 KB
-rw-r--r--
tooltip.cpython-37.pyc
6.416 KB
-rw-r--r--
tree.cpython-37.opt-1.pyc
15.328 KB
-rw-r--r--
tree.cpython-37.opt-2.pyc
14.016 KB
-rw-r--r--
tree.cpython-37.pyc
15.328 KB
-rw-r--r--
undo.cpython-37.opt-1.pyc
10.517 KB
-rw-r--r--
undo.cpython-37.opt-2.pyc
10.517 KB
-rw-r--r--
undo.cpython-37.pyc
10.517 KB
-rw-r--r--
window.cpython-37.opt-1.pyc
3.12 KB
-rw-r--r--
window.cpython-37.opt-2.pyc
3.12 KB
-rw-r--r--
window.cpython-37.pyc
3.12 KB
-rw-r--r--
zoomheight.cpython-37.opt-1.pyc
2.732 KB
-rw-r--r--
zoomheight.cpython-37.opt-2.pyc
2.685 KB
-rw-r--r--
zoomheight.cpython-37.pyc
2.732 KB
-rw-r--r--
zzdummy.cpython-37.opt-1.pyc
1.182 KB
-rw-r--r--
zzdummy.cpython-37.opt-2.pyc
1.115 KB
-rw-r--r--
zzdummy.cpython-37.pyc
1.182 KB
-rw-r--r--