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/python35/lib64/python3.5/idlelib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python35/lib64/python3.5/idlelib/__pycache__/HyperParser.cpython-35.pyc


��YfM2�@s�dZddlZddlmZddlmZeejejd�Z	eejd�Z
dd�ed�D�Zd	d�ed�D�Z
Gd
d�d�Zedkr�ddlZejd
dd�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.
�N)�	iskeyword)�PyParse�_cCs"g|]}t|�tk�qS�)�chr�_ASCII_ID_CHARS)�.0�xrr�8/opt/alt/python35/lib64/python3.5/idlelib/HyperParser.py�
<listcomp>s	r�cCs"g|]}t|�tk�qSr)r�_ASCII_ID_FIRST_CHARS)rr	rrr
rs	c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
dd�Zed
ddh�Z	e
dd��ZdZdd�Z
dS)�HyperParserc
s�|�_|j�_}tj|j|j�}dd�}||j|��}|jsx�|jD]�}t	||d�}t
|�d}	d|}
|j|j|	|
�d�|j
|j|	��}|dk	s�|dkrePqeW|j|p�d�n_|jd	|�}|r%|d}	nd
}	d|}
|j|j|	|
�d�|jd�|jdd��_|
�_|j��_�fdd
�tt�j��D��_�j|�dS)z;To initialize, analyze the surroundings of the given index.cSstt|��S)N)�int�float)�indexrrr
�
index2line#sz(HyperParser.__init__.<locals>.index2line�z.0z%d.endz 
NrZconsolez1.0�csBg|]8}|dko;�j|d�j|ddk�qS)rr)�
bracketing)r�i)�selfrr
rLs	z(HyperParser.__init__.<locals>.<listcomp>���)�editwin�textrZParserZindentwidthZtabwidthrZcontext_use_ps1Znum_context_lines�max�reprZset_str�getZfind_good_parse_startZ_build_char_in_string_funcZset_loZ
tag_prevrange�str�rawtext�stopatindexZget_last_stmt_bracketingr�range�len�isopener�	set_index)
rrrr�parserrZlno�contextZstartatZstartatindexr Zbod�rr)rr
�__init__s:		



	zHyperParser.__init__cCst|j�t|jj||j��}|dkrGtd|��||_d|_xP|jt|j�dkr�|j|jdd|jkr�|jd7_q\W|jt|j�dkr
|j|jdd|jkr
|j	|jdr
|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$Rs
		!!zHyperParser.set_indexcCs/|j|jo.|j|j|jddkS)z2Is the index given to the HyperParser in a string?r�"�')r,r-)r#r+rr)rrrr
�is_in_stringgszHyperParser.is_in_stringcCs0|j|jp/|j|j|jddkS)z5Is the index given to the HyperParser in normal code?r�#r,r-)r/r,r-)r#r+rr)rrrr
�
is_in_codeoszHyperParser.is_in_codez([{FcCs�|j|jd}|j}x{|j|sc|j|j|d|ksc|j|d|kr�|d8}|dkr}dSt||j|d�}q W|jd}x:|t|j�kr�|j|d|kr�|d7}q�W|jjd|jt|j�|j|df�}|t|j�ksQ|j|dt|j�krg|r[dS|j}n;|jjd|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	mustcloseZbracketinglevelZbefore�afterZbeforeindexZ
afterindexrrr
�get_surrounding_bracketsus0	

