HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/idlelib/__pycache__/pyparse.cpython-311.opt-2.pyc
�

��Vc�O���	ddlZed��\ZZZZZejdejej	z��j
Zejdej��jZ
ejdejejz��jZejdej��jZejdej��jZejdej��jZGd	�d
e��Ze�ed��d��Ze�d
�dD����e�d�dD����e�d�dD����Gd�d��ZedkrddlmZedd���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��eZdZ	d�ZdS)�ParseMapc��dS)N�x�)�self�keys  �#D:\Python311\Lib\idlelib\pyparse.py�__missing__zParseMap.__missing__rs���s�N)�__name__�
__module__�__qualname__rrr
rrrfs(������	�����r
r�rc#�RK�|]"}t|��td��fV��#dS)�(N��ord��.0�cs  r�	<genexpr>rx�3����/�/�A�c�!�f�f�c�#�h�h�
�/�/�/�/�/�/r
z({[c#�RK�|]"}t|��td��fV��#dS)�)Nrrs  rrryrr
z)}]c#�RK�|]"}t|��t|��fV��#dS�Nrrs  rrrzs3����2�2�!�c�!�f�f�c�!�f�f�
�2�2�2�2�2�2r
z"'\
#c�b�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�Parserc�"�||_||_dSr)�indentwidth�tabwidth)r	r"r#s   r�__init__zParser.__init__s��&��� ��
�
�
r
c�"�||_d|_dS�Nr)�code�study_level)r	�ss  r�set_codezParser.set_code�s����	�����r
c��	|jd}}t|��}td��D]�}|�dd|��}|dkrnc|�dd|��dz}t	|||��}|r3||�����s|���}n|}��|�Dt	|��}|r1||�����s|���}|S|dz}t	||��x}r6|���\}}||��s|}t	||��x}�6|S)Nrz:
r�
�)r'�len�range�rfind�_synchre�start�span)	r	�is_char_in_stringr'�pos�limit�tries�i�mr)s	         r�find_good_parse_startzParser.find_good_parse_start�sx��	��I�t�c��
�D�	�	���1�X�X�		�		�E��
�
�5�!�U�+�+�A��1�u�
����
�
�4��A�&�&��*�A���q�%�(�(�A��
�*�*�1�7�7�9�9�5�5�
��g�g�i�i�����E�E��	�����A��
 �*�*�1�7�7�9�9�5�5�
 ��g�g�i�i���J�
�!�G���D�!�$�$�$�a�	��6�6�8�8�D�A�q�$�$�Q�'�'�
����D�!�$�$�$�a�	��
r
c�@�	|dkr|j|d�|_dSdSr&)r')r	�los  r�set_loz
Parser.set_lo�s4��	�
��6�	'��	�"�#�#��D�I�I�I�	'�	'r
c��	|jdkrdSd|_|j}|�t��}|�dd��}|�dd��}|�dd��}|�dd��}|�dd��}t
}dx}}dgx|_}|j}dt|��}}||k�rn||}	|dz}|	dkr�|	dkr|dz}|dkr||���8|	d	kr|dz}�D|	d
kr|r|dz
}�R|	dks|	dkr�|	}
||dz
|d
z�|
dzkr|
dz}
|}t|
��dz
}||z}||kru||}	|dz}|	dkr�||dz
||z�|
kr||z}n_|	dkr|dz}|dkr|dkr||��n<�X|	dkr||dkr|dz}|dz}�u||k�u|dz
|krt}nt}��*|	dkr|�d|��}��H||dkr|dz}|dz|krt}|dz}||k��n|tkr|tkr
|dkrt}||_|d|kr
||��dSdS)Nr-�xxxxxxxx�x�xxxx�xxz
xr,rrr�"�'���\�#���)r(r'�	translate�trans�replace�C_NONE�	goodlines�appendr.�C_STRING_FIRST_LINE�C_STRING_NEXT_LINES�find�C_BACKSLASH�	C_BRACKET�continuation)
r	r'rU�level�lnorN�	push_goodr8�n�ch�quote�firstlno�ws
             r�_study1zParser._study1�s���	���q� �	��F�����y���~�~�e�$�$���|�|�J��,�,���|�|�F�C�(�(���|�|�D�#�&�&���|�|�D�#�&�&���|�|�E�4�(�(��������&'�S�(�����$�	��#�d�)�)�1���!�e�U	��a��B��!��A��S�y�
���T�z�
��A�g���A�:�#��I�c�N�N�N���S�y�
���	����S�y�
��&�!�A�I�E���S�y�.
�B�#�I�.
�����!��A�a�C��=�E�A�I�-�&�!�A�I�E�����J�J��N���a�C���!�e�%;��a��B��!��A��S�y�!� ��A�a�C��!��G�}��-���a�C����T�z�!�!�A�g����6�"�$��z�/� )�	�#����!� ��T�z�!���7�d�?�*�"%��'�C��a�C�� �3�!�e�%;�@�a��H�,�;�(;���':����S�y�
��I�I�d�A�&�&����A�w�$��
/��A�g���Q�3�!�8�/�#.�L��!��A�k�!�e�U	�t
�/�/�	%�� 3�3�	%�8=��	�	%�$�L�(���
�R�=�C��	��I�c�N�N�N�N�N�	�	r
c�8�|���|jSr)r^rU�r	s r�get_continuation_typezParser.get_continuation_typeKs��������� � r
c�
�	|jdkrdS|���d|_|j|j}}t	|��dz
}t	|��}|rZ|}t||dz
||��D]}|�dd|dz
��dz}� t||��r|dz
}nn|�Z|dkr|}||c|_|_	d}g}|j
}	|dfg}
||k�r�t|||��}|rV|���}|dz
}||kr||dvr|dz
}||kr
||dv�||kr||}|}||kr�n�||}
|
dvr7|	|��|
�
|t	|��f��|
}|dz}��|
dvr1|r|d	=|
}|dz}|
�
|t	|��f����|
d
ks|
dkrr|
�
|t	|��dzf��|
}t|||�����}|
�
|t	|��f����f|
dkrg|
�
|t	|��dzf��|�d||��dz}|
�
|t	|��f�����|dz}||dkr|
||z}|dz}||k���||_|r|d	nd|_t#|
��|_dS)
NrEr-r,r�� 	
�([{�)]}rIrCrDrH)r(r^r'rNr.r/r0�_junkre�
stmt_start�stmt_endrO�_chew_ordinaryre�end�_match_stringrerR�lastch�lastopenbracketpos�tuple�stmt_bracketing)r	r'rNr8�p�q�nothingrm�stack�
push_stack�
bracketingr9�newprZs              r�_study2zParser._study2Os���	�$��q� �	��F�����������)�T�^�i���	�N�N�Q�����I�I���
	��A� ��1�Q�3���1��>�>�
