Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/idlelib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/idlelib/__pycache__/pyparse.cpython-38.opt-2.pyc
U

@��g�M�@sddlZed�\ZZZZZe�dejej	B�j
Ze�dej�jZ
e�dejejB�jZe�dej�jZe�dej�jZe�dej�jZGd	d
�d
e�Ze�ed�d�Ze�d
d�dD��e�dd�dD��e�dd�dD��Gdd�d�Zedk�rddlmZeddd�dS)�N�z�
    ^
    [ \t]*
    (?: while
    |   else
    |   def
    |   return
    |   assert
    |   break
    |   class
    |   continue
    |   elif
    |   try
    |   except
    |   raise
    |   import
    |   yield
    )
    \b
z'
    [ \t]*
    (?: \# \S .* )?
    \n
aK
    \""" [^"\\]* (?:
                     (?: \\. | "(?!"") )
                     [^"\\]*
                 )*
    (?: \""" )?

|   " [^"\\\n]* (?: \\. [^"\\\n]* )* "?

|   ''' [^'\\]* (?:
                   (?: \\. | '(?!'') )
                   [^'\\]*
                )*
    (?: ''' )?

|   ' [^'\\\n]* (?: \\. [^'\\\n]* )* '?
zM
    [ \t]*
    [^\s#\\]    # if we match, m.end()-1 is the interesting char
z_
    \s*
    (?: return
    |   break
    |   continue
    |   raise
    |   pass
    )
    \b
z
    [^[\](){}#'"\\]+
c@seZdZdd�ZdS)�ParseMapcCsdS)N�x�)�self�keyrr�./opt/cppython/lib/python3.8/idlelib/pyparse.py�__missing__rszParseMap.__missing__N)�__name__�
__module__�__qualname__r	rrrrrfsr�rccs|]}t|�td�fVqdS)�(N��ord��.0�crrr�	<genexpr>xsrz({[ccs|]}t|�td�fVqdS)�)Nrrrrrrysz)}]ccs|]}t|�t|�fVqdS�Nrrrrrrzsz"'\
#c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�ParsercCs||_||_dSr)�indentwidth�tabwidth)rrrrrr�__init__szParser.__init__cCs||_d|_dS�Nr)�code�study_level)r�srrr�set_code�szParser.set_codec	Cs�|jd}}t|�}td�D]\}|�dd|�}|dkr:qz|�dd|�d}t|||�}|rt||���st|��}qz|}q|dkr�t|�}|r�||���s�|��}|S|d}t||�}|r�|��\}}||�s�|}q�q�q�|S)Nrz:
r�
�)r�len�range�rfind�_synchre�start�span)	rZis_char_in_stringr�pos�limitZtries�i�mrrrr�find_good_parse_start�s2
	
zParser.find_good_parse_startcCs|dkr|j|d�|_dSr)r)r�lorrr�set_lo�sz
Parser.set_loc
Cs�|jdkrdSd|_|j}|�t�}|�dd�}|�dd�}|�dd�}|�dd�}|�dd�}t}d}}dg|_}|j}dt|�}}||k�rd||}	|d}|	dkr�q�|	dkr�|d}|dkr�||�q�|	d	kr�|d}q�|	d
kr�|r�|d}q�|	dk�s|	dk�r|	}
||d|d
�|
dk�r8|
d}
|}t|
�d}||}||k�r||}	|d}|	dk�rx�qP||d||�|
k�r�||}q�|	dk�r�|d}|dk�rP|dk�r||�q��qP|	dk�rP||dk�r�|d}|d}�qP�qP|d|k�rt	}q�t
}q�|	dk�r2|�d|�}q�||dk�rZ|d}|d|k�rZt}|d}q�|t	k�r�|t
k�r�|dk�r�t
}||_|d|k�r�||�dS)Nr!Zxxxxxxxx�xZxxxxZxxz
xr rrr�"�'���\�#���)rr�	translate�trans�replace�C_NONE�	goodlines�appendr"�C_STRING_FIRST_LINE�C_STRING_NEXT_LINES�find�C_BACKSLASH�	C_BRACKET�continuation)
rrrB�level�lnor;Z	push_goodr*�n�ch�quoteZfirstlno�wrrr�_study1�s�











��zParser._study1cCs|��|jSr)rIrB�rrrr�get_continuation_typeOszParser.get_continuation_typecCs�|jdkrdS|��d|_|j|j}}t|�d}t|�}|r�|}t||d||�D]}|�dd|d�d}q\t||�r�|d}q>q�q>|dkr�|}|||_|_	d}g}|j
}	|dfg}
||k�rht|||�}|�r4|��}|d}||k�r||dk�r|d}q�||k�r"||}|}||k�r4�qh||}
|
dk�rn|	|�|
�
|t|�f�|
}|d}q�|
dk�r�|�r�|d	=|
}|d}|
�
|t|�f�q�|
d
k�s�|
dk�r�|
�
|t|�df�|
}t
|||���}|
�
|t|�f�q�|
dk�r<|
�
|t|�df�|�d||�d}|
�
|t|�f�q�|d}||dk�r^|
||}|d}q�||_|�r||d	nd|_t|
�|_dS)
Nr2r!r r�� 	
�([{�)]}r6r0r1r5)rrIrr;r"r#r$�_junkre�
stmt_start�stmt_endr<�_chew_ordinaryre�end�_match_stringrer?�lastch�lastopenbracketpos�tuple�stmt_bracketing)rrr;r*�p�qZnothingrV�stackZ
push_stackZ
bracketingr+ZnewprFrrr�_study2Ss�











zParser._study2cCs�|��|j}|j}t|�}|�dd|�d}}|d}||krzt||�}|rd|��d}d}q�q:|�d|�d}}q:|}}||dkr�|d}q�|j}t|||��	|j
��|S)Nr rr!� 	)r]rWrr"r$�_itemrerTr?r�
expandtabsr)r�jrrEZorigir*r+�extrarrr�compute_bracket_indent�s$

zParser.compute_bracket_indentcCs|��|j}|d|dS)Nr6���)rIr;)rr;rrr�get_num_lines_in_stmt�szParser.get_num_lines_in_stmtcCs||��|j}|j}||dkr*|d}q|}|�d|�d}d}}||k�r||}|dkrr|d}|d}qF|dkr�|r�|d}|d}qF|dks�|dkr�t|||���}qF|d	kr��qqF|dk�r
|d
k�r
|dks�||ddk�r
||dd
k�r
d}�qqF|d}qF|�r:|d}t�d|||��dk}|�s^|}||d
k�r^|d}�qDt||j|��	|j
��dS)Nr^r!r rrNrOr0r1r5�=z=<>!z\s*\\rM)r]rrQr?rUrT�re�matchr"r`r)rrr*�startpos�endpos�foundrCrFrrr�compute_backslash_indent�sV



���
��zParser.compute_backslash_indentcCsJ|��|j|j}}|}|j}||kr>||dkr>|d}q |||�S)Nr^r!)r]rQrRr)rr*rErarrrr�get_base_indent_string0s
zParser.get_base_indent_stringcCs|��|jdkS)N�:)r]rVrJrrr�is_block_opener<szParser.is_block_openercCs|��t|j|j�dk	Sr)r]�_closererrQrJrrr�is_block_closerAszParser.is_block_closercCs|��|jSr)r]rYrJrrr�get_last_stmt_bracketingFszParser.get_last_stmt_bracketingN)r
rrrrr,r.rIrKr]rcrerlrmrorqrrrrrrr}s8	{
9r�__main__)�mainzidlelib.idle_test.test_pyparser2)�	verbosity)rgr#r:r@r=r>rA�compile�VERBOSE�	MULTILINE�searchr%rhrP�DOTALLrUr_rprS�dictr�fromkeysr8�updaterr
Zunittestrtrrrr�<module>
sD�
��	
��	��U


F1le Man4ger