+ 		)z$HyperParser.get_surrounding_brackets�True�False�NonecCs�t}|}xL||krZt||d�dkrZ|t||d�rZ|d8}qW||krMt||d�dkrMx<|d|kr�d||d|�j�r�|d8}q�W|d|kr�d||d|�j�r�|d8}|d|kr0d||d|�j�r0|d8}|||�j�sqdSn$||krqtt||�sqdS||kr�t|||��r�|||�|jkr�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��arr)�_IS_ASCII_ID_CHAR�ord�isidentifier�_IS_ASCII_ID_FIRST_CHARr�_ID_KEYWORDS)�clsr�limit�posZis_ascii_id_charrrrr
�_eat_identifier�s.&1.
.
zHyperParser._eat_identifierz 	
\c
Csk|j�std��|j}|j}|j}||d}|j}|}d}xx�||kr�||d|jkr�|d8}q\|r�||kr�||ddkr�|d8}d}q\||kr'|dkr'|||dddkr'|d8}||d}||dd}q\Pq\W|s3P|j|||�}|rg||}|}d}qY||krU||d}	x2|dkr�||dd|	kr�|d8}q�W||d|kr�P||d}|d8}||d}|}||d	kr
qV||d
krQx.|dkrJ||ddkrJ|d8}qW|}PqYPqYW|||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 calledif index is inside a code.rTr�.r/rFz([z'"ZrRbBuU)r0r)rrr+r*�_whitespace_charsrA)
rrrZ
brck_indexZ
brck_limitr@Zlast_identifier_posZ
postdot_phaseZret�levelrrr
�get_expression�sb				#
 
	

	'
#zHyperParser.get_expressionN)�__name__�
__module__�__qualname__r(r$r.r0r3�	frozensetr=�classmethodrArCrErrrr
rs7,:r�__main__z"idlelib.idle_test.test_hyperparser�	verbosityr)�__doc__�string�keywordrZidlelibrrIZ
ascii_lettersZdigitsrr
r!r9r<rrFZunittest�mainrrrr
�<module>s�
Name
Size
Permissions
Options
AutoComplete.cpython-35.opt-1.pyc
7.507 KB
-rw-r--r--
AutoComplete.cpython-35.opt-2.pyc
5.846 KB
-rw-r--r--
AutoComplete.cpython-35.pyc
7.507 KB
-rw-r--r--
AutoCompleteWindow.cpython-35.opt-1.pyc
11.193 KB
-rw-r--r--
AutoCompleteWindow.cpython-35.opt-2.pyc
10.457 KB
-rw-r--r--
AutoCompleteWindow.cpython-35.pyc
11.248 KB
-rw-r--r--
AutoExpand.cpython-35.opt-1.pyc
3.094 KB
-rw-r--r--
AutoExpand.cpython-35.opt-2.pyc
2.322 KB
-rw-r--r--
AutoExpand.cpython-35.pyc
3.094 KB
-rw-r--r--
Bindings.cpython-35.opt-1.pyc
3.149 KB
-rw-r--r--
Bindings.cpython-35.opt-2.pyc
2.68 KB
-rw-r--r--
Bindings.cpython-35.pyc
3.149 KB
-rw-r--r--
CallTipWindow.cpython-35.opt-1.pyc
5.235 KB
-rw-r--r--
CallTipWindow.cpython-35.opt-2.pyc
4.942 KB
-rw-r--r--
CallTipWindow.cpython-35.pyc
5.235 KB
-rw-r--r--
CallTips.cpython-35.opt-1.pyc
5.782 KB
-rw-r--r--
CallTips.cpython-35.opt-2.pyc
4.179 KB
-rw-r--r--
CallTips.cpython-35.pyc
5.782 KB
-rw-r--r--
ClassBrowser.cpython-35.opt-1.pyc
8.354 KB
-rw-r--r--
ClassBrowser.cpython-35.opt-2.pyc
7.873 KB
-rw-r--r--
ClassBrowser.cpython-35.pyc
8.354 KB
-rw-r--r--
CodeContext.cpython-35.opt-1.pyc
5.982 KB
-rw-r--r--
CodeContext.cpython-35.opt-2.pyc
4.873 KB
-rw-r--r--
CodeContext.cpython-35.pyc
6.022 KB
-rw-r--r--
ColorDelegator.cpython-35.opt-1.pyc
8.366 KB
-rw-r--r--
ColorDelegator.cpython-35.opt-2.pyc
8.207 KB
-rw-r--r--
ColorDelegator.cpython-35.pyc
8.366 KB
-rw-r--r--
Debugger.cpython-35.opt-1.pyc
15.211 KB
-rw-r--r--
Debugger.cpython-35.opt-2.pyc
15.056 KB
-rw-r--r--
Debugger.cpython-35.pyc
15.211 KB
-rw-r--r--
Delegator.cpython-35.opt-1.pyc
1.313 KB
-rw-r--r--
Delegator.cpython-35.opt-2.pyc
1.207 KB
-rw-r--r--
Delegator.cpython-35.pyc
1.313 KB
-rw-r--r--
EditorWindow.cpython-35.opt-1.pyc
50.805 KB
-rw-r--r--
EditorWindow.cpython-35.opt-2.pyc
49.552 KB
-rw-r--r--
EditorWindow.cpython-35.pyc
50.898 KB
-rw-r--r--
FileList.cpython-35.opt-1.pyc
3.496 KB
-rw-r--r--
FileList.cpython-35.opt-2.pyc
3.488 KB
-rw-r--r--
FileList.cpython-35.pyc
3.525 KB
-rw-r--r--
FormatParagraph.cpython-35.opt-1.pyc
6.206 KB
-rw-r--r--
FormatParagraph.cpython-35.opt-2.pyc
4.36 KB
-rw-r--r--
FormatParagraph.cpython-35.pyc
6.206 KB
-rw-r--r--
GrepDialog.cpython-35.opt-1.pyc
5.509 KB
-rw-r--r--
GrepDialog.cpython-35.opt-2.pyc
5.501 KB
-rw-r--r--
GrepDialog.cpython-35.pyc
5.509 KB
-rw-r--r--
HyperParser.cpython-35.opt-1.pyc
7.227 KB
-rw-r--r--
HyperParser.cpython-35.opt-2.pyc
5.94 KB
-rw-r--r--
HyperParser.cpython-35.pyc
7.227 KB
-rw-r--r--
IOBinding.cpython-35.opt-1.pyc
14.816 KB
-rw-r--r--
IOBinding.cpython-35.opt-2.pyc
14.398 KB
-rw-r--r--
IOBinding.cpython-35.pyc
14.816 KB
-rw-r--r--
IdleHistory.cpython-35.opt-1.pyc
3.593 KB
-rw-r--r--
IdleHistory.cpython-35.opt-2.pyc
2.385 KB
-rw-r--r--
IdleHistory.cpython-35.pyc
3.593 KB
-rw-r--r--
MultiCall.cpython-35.opt-1.pyc
16.089 KB
-rw-r--r--
MultiCall.cpython-35.opt-2.pyc
13.77 KB
-rw-r--r--
MultiCall.cpython-35.pyc
16.152 KB
-rw-r--r--
MultiStatusBar.cpython-35.opt-1.pyc
1.89 KB
-rw-r--r--
MultiStatusBar.cpython-35.opt-2.pyc
1.882 KB
-rw-r--r--
MultiStatusBar.cpython-35.pyc
1.89 KB
-rw-r--r--
ObjectBrowser.cpython-35.opt-1.pyc
5.383 KB
-rw-r--r--
ObjectBrowser.cpython-35.opt-2.pyc
5.375 KB
-rw-r--r--
ObjectBrowser.cpython-35.pyc
5.383 KB
-rw-r--r--
OutputWindow.cpython-35.opt-1.pyc
4.417 KB
-rw-r--r--
OutputWindow.cpython-35.opt-2.pyc
4.238 KB
-rw-r--r--
OutputWindow.cpython-35.pyc
4.417 KB
-rw-r--r--
ParenMatch.cpython-35.opt-1.pyc
6.299 KB
-rw-r--r--
ParenMatch.cpython-35.opt-2.pyc
4.897 KB
-rw-r--r--
ParenMatch.cpython-35.pyc
6.299 KB
-rw-r--r--
PathBrowser.cpython-35.opt-1.pyc
4.01 KB
-rw-r--r--
PathBrowser.cpython-35.opt-2.pyc
3.864 KB
-rw-r--r--
PathBrowser.cpython-35.pyc
4.01 KB
-rw-r--r--
Percolator.cpython-35.opt-1.pyc
3.819 KB
-rw-r--r--
Percolator.cpython-35.opt-2.pyc
3.812 KB
-rw-r--r--
Percolator.cpython-35.pyc
3.988 KB
-rw-r--r--
PyParse.cpython-35.opt-1.pyc
10.71 KB
-rw-r--r--
PyParse.cpython-35.opt-2.pyc
9.849 KB
-rw-r--r--
PyParse.cpython-35.pyc
11.142 KB
-rw-r--r--
PyShell.cpython-35.opt-1.pyc
46.996 KB
-rw-r--r--
PyShell.cpython-35.opt-2.pyc
44.468 KB
-rw-r--r--
PyShell.cpython-35.pyc
47.132 KB
-rw-r--r--
RemoteDebugger.cpython-35.opt-1.pyc
14.17 KB
-rw-r--r--
RemoteDebugger.cpython-35.opt-2.pyc
11.825 KB
-rw-r--r--
RemoteDebugger.cpython-35.pyc
14.309 KB
-rw-r--r--
RemoteObjectBrowser.cpython-35.opt-1.pyc
1.962 KB
-rw-r--r--
RemoteObjectBrowser.cpython-35.opt-2.pyc
1.954 KB
-rw-r--r--
RemoteObjectBrowser.cpython-35.pyc
1.962 KB
-rw-r--r--
ReplaceDialog.cpython-35.opt-1.pyc
7.466 KB
-rw-r--r--
ReplaceDialog.cpython-35.opt-2.pyc
6.798 KB
-rw-r--r--
ReplaceDialog.cpython-35.pyc
7.466 KB
-rw-r--r--
RstripExtension.cpython-35.opt-1.pyc
1.321 KB
-rw-r--r--
RstripExtension.cpython-35.opt-2.pyc
1.235 KB
-rw-r--r--
RstripExtension.cpython-35.pyc
1.321 KB
-rw-r--r--
ScriptBinding.cpython-35.opt-1.pyc
6.9 KB
-rw-r--r--
ScriptBinding.cpython-35.opt-2.pyc
5.542 KB
-rw-r--r--
ScriptBinding.cpython-35.pyc
6.9 KB
-rw-r--r--
ScrolledList.cpython-35.opt-1.pyc
5.624 KB
-rw-r--r--
ScrolledList.cpython-35.opt-2.pyc
5.616 KB
-rw-r--r--
ScrolledList.cpython-35.pyc
5.624 KB
-rw-r--r--
SearchDialog.cpython-35.opt-1.pyc
3.693 KB
-rw-r--r--
SearchDialog.cpython-35.opt-2.pyc
3.439 KB
-rw-r--r--
SearchDialog.cpython-35.pyc
3.693 KB
-rw-r--r--
SearchDialogBase.cpython-35.opt-1.pyc
7.515 KB
-rw-r--r--
SearchDialogBase.cpython-35.opt-2.pyc
4.87 KB
-rw-r--r--
SearchDialogBase.cpython-35.pyc
7.515 KB
-rw-r--r--
SearchEngine.cpython-35.opt-1.pyc
7.239 KB
-rw-r--r--
SearchEngine.cpython-35.opt-2.pyc
5.616 KB
-rw-r--r--
SearchEngine.cpython-35.pyc
7.239 KB
-rw-r--r--
StackViewer.cpython-35.opt-1.pyc
5.461 KB
-rw-r--r--
StackViewer.cpython-35.opt-2.pyc
5.453 KB
-rw-r--r--
StackViewer.cpython-35.pyc
5.461 KB
-rw-r--r--
ToolTip.cpython-35.opt-1.pyc
3.948 KB
-rw-r--r--
ToolTip.cpython-35.opt-2.pyc
3.94 KB
-rw-r--r--
ToolTip.cpython-35.pyc
3.948 KB
-rw-r--r--
TreeWidget.cpython-35.opt-1.pyc
15.252 KB
-rw-r--r--
TreeWidget.cpython-35.opt-2.pyc
14.485 KB
-rw-r--r--
TreeWidget.cpython-35.pyc
15.252 KB
-rw-r--r--
UndoDelegator.cpython-35.opt-1.pyc
11.612 KB
-rw-r--r--
UndoDelegator.cpython-35.opt-2.pyc
11.604 KB
-rw-r--r--
UndoDelegator.cpython-35.pyc
11.612 KB
-rw-r--r--
WidgetRedirector.cpython-35.opt-1.pyc
6.953 KB
-rw-r--r--
WidgetRedirector.cpython-35.opt-2.pyc
3.585 KB
-rw-r--r--
WidgetRedirector.cpython-35.pyc
6.953 KB
-rw-r--r--
WindowList.cpython-35.opt-1.pyc
3.155 KB
-rw-r--r--
WindowList.cpython-35.opt-2.pyc
3.147 KB
-rw-r--r--
WindowList.cpython-35.pyc
3.155 KB
-rw-r--r--
ZoomHeight.cpython-35.opt-1.pyc
1.369 KB
-rw-r--r--
ZoomHeight.cpython-35.opt-2.pyc
1.361 KB
-rw-r--r--
ZoomHeight.cpython-35.pyc
1.369 KB
-rw-r--r--
__init__.cpython-35.opt-1.pyc
0.441 KB
-rw-r--r--
__init__.cpython-35.opt-2.pyc
0.138 KB
-rw-r--r--
__init__.cpython-35.pyc
0.441 KB
-rw-r--r--
__main__.cpython-35.opt-1.pyc
0.272 KB
-rw-r--r--
__main__.cpython-35.opt-2.pyc
0.193 KB
-rw-r--r--
__main__.cpython-35.pyc
0.272 KB
-rw-r--r--
aboutDialog.cpython-35.opt-1.pyc
5.935 KB
-rw-r--r--
aboutDialog.cpython-35.opt-2.pyc
5.768 KB
-rw-r--r--
aboutDialog.cpython-35.pyc
5.935 KB
-rw-r--r--
configDialog.cpython-35.opt-1.pyc
48.173 KB
-rw-r--r--
configDialog.cpython-35.opt-2.pyc
45.484 KB
-rw-r--r--
configDialog.cpython-35.pyc
48.173 KB
-rw-r--r--
configHandler.cpython-35.opt-1.pyc
26.252 KB
-rw-r--r--
configHandler.cpython-35.opt-2.pyc
18.241 KB
-rw-r--r--
configHandler.cpython-35.pyc
26.252 KB
-rw-r--r--
configHelpSourceEdit.cpython-35.opt-1.pyc
5.767 KB
-rw-r--r--
configHelpSourceEdit.cpython-35.opt-2.pyc
5.271 KB
-rw-r--r--
configHelpSourceEdit.cpython-35.pyc
5.767 KB
-rw-r--r--
configSectionNameDialog.cpython-35.opt-1.pyc
3.84 KB
-rw-r--r--
configSectionNameDialog.cpython-35.opt-2.pyc
3.217 KB
-rw-r--r--
configSectionNameDialog.cpython-35.pyc
3.84 KB
-rw-r--r--
dynOptionMenuWidget.cpython-35.opt-1.pyc
2.371 KB
-rw-r--r--
dynOptionMenuWidget.cpython-35.opt-2.pyc
1.988 KB
-rw-r--r--
dynOptionMenuWidget.cpython-35.pyc
2.371 KB
-rw-r--r--
help.cpython-35.opt-1.pyc
10.723 KB
-rw-r--r--
help.cpython-35.opt-2.pyc
8.036 KB
-rw-r--r--
help.cpython-35.pyc
10.723 KB
-rw-r--r--
idle.cpython-35.opt-1.pyc
0.363 KB
-rw-r--r--
idle.cpython-35.opt-2.pyc
0.355 KB
-rw-r--r--
idle.cpython-35.pyc
0.363 KB
-rw-r--r--
idlever.cpython-35.opt-1.pyc
0.538 KB
-rw-r--r--
idlever.cpython-35.opt-2.pyc
0.313 KB
-rw-r--r--
idlever.cpython-35.pyc
0.538 KB
-rw-r--r--
keybindingDialog.cpython-35.opt-1.pyc
10.706 KB
-rw-r--r--
keybindingDialog.cpython-35.opt-2.pyc
9.769 KB
-rw-r--r--
keybindingDialog.cpython-35.pyc
10.706 KB
-rw-r--r--
macosxSupport.cpython-35.opt-1.pyc
7.002 KB
-rw-r--r--
macosxSupport.cpython-35.opt-2.pyc
5.132 KB
-rw-r--r--
macosxSupport.cpython-35.pyc
7.114 KB
-rw-r--r--
rpc.cpython-35.opt-1.pyc
20.345 KB
-rw-r--r--
rpc.cpython-35.opt-2.pyc
17.025 KB
-rw-r--r--
rpc.cpython-35.pyc
20.445 KB
-rw-r--r--
run.cpython-35.opt-1.pyc
12.443 KB
-rw-r--r--
run.cpython-35.opt-2.pyc
10.561 KB
-rw-r--r--
run.cpython-35.pyc
12.492 KB
-rw-r--r--
tabbedpages.cpython-35.opt-1.pyc
16.676 KB
-rw-r--r--
tabbedpages.cpython-35.opt-2.pyc
11.787 KB
-rw-r--r--
tabbedpages.cpython-35.pyc
16.676 KB
-rw-r--r--
textView.cpython-35.opt-1.pyc
3.382 KB
-rw-r--r--
textView.cpython-35.opt-2.pyc
2.945 KB
-rw-r--r--
textView.cpython-35.pyc
3.382 KB
-rw-r--r--