1�
1���J�J�t�Q��!��,�,�q�0�����a� � �
��a�C�����
	�
��6�	��A�)*�A�&����������\�
��!�f�X�
��!�e�=	� ��q�!�,�,�A��
��u�u�w�w���1�H���1�f���a��G�!3���!��A��1�f���a��G�!3����6�%�!�!�W�F�����6����a��B��U�{�
��
�1�
�
�
��!�!�1�c�%�j�j�/�2�2�2����a�C����U�{�
��"��b�	����a�C���!�!�1�c�%�j�j�/�2�2�2���S�y�
�B�#�I�
��!�!�1�c�%�j�j��l�"3�4�4�4���#�D�!�Q�/�/�3�3�5�5���!�!�1�c�%�j�j�/�2�2�2���S�y�
��!�!�1�c�%�j�j��l�"3�4�4�4��I�I�d�A�q�)�)�A�-���!�!�1�c�%�j�j�/�2�2�2���!��A��A�w�$��
&��d�1�g����!��A�{�!�e�=	�B���/4�">�%��)�)�$���$�Z�0�0����r
c��	|���|j}|j}t|��}|�dd|��dzx}}|dz}||krMt||��}|r|���dz
}d}nE|�d|��dzx}}||k�M|x}}||dvr|dz}||dv�|j}t|||��	|j
����|zS)Nr,rr-� 	)rxrnr'r.r0�_itemrerkrRr"�
expandtabsr#)r	�jr'rY�origir8r9�extras        r�compute_bracket_indentzParser.compute_bracket_indent�s,��	�	
�������#���y����I�I���J�J�t�Q��*�*�Q�.�.���
�a�C���!�e�	%���a� � �A��
/��E�E�G�G�a�K������	�	�$��*�*�Q�.�.��A��!�e�	%��M�A���q�'�U�"�
��a�C���q�'�U�"�
��$�E��4��!��9�'�'��
�6�6�7�7�%�?�?r
c�\�	|���|j}|d|dz
S)NrI���)r^rN)r	rNs  r�get_num_lines_in_stmtzParser.get_num_lines_in_stmt�s0��	�
	
