Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/idlelib/__pycache__/pyparse.cpython-310.opt-2.pyc

o

0�i�M�@s	ddlZed�\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�Zedkr�ddlmZeddd�dSdS)�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@seZdZ	dd�ZdS)�ParseMapcCsdS)N�x�)�self�keyrr�6/opt/alt/python310/lib64/python3.10/idlelib/pyparse.py�__missing__rszParseMap.__missing__N)�__name__�
__module__�__qualname__r	rrrrrfsr�rcc� �|]}t|�td�fVqdS)�(N��ord��.0�crrr�	<genexpr>x��rz({[ccr)�)Nrrrrrryrz)}]ccs �|]}t|�t|�fVqdS�Nrrrrrrzrz"'\
#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__s
zParser.__init__cCs||_d|_dS�Nr)�code�study_level)r�srrr�set_code�s
zParser.set_codec	Cs�	|jd}}t|�}td�D].}|�dd|�}|dkrn |�dd|�d}t|||�}|r;||���s;|��}n|}q|durTt|�}|rR||���sR|��}|S|d}t||�}rr|��\}}||�sk|}t||�}s_|S)Nrz:
r�
�)r�len�range�rfind�_synchre�start�span)	rZis_char_in_stringr�pos�limitZtries�i�mr rrr�find_good_parse_start�s2	�zParser.find_good_parse_startcCs"	|dkr|j|d�|_dSdSr)r)r�lorrr�set_lo�s�z
Parser.set_loc
Cs�	|jdkrdSd|_|j}|�t�}|�dd�}|�dd�}|�dd�}|�dd�}|�dd�}t}d}}dg|_}|j}dt|�}}||k�r*||}	|d}|	dkrYqG|	dkrj|d}|dkri||�qG|	d	krs|d}qG|	d
kr~|r}|d}qG|	dks�|	dk�r|	}
||d|d
�|
dkr�|
d}
|}t|
�d}||}||kr�||}	|d}|	dkr�q�||d||�|
kr�||}n8|	dkr�|d}|dkr�|dkr�||�n#q�|	dkr�||dkr�|d}|d}q�||ks�|d|kr�t	}nt
}qG|	dk�r|�d|�}qG||dk�r"|d}|d|k�r"t}|d}||ksL|t	k�r;|t
k�r;|dk�r;t
}||_|d|k�rK||�dSdS)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)
rrrD�level�lnor=Z	push_goodr,�n�chZquoteZfirstlno�wrrr�_study1�s�


� 
�
Z�zParser._study1cCs|��|jSr)rJrD�rrrr�get_continuation_typeKszParser.get_continuation_typecCs�	|jdkrdS|��d|_|j|j}}t|�d}t|�}|rJ|}t||d||�D]
}|�dd|d�d}q/t||�rG|d}nn|s"|dkrP|}|||_|_	d}g}|j
}	|dfg}
||k�r7t|||�}|r�|��}|d}||kr�||dvr�|d}||kr�||dvs�||kr�||}|}||kr�n�||}
|
dvr�|	|�|
�
|t|�f�|
}|d}qc|
dvr�|r�|d	=|
}|d}|
�
|t|�f�qc|
d
ks�|
dkr�|
�
|t|�df�|
}t
|||���}|
�
|t|�f�qc|
dk�r|
�
|t|�df�|�d||�d}|
�
|t|�f�qc|d}||dk�r/|
||}|d}||ksh||_|�rA|d	nd|_t|
�|_dS)
Nr4r#r"r�� 	
�([{�)]}r8r2r3r7)rrJrr=r$r%r&�_junkre�
stmt_start�stmt_endr>�_chew_ordinaryre�end�_match_stringrerA�lastch�lastopenbracketpos�tuple�stmt_bracketing)rrr=r,�p�qZnothingrW�stackZ
push_stackZ
bracketingr-ZnewprHrrr�_study2Os�


�

�
�AzParser._study2cCs�	|��|j}|j}t|�}|�dd|�d}}|d}||kr@t||�}|r2|��d}d}n%|�d|�d}}||ks"|}}||dvrT|d}||dvsJ|j}t|||��	|j
��|S)Nr"rr#� 	)r^rXrr$r&�_itemrerUrAr�
expandtabsr)r�jrrGZorigir,r-Zextrarrr�compute_bracket_indent�s*
��zParser.compute_bracket_indentcCs 	|��|j}|d|dS)Nr8���)rJr=)rr=rrr�get_num_lines_in_stmt�szParser.get_num_lines_in_stmtcCs~	|��|j}|j}||dvr|d}||dvs|}|�d|�d}d}}||kr�||}|dvr>|d}|d}nH|dvrM|rH|d}|d}n9|dksU|dkr^t|||���}n(|d	krcn'|dkr�|d
kr�|dksw||ddvr�||dd
kr�d}n|d}||ks-|r�|d}t�d|||��du}|s�|}||d
vr�|d}||d
vs�t||j|��	|j
��dS)Nr_r#r"rrOrPr2r3r7�=z=<>!z\s*\\rN)r^rrRrArVrU�re�matchr$rar)rrr,Zstartpos�endpos�foundrErHrrr�compute_backslash_indent�sV�

����zParser.compute_backslash_indentcCs^	|��|j|j}}|}|j}||kr)||dvr)|d}||kr)||dvs|||�S)Nr_r#)r^rRrSr)rr,rGrbrrrr�get_base_indent_string,s�zParser.get_base_indent_stringcCs	|��|jdkS)N�:)r^rWrKrrr�is_block_opener8s
zParser.is_block_openercCs	|��t|j|j�duSr)r^�_closererrRrKrrr�is_block_closer=szParser.is_block_closercCs	|��|jSr)r^rZrKrrr�get_last_stmt_bracketingBszParser.get_last_stmt_bracketingN)r
rrrr!r.r0rJrLr^rcrerkrlrnrprqrrrrr}s 4	{
9r�__main__)�mainzidlelib.idle_test.test_pyparser4)�	verbosity)rgr%r<rBr?r@rC�compile�VERBOSE�	MULTILINE�searchr'rhrQ�DOTALLrVr`rorT�dictr�fromkeysr:�updaterr
Zunittestrsrrrr�<module>s`�
����	
����	�	���Q