�������N�	���}�y��}�,�,r
c���	|���|j}|j}||dvr|dz}||dv�|}|�d|��dz}dx}}||kr�||}|dvr|dz}|dz}n~|dvr
|r|dz
}|dz}nm|dks|dkr$t	|||�����}n=|d	krn<|dkr+|d
kr%|dks
||dz
dvr||dzd
krd}n|dz}||k��|r$|dz}t
jd|||���du}|s|}||d
vr|dz}||d
v�t||j|��	|j
����dzS)Nrzr-r,rrerfrCrDrH�=z=<>!z\s*\\rd)rxr'rhrRrlrk�re�matchr.r|r#)r	r'r8�startpos�endpos�foundrVrZs        r�compute_backslash_indentzParser.compute_backslash_indent�s:��	�
	
�������y���O���1�g���	��!��A��1�g���	������4��*�*�Q�.�������&�j�	��a��B��U�{�
���	���a�C����u��
��&�!�A�I�E��a�C����s��
�b�C�i�
�#�D�!�V�4�4�8�8�:�:����s��

���!��
��c�	�
���F�
�"�1�Q�3�i�v�5�
���!��9��#�
�����a�C��+�&�j�	�.�	?��!��A��H�X�t�A�f�H�~�6�6�$�>�E��	��A��q�'��(�
��a�C���q�'��(�
��4����)�*�5�5�%)�]�4�4�5�5�78�9�	9r
c��	|���|j|j}}|}|j}||kr||dvr|dz}||kr
||dv�|||�S)Nrzr-)rxrhrir')r	r8rYr}r's     r�get_base_indent_stringzParser.get_base_indent_string,s���	�	
���������
�1��
���y���!�e�	��Q��5�(�	��A��A��!�e�	��Q��5�(�	��A�a�C�y�r
c�B�	|���|jdkS)N�:)rxrmr`s r�is_block_openerzParser.is_block_opener8s��F��������{�c�!�!r
c�d�	|���t|j|j��duSr)rx�_closerer'rhr`s r�is_block_closerzParser.is_block_closer=s+��G���������	�4�?�3�3�4�?�?r
c�:�	|���|jSr)rxrpr`s r�get_last_stmt_bracketingzParser.get_last_stmt_bracketingBs��	�	
�������#�#r
N)rrrr$r*r:r=r^rarxr�r�r�r�r�r�r�rr
rr r }s�������!�!�!����
2�2�2�h'�'�'�D�D�D�L!�!�!�y1�y1�y1�v@�@�@�>-�-�-�79�79�79�r
�
�
�"�"�"�
@�@�@�
$�$�$�$�$r
r �__main__)�mainzidlelib.idle_test.test_pyparserE)�	verbosity)r�r/rMrSrPrQrT�compile�VERBOSE�	MULTILINE�searchr1r�rg�DOTALLrlr{r�rj�dictr�fromkeysrK�updater r�unittestr�rr
r�<module>r�sW���
�	�	�	�$)�5��8�8�!���)��i��2�:��&�Z�"�,��' � �&!'�'	�.�"�*���Z�	���	��"�*�� �Z�"�)��!�� #�!�*�"�*���Z������2�:�	��Z�	�	��	� �2�:���Z�����

�
�
�
�
�t�
�
�
�"	���%�%��*�*�c�*�*�����/�/��/�/�/�/�/�/����/�/��/�/�/�/�/�/����2�2�z�2�2�2�2�2�2�K$�K$�K$�K$�K$�K$�K$�K$�\�z��8��������D�	)�Q�7�7�7�7�7�7�8�8r