Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_grammar.cpython-311.opt-1.pyc
�

�Ke���6�UddlmZddlmZddlmZddlZddlZddlZddlZddlTddl	m
Z
ddlZddlm
Z
ddlmZddlZgd�Zgd	�ZGd
�dej��Zeed<Gd
�d��ZGd�dej��Zedkrej��dSdS)���check_syntax_error)�
import_helper��check_syntax_warningN)�*)�ChainMap)�ann_module2)�0_0_0�4_2�1_0000_0000�0b1001_0100�0xffff_ffff�0o5_7_7z	1_00_00.5z1_00_00.5e5�1_00_00e5_1�1e1_0z.1_4z.1_4e1�0b_0�0x_f�0o_5�1_00_00jz
1_00_00.5j�1_00_00e5_1jz.1_4jz(1_2.5+3_3j)z(.5_6j))(�0_�42_z1.4j_�0x_�0b1_�0xf_�0o5_z
0 if 1_Else 1�0_b0�0_xf�0_o5�0_7�09_99�	4_______2z0.1__4z0.1__4j�0b1001__0100�0xffff__ffff�0x___�0o5__77�1e1__0�1e1__0jz1_.4z1_.4jz1._4z1._4jz._5z._5jz1.0e+_1z1.0e+_1jz1.4_jz1.4e5_j�1_e1z1.4_e1z1.4_e1j�1e_1z1.4e_1z1.4e_1jz
(1+1.5_j_)z	(1+1.5_j)c�h�eZdZddlmZddlmZd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�ZdS)�
TokenTestsrrrc�j�d}|�|dd��d}|�|dd��dS)N�zbackslash for line continuationrzbackslash ending comment��assertEqual��self�xs  �;/usr/local/apps/python3/lib/python3.11/test/test_grammar.py�test_backslashzTokenTests.test_backslashmsH��
������A�@�A�A�A�
������A�9�:�:�:�:�:�c�,�|�td��td����|�dd��|�dd��|�dd��|�dd��|�ttd��ddlm}|dkr�|�dd��|�ddk��|�ddk��|�ddk��d	D]:}	t	|��}�#t$r|�	d
|z��Y�7wxYwdS|dkr�|�dd��|�d
dk��|�d
dk��|�ddk��dD]:}	t	|��}�#t$r|�	d
|z��Y�7wxYwdS|�	d|z��dS)Nr�i����	�0x)�maxsizei�l��)�
2147483648�
0o40000000000�0x100000000�"0b10000000000000000000000000000000z(OverflowError on huge integer literal %rl����l���������l����)�9223372036854775808�0o2000000000000000000000�0x10000000000000000�A0b100000000000000000000000000000000000000000000000000000000000000zWeird maxsize value %r)
r1�type�assertRaises�SyntaxError�eval�sysr<�
assertTrue�
OverflowError�fail)r3r<�sr4s    r5�test_plain_integerszTokenTests.test_plain_integerswsz������c���D��G�G�,�,�,�����s�#�#�#������$�$�$�����]�3�3�3������#�#�#����+�t�T�2�2�2��������j� � ����]�N�;�;�;��O�O�M�A�-�.�.�.��O�O�J��N�+�+�+��O�O�=��A�B�B�B�<�
N�
N��N��Q���A�A��$�N�N�N��I�I�H�1�L�M�M�M�M�M�N����	
N�
N��+�
+�
+����3�5N�O�O�O��O�O�4�q�8�9�9�9��O�O�.��2�3�3�3��O�O�\�_`�`�a�a�a�Y�
N�
N��N��Q���A�A��$�N�N�N��I�I�H�1�L�M�M�M�M�M�N����
N�
N�
�I�I�.��8�9�9�9�9�9s$�D,�,"E�E�G�"G7�6G7c�&�d}d}d}d}d}d}d}d}dS)NrrAl���?l�
~��l!]cll������r2s  r5�test_long_integerszTokenTests.test_long_integers�s.��
����������*��S��S���r7c�2�d}d}d}d}d}d}d}d}d}d}d}dS)Ng��Q�	@g�s@gj�t��?g��
�Bg��t� =g�W�H�BgF�@rQr2s  r5�test_floatszTokenTests.test_floats�s=�������������������������r7c�^�tj��5tjdt��|�td��d��|�td��d��ddd��n#1swxYwY|�tt
d��dS)N�ignorez1 if 1else 0�z1 if 0else 0rz0 if 1Else 0)�warnings�catch_warnings�simplefilter�
SyntaxWarningr1rIrGrH�r3s r5� test_float_exponent_tokenizationz+TokenTests.test_float_exponent_tokenization�s���
�
$�
&�
&�	6�	6��!�(�M�:�:�:����T�.�1�1�1�5�5�5����T�.�1�1�1�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	
���+�t�^�<�<�<�<�<s�A!B�B�Bc
�:�tD]F}|�t|��t|�dd�������GtD]#}|�tt|���$|�ttd��dS)N�_��_0)�VALID_UNDERSCORE_LITERALSr1rI�replace�INVALID_UNDERSCORE_LITERALSrGrH�	NameError)r3�lits  r5�test_underscore_literalsz#TokenTests.test_underscore_literals�s���,�	D�	D�C����T�#�Y�Y��S�[�[��b�-A�-A�(B�(B�C�C�C�C�.�	6�	6�C����k�4��5�5�5�5����)�T�4�0�0�0�0�0r7c��|j}|dd��|dd��|dd��|dd��|dd��|dd	��|d
d	��|dd	��|dd
��|dd
��|dd��|dd��|dd��|dd��|dd��|dd��|dd��dS)N�0b12z#invalid digit '2' in binary literal�0b1_2�0b2rzinvalid binary literal�0b�0o18z"invalid digit '8' in octal literal�0o1_8�0o8�0o1_zinvalid octal literal�0o�0x1_zinvalid hexadecimal literalr;�1_zinvalid decimal literal�012z`leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integersz1.2_�1e2_z1e+r�r3�checks  r5�test_bad_numerical_literalsz&TokenTests.test_bad_numerical_literals�s]���'��
��f�;�<�<�<�
��g�<�=�=�=�
��e�:�;�;�;�
��f�.�/�/�/�
��d�,�-�-�-�
��f�:�;�;�;�
��g�;�<�<�<�
��e�9�:�:�:�
��f�-�.�.�.�
��d�+�,�,�,�
��f�3�4�4�4�
��d�1�2�2�2�
��d�-�.�.�.�
��e�4�	5�	5�	5�	��f�/�0�0�0�
��f�/�0�0�0�
��e�.�/�/�/�/�/r7c�n��d�fd�	}dD�]�}t|dd��||�d�|dk���||�d	�|d
k���||�d���||�d���||�d
���|d|�d�|dk���|d|�d���||�d�d���tj��5tjddt����td��5t|�d�dd��ddd��n#1swxYwYtjdt����td��5t|�d�dd��ddd��n#1swxYwYddd��n#1swxYwY���|d��|d��|d��dS)NFc�����|���5|r�tjd���5}��td��5t|dd��ddd��n#1swxYwYddd��n#1swxYwY��|g��n��|d���ddd��dS#1swxYwYdS)N)�exprT)�record�invalid \w+ literal�
<testcase>rI)�errtext)�subTestrXrY�assertRaisesRegexrH�compiler1r)�test�error�wr3s   �r5rwz8TokenTests.test_end_of_numerical_literals.<locals>.check�s�������4��(�(�	
<�	
<��<�!�0��=�=�=�@��!�3�3�K�$:�<�<�@�@�#�D�,��?�?�?�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@��$�$�Q��,�,�,�,��-�-�d�$:�.�<�<�<�	
<�	
<�	
<�	
<�	
<�	
<�	
<�	
<�	
<�	
<�	
<�	
<����	
<�	
<�	
<�	
<�	
<�	
<sX�C�B�A*�B�*A.�.B�1A.�2B�5C�B	�C�B	�	1C�C�C)�0xf�0o7�0b1�9�0z1.�1e3�1jr~rIzand xr�)r�zor xr�zin xznot in xzif x else yzx if zelse y�[zfor x in ()]�spamTrV�"is" with a literalr}zis xr�z[0x1ffor x in ()]z[0x1for x in ()]z[0xfor x in ()]�F)	r�rXrY�filterwarningsr[�assertWarnsRegexrZr�rH)r3rw�nums`  r5�test_end_of_numerical_literalsz)TokenTests.test_end_of_numerical_literals�s>���
	<�
	<�
	<�
	<�
	<�
	<�D�	@�	@�C��C��v�.�.�.��E�S�-�-�-��u��6�6�6�6��E�S�,�,�,�s�c�z�3�3�3�3��E�S�,�,�,�����E�S�"�"�"�#�#�#��E�S�%�%�%�&�&�&��E�%�#�%�%�%�c�U�l�<�<�<�<��E�'�c�'�'�'�(�(�(��E�S�,�,�,�d�+�+�+�+��(�*�*�	
@�	
@��'��2G�(5�7�7�7��*�*�=�2�4�4�@�@��s�L�L�L�,��?�?�?�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@��%�g�}�=�=�=��+�+�K�2�4�4�@�@��s�L�L�L�,��?�?�?�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@�	
@�	
@�	
@�	
@�	
@�	
@�	
@�	
@�	
@�	
@�	
@����	
@�	
@�	
@�	
@��	��!�"�"�"�
�� �!�!�!�
��� � � � � sZ�77F�.D�F�D�F�D�8F�E0�$F�0E4�4F�7E4�8F�F	�F	c��d}d}|�t|��dko||k��d}d}|�t|��dko||kot|��dk��d}d}|�t|��dko||kot|��dk��d}d}|�t|��d	ko||k��d
}d
}|�t|��d	ko||k��d}d}|�||��d}|�||��d}|�||��d}|�||��dS)Nr`r�'rW�'�"�"zdoesn't "shrink" does it�zdoes "shrink" doesn't itz2
The "quick"
brown fox
jumps over
the 'lazy' dog.
)rK�len�ordr1�r3r4�ys   r5�test_string_literalszTokenTests.test_string_literalss�����B������A���!��(>��Q��?�?�?���c�!�4�?�?�3�q�6�6�Q�;�+R�1��6�+R�c�!�f�f�PR�l�S�S�S���T��4�?�?�3�q�6�6�Q�;�+R�1��6�+R�c�!�f�f�PR�l�S�S�S�(��'������A���"��/��a��0�0�0�(��'������A���"��/��a��0�0�0�
��
H������A����
��	
����A����
��	
����A����
��	
����A�����r7c��d}|�|tu��|�ttd��dS)N.z.. .)rK�EllipsisrGrHrIr2s  r5�
test_ellipsiszTokenTests.test_ellipsis(s;��������X�
�&�&�&����+�t�V�4�4�4�4�4r7c���d}|D]m}|�t��5}t|dd��ddd��n#1swxYwY|�dt	|j�����ndS)N)zdef foo(z	
def foo(z	def foo(
z<test>�execzwas never closed)rGrHr��assertIn�str�	exception)r3�samplesrN�cms    r5�test_eof_errorzTokenTests.test_eof_error-s���:���	A�	A�A��"�"�;�/�/�
-�2���8�V�,�,�,�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-��M�M�,�c�"�,�.?�.?�@�@�@�@�	A�	As�?�A	�A	N)�__name__�
__module__�__qualname__�test.supportr�test.support.warnings_helperrr6rOrRrTr]rgrxr�r�r�r�rQr7r5r-r-hs�������/�/�/�/�/�/�A�A�A�A�A�A�;�;�;�":�":�":�HT�T�T����=�=�=�1�1�1�0�0�0�,%!�%!�%!�N&�&�&�P5�5�5�
A�A�A�A�Ar7r-�var_annot_globalc� �eZdZd�Zd�Zd�ZdS)�CNSc��i|_dS�N��_dctr\s r5�__init__zCNS.__init__9s
����	�	�	r7c�>�||j|���<dSr�)r��lower)r3�item�values   r5�__setitem__zCNS.__setitem__;s��"'��	�$�*�*�,�,���r7c��|j|Sr�r��r3r�s  r5�__getitem__zCNS.__getitem__=s���y���r7N�r�r�r�r�r�r�rQr7r5r�r�8sA���������(�(�(�����r7r�c���eZdZddlmZddlmZddlmZd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d �Z#d!�Z$d"�Z%d#�Z&d$�Z'd%�Z(d&�Z)d'�Z*e+j,d(d)��d*���Z-d+�Z.d,�Z/d-�Z0d.�Z1d/�Z2d0�Z3d1�Z4d2�Z5d3�Z6d4�Z7d5�Z8d6�Z9d7�Z:d8�Z;d9�Z<d:�Z=d;�Z>d<�Z?d=�Z@d>�ZAd?�ZBd@�ZCdA�ZDdB�ZEdC�ZFdD�ZGdE�ZHdF�ZIdG�ZJdH�ZKdI�ZLdJS)K�GrammarTestsrrr)�check_no_warningsc�$�td��}dS)Nz	1, 0 or 1)rIr2s  r5�test_eval_inputzGrammarTests.test_eval_inputPs��������r7c��d}dg}d�}ttgdd||��dz
<|�|dg��dS)N��*c��dS�NrWrQrQr7r5�onez/GrammarTests.test_var_annot_basics.<locals>.oneYs���1r7rrW)�int�listr1)r3�var1�my_lstr�s    r5�test_var_annot_basicsz"GrammarTests.test_var_annot_basicsTs_�������	�	�	���	
���q�� ��s�s�u�u�Q�w������!��%�%�%�%�%r7c�&�t|d��t|d��t|d��t|d��t|d��t|d��t|d��t|d��t|d	��dS)
Nz
def f: intzx: int: strzdef f():
    nonlocal x: int
z[x, 0]: int
z	f(): int
z	(x,): intz"def f():
    (x, y): int = (1, 2)
z!def f():
    x: int
    global x
z!def f():
    global x
    x: int
rr\s r5�test_var_annot_syntax_errorsz)GrammarTests.test_var_annot_syntax_errors`s����4��.�.�.��4��/�/�/��4�"9�	:�	:�	:�	�4��1�1�1��4��.�.�.��4��-�-�-��4�">�	?�	?�	?�	�4�"2�	3�	3�	3�	�4�"0�	1�	1�	1�	1�	1r7c���|�t��5ddztt<ddd��n#1swxYwY|�t��5dtt<ddd��n#1swxYwYd�}|�|ji��d�}|��d�}|�t��5|��ddd��n#1swxYwYd�}	|��n?#t$r2}|�	t|��t��Yd}~nd}~wwxYwGd�d��}|�|jttd	���|�t��5Gd
�d��}ddd��n#1swxYwY|�t��5Gd�d
|��}ddd��dS#1swxYwYdS)NrWrc�"�d}dt_|S)N�Hello�rWr/��a�b)�sts r5�fz6GrammarTests.test_var_annot_basic_semantics.<locals>.f}s���B��A�C��Ir7c��dSr�rQrQr7r5�f_OKz9GrammarTests.test_var_annot_basic_semantics.<locals>.f_OK�����r7c�$�t|��dSr���print�r4s r5�fbadz9GrammarTests.test_var_annot_basic_semantics.<locals>.fbad�s���!�H�H�H�H�Hr7c�.�tt��dSr�)r��no_such_globalrQr7r5�f2badz:GrammarTests.test_var_annot_basic_semantics.<locals>.f2bad�s���.�!�!�!�!�!r7c�2�eZdZUeed<dZeed<dZd�ZdS)�6GrammarTests.test_var_annot_basic_semantics.<locals>.C�_C__foo�attrrNr/c��||_dSr�r�r2s  r5r�z?GrammarTests.test_var_annot_basic_semantics.<locals>.C.__init__�s
������r7N)	r�r�r�r��__annotations__rNr��zr�rQr7r5�Cr��s@��������J�J�J��A�s�O�O�O��A�
 �
 �
 �
 �
 r7r�)r�rNc�"�eZdZUde_edS)�9GrammarTests.test_var_annot_basic_semantics.<locals>.CBadrN)r�r�r��no_such_name_definedr�r�rQr7r5�CBadr��s �������12�$�)�3�2�2�2r7r�c�,�eZdZUeed<ge_edS)�:GrammarTests.test_var_annot_basic_semantics.<locals>.Cbad2r4N)r�r�r�r�r�r4r�r�rQr7r5�Cbad2r��s$��������������T���r7r�)
rG�ZeroDivisionError�no_name�does_not_existrer1r��UnboundLocalError�	Exception�assertIsrFr�r�)	r3r�r�r�r��er�r�r�s	         r5�test_var_annot_basic_semanticsz+GrammarTests.test_var_annot_basic_semanticsts���
�
�
�0�
1�
1�	9�	9�56�q�S�G�N�#�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�
�
�
�y�
)�
)�	-�	-�+,�G�N�#�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
	�	�	�	
����*�B�/�/�/�	�	�	������	�	�	��
�
�0�
1�
1�	�	��D�F�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	"�	"�	"�	.��E�G�G�G�G���	.�	.�	.��M�M�$�q�'�'�9�-�-�-�-�-�-�-�-�����	.����	 �	 �	 �	 �	 �	 �	 �	 �	
����*��#�,F�,F�G�G�G�
�
�
�y�
)�
)�	3�	3�
3�
3�
3�
3�
3�
3�
3�
3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��
�
�y�
)�
)�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sm�:�>�>�A;�;A?�A?�C%�%C)�,C)�4
C?�?
D;�	(D6�6D;�
F'�'F+�.F+�G(�(G,�/G,c��Gd�d��}Gd�d|��}Gd�d|��}Gd�d��}Gd	�d
||��}Gd�d||��}|�|jd
ti��|�|ji��|�|jd
ti��|�|jdti��|�|ji��|�|ji��dS)Nc��eZdZUeed<dS)�4GrammarTests.test_annotations_inheritance.<locals>.Ar�N�r�r�r�r�r�rQr7r5�Ar����������I�I�I�I�Ir7rc��eZdZdS)�4GrammarTests.test_annotations_inheritance.<locals>.BN�r�r�r�rQr7r5�Br���������Dr7rc��eZdZUeed<dS)�4GrammarTests.test_annotations_inheritance.<locals>.Cr�N)r�r�r�r�r�rQr7r5r�r
�rr7r�c��eZdZUeed<dS)�4GrammarTests.test_annotations_inheritance.<locals>.D�attr2NrrQr7r5�Dr�s��������J�J�J�J�Jr7rc��eZdZdS)�4GrammarTests.test_annotations_inheritance.<locals>.ENrrQr7r5�Er�rr7rc��eZdZdS)�4GrammarTests.test_annotations_inheritance.<locals>.FNrrQr7r5�Fr�rr7rr�r
)r1r�r�r�)r3rrr�rrrs       r5�test_annotations_inheritancez)GrammarTests.test_annotations_inheritance�s���	�	�	�	�	�	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��1�	�	�	�	�	�	�	�	��1�	�	�	�����*�V�S�M�:�:�:�����*�B�/�/�/�����*�V�c�N�;�;�;�����*�W�s�O�<�<�<�����*�B�/�/�/�����*�B�/�/�/�/�/r7c��Gd�dt��}Gd�d|���}|�|jdd��dS)Nc�$�eZdZed���ZdS)�>GrammarTests.test_var_annot_metaclass_semantics.<locals>.CMetac�"�dt��iS�Nr�)r�)�metacls�name�bases�kwdss    r5�__prepare__zJGrammarTests.test_var_annot_metaclass_semantics.<locals>.CMeta.__prepare__�s��)�3�5�5�1�1r7N)r�r�r��classmethodrrQr7r5�CMetar�s-������
�
2�
2��[�
2�
2�
2r7r!c��eZdZUded<dS)�;GrammarTests.test_var_annot_metaclass_semantics.<locals>.CC�ANNOT�XXN)r�r�r�r�rQr7r5�CCr#�s��������K�K�K�K�Kr7r&)�	metaclass�xxr$)rFr1r�)r3r!r&s   r5�"test_var_annot_metaclass_semanticsz/GrammarTests.test_var_annot_metaclass_semantics�s��	2�	2�	2�	2�	2�D�	2�	2�	2�	�	�	�	�	�5�	�	�	�	�����+�D�1�7�;�;�;�;�;r7c	��|�tji��|�tjdtt
tjttfttzd���|�tj	jdtd���|�tji��dS)Nr/)rWr4r�r��u�{)�123�o)r1r�r��
ann_moduler�r��typing�Tuple�float�MrFr
r\s r5�test_var_annot_module_semanticsz,GrammarTests.test_var_annot_module_semantics�s�������-�r�2�2�2�����3���3�V�\�#�s�(�5K�RU�X]�R]�^�^�	`�	`�	`������5�&)��5�5�	7�	7�	7�����4�b�9�9�9�9�9r7c���tjd��}|�t��5|���ddd��n#1swxYwY|�t��5|���ddd��n#1swxYwY|�t��5|�d��ddd��dS#1swxYwYdS)Nztest.ann_module3r�)r�import_fresh_modulerGre�	f_bad_ann�	g_bad_ann�	D_bad_ann)r3�ann_module3s  r5�test_var_annot_in_modulez%GrammarTests.test_var_annot_in_module�s���$�7�8J�K�K��
�
�
�y�
)�
)�	$�	$��!�!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�y�
)�
)�	$�	$��!�!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�y�
)�
)�	%�	%��!�!�!�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s5�A�A�A�5B�B�B�;C�C"�%C"c���i}i}td||��|�|ddtd���|�t��5|dddd��dS#1swxYwYdS)Nz.'docstring'
__annotations__[1] = 2
x: int = 5
r�r/)rWr4)r�r1r�rG�KeyError)r3�gns�lnss   r5�test_var_annot_simple_execz'GrammarTests.test_var_annot_simple_exec�s�����r�#��� �#�	'�	'�	'�	
����.�/�Q�S�1A�1A�B�B�B�
�
�
�x�
(�
(�	#�	#��!�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s�	A*�*A.�1A.c���dt��i}td|��|�|ddt��|�|ddt��|�t��5|ddddd��n#1swxYwYi�G�fd�d��}tdi|����|��ddt��dS)	Nr�z'X: int; Z: str = "Z"; (w): complex = 1jr4r�r�c�&��eZdZd�Z�fd�Zd�ZdS)�5GrammarTests.test_var_annot_custom_maps.<locals>.CNS2c��i|_dSr�r�r\s r5r�z>GrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__init__�s
����	�	�	r7c�&��||j|<|�|<dSr�r��r3r�r��	nonloc_nss   �r5r�zAGrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__setitem__�����"'��	�$��"'�	�$���r7c��|j|Sr�r�r�s  r5r�zAGrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__getitem__�����y���&r7Nr�)rGs�r5�CNS2rC�sL�������
�
�
�
(�
(�
(�
(�
(�
'�
'�
'�
'�
'r7rKz
x: int = 1)r�r�r1r�r�rGr=)r3�nsrKrGs   @r5�test_var_annot_custom_mapsz'GrammarTests.test_var_annot_custom_maps�sV�������
'���
6��;�;�;�����-�.�s�3�S�9�9�9�����-�.�s�3�S�9�9�9�
�
�
�x�
(�
(�	'�	'�� �!�#�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'��	�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	
�\�2�t�t�v�v�&�&�&�����#4�5�c�:�C�@�@�@�@�@s�
B%�%B)�,B)c�����t���d�i�G��fd�d��}tdi|����|��ddt��dS)Nr�c�*��eZdZ�fd�Z�fd�Zd�ZdS)�1GrammarTests.test_var_annot_refleak.<locals>.CNS2c���d�i|_dSrr�)r3�cnss �r5r�z:GrammarTests.test_var_annot_refleak.<locals>.CNS2.__init__�s���.��4��	�	�	r7c�&��||j|<|�|<dSr�r�rFs   �r5r�z=GrammarTests.test_var_annot_refleak.<locals>.CNS2.__setitem__�rHr7c��|j|Sr�r�r�s  r5r�z=GrammarTests.test_var_annot_refleak.<locals>.CNS2.__getitem__�rJr7Nr�)rRrGs��r5rKrP�sV�������
5�
5�
5�
5�
5�
(�
(�
(�
(�
(�
'�
'�
'�
'�
'r7rKzX: strr4)r�r�r1r�)r3rKrRrGs  @@r5�test_var_annot_refleakz#GrammarTests.test_var_annot_refleak�s������e�e��&��,�	�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	
�X�r�4�4�6�6�"�"�"�����#4�5�c�:�C�@�@�@�@�@r7c�d�i}td|��|�|dd��d}t||��|�t|d����dg��dddtjd	�}td
|��|�|dd��dS)Nzx: tuple = 1, 2r4r�zdef f():
    x: int = yieldr�rW�r/��r�)r�r��cr1zx: Tuple[int, ...] = a,*b,c�rWr/rXrYr�)r�r1r�r0r1)r3rL�stmts   r5�test_var_annot_rhszGrammarTests.test_var_annot_rhss���
���
��#�#�#�����C��&�)�)�)�%���T�2��������g�b��g�i�i���4�&�1�1�1��9�!�f�l�
C�
C���
*�B�/�/�/�����C��/�2�2�2�2�2r7c�����d�}|��|d�|dii��d�}d�}|�|jjd��|�|jjd��d�}d�}d	�}d
�}d�}|��|d��|d��|dd
��|dd
��|��|d��|d��|dd
��|dd
dddddddd�
�
|d��|d��|dd
��|dd
d��|dd
dddddddd�
�
|dd
��|dd
d��|dd
dd��|dd
dddddddd�
�
dd�}	|	��|	d��|	d�|	gpd
g�|	gd�iod�Rii��|	didd
i��|	didd
ipi��dd�}
|
d��|
dd
��|
didd
i��dd�}|dd
��|dd
d��|d�|dgd�R�|dd
gd�R�|d!iddi��d!d �}|��|d��|dd
��|d!�|dgd"�R�|didd
i��|didd
d#���d!d$�}
|
d��|
dd
��|
dd
d��d!d%�}|dd
��|dd
d��|dd
dd��dd&�}|��|d��|dd
��|d'�|d�|didd
i��dd(�}|d��|dd
��|dd
d��dd)�}|dd
��|dd
d��|dd
dd��|d'�|d!iddi��d!d*�}|��|d��|dd
��|dd
d��|dgd+�R�|didd
d#���d!d,�}|d��|dd
��|dd
d��|dd
dd��|d'�|dd
gd-�R�|dgd"�Riddi��d!d.�}|dd
��|dd
d��|dd
dd��|dd
ddd��|d'�|dd
gd-�R�|dgd�Rid/di��tj��5tjd0t��	td�id2di��|�d3��n#t$rYnwxYwddd��n#1swxYwYd4�}|d5�6��d5d7�d8�}|dd
d5�9��|dd
d5d:�;��|dd
d5d:�<��d5d9�d=�}|dd
d5d5d:�>��|dd
d5d:d5�?��|�
ttd@��|�
ttdA��|�
ttdB��dC�}|�|dgddg�Rd
ddD��dEd
ddD�f��|�|dgd�d�R�d'if��|�
ttdF��|�|didGdHdI���ddGdHdI�f��|�|ddJdHidKdGi��ddGdHdI�f��t|dL��t|dM��dNtfdO�}|�|jdNti��d1t fdP�}|�|jd1t i��d1t fdQ�}|�|jd1t i��d�d1t fdS�}|�|jd1t i��d1tfdT�}|�|jd1ti��d1t"fdU�}|�|jd1t"i��d�dW�}|�|jdVdi��d�dX�}|�|jdVdi��d�dY�}|�|jdd
dZ���d�d[�}|�|jdd
dZ���d�d�d^�}|�|jdd
ddd_���d�dd`da�			d�dg�}|�|jdd
dddddedfdh���d�dd`da�dddd
d\ddit d]ddbddcddddedNdffdj�}|�|jdd
dt ddddedfdk�	��Gdl�dm��}Gdn�do|��}|�|jjdpdi��|�|jjdpdi��dq���dNtfdr���}|�|jdNti���dt���}�x}du���}�fdv�dw���}dx�dxgddy���}�������dz���}�gdjjd{���}d��fd|�}d�fd}�	}dd~��fd�
}dNt f�fd��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}dS)�Nc��dSr�rQrQr7r5�f1z%GrammarTests.test_funcdef.<locals>.f1r�r7rQc��dSr�rQ��one_arguments r5�f2z%GrammarTests.test_funcdef.<locals>.f2!r�r7c��dSr�rQ��two�	argumentss  r5�f3z%GrammarTests.test_funcdef.<locals>.f3"r�r7rbrfc��dSr�rQ)�one_args r5�a1z%GrammarTests.test_funcdef.<locals>.a1%r�r7c��dSr�rQ)rg�argss  r5�a2z%GrammarTests.test_funcdef.<locals>.a2&r�r7c��dSr�rQ��rests r5�v0z%GrammarTests.test_funcdef.<locals>.v0'r�r7c��dSr�rQ�r�rrs  r5�v1z%GrammarTests.test_funcdef.<locals>.v1(r�r7c��dSr�rQ�r�r�rrs   r5�v2z%GrammarTests.test_funcdef.<locals>.v2)r�r7rWr/rXrYr����r:rc��dSr�rQ�r�s r5�d01z&GrammarTests.test_funcdef.<locals>.d01?r�r7�rWr�c��dSr�rQr�s  r5�d11z&GrammarTests.test_funcdef.<locals>.d11Gr�r7r�c��dSr�rQ�r�r�rZs   r5�d21z&GrammarTests.test_funcdef.<locals>.d21Kr�r7�rWr/rX�r/rX�rXrZc��dSr�rQr�s  r5�d02z&GrammarTests.test_funcdef.<locals>.d02Rr�r7r��r/r�c��dSr�rQr�s   r5�d12z&GrammarTests.test_funcdef.<locals>.d12Zr�r7c��dSr�rQ�r�r�rZ�ds    r5�d22z&GrammarTests.test_funcdef.<locals>.d22^r�r7c��dSr�rQrus  r5�d01vz'GrammarTests.test_funcdef.<locals>.d01vbr�r7)rWr/rXrYc��dSr�rQrxs   r5�d11vz'GrammarTests.test_funcdef.<locals>.d11vir�r7c��dSr�rQ�r�r�rZrrs    r5�d21vz'GrammarTests.test_funcdef.<locals>.d21vmr�r7c��dSr�rQrxs   r5�d02vz'GrammarTests.test_funcdef.<locals>.d02vsr�r7rWc��dSr�rQr�s    r5�d12vz'GrammarTests.test_funcdef.<locals>.d12vzr�r7�rXrYr�c��dSr�rQ)r�r�rZr�rrs     r5�d22vz'GrammarTests.test_funcdef.<locals>.d22v�r�r7r�rVr4sfooz/Bytes should not work as keyword argument namesc��|Sr�rQ��keys r5�pos0key1z+GrammarTests.test_funcdef.<locals>.pos0key1�s��S�jr7�dr�)�k2c��||||fSr�rQ)�p1�p2�k1r�s    r5�pos2key2z+GrammarTests.test_funcdef.<locals>.pos2key2�s��B�r�"�R�K�-?r7)r���)r�r�)r�r�c��|||||fSr�rQ)r�r�r�r��kwargs     r5�pos2key2dictz/GrammarTests.test_funcdef.<locals>.pos2key2dict�s���B�r�"�U�AR�:Rr7)r��tokwarg1�tokwarg2)r�r�r�zdef f(*): passzdef f(*,): passzdef f(*, **kwds): passc�
�||fSr�rQ)rn�kwargss  r5r�z$GrammarTests.test_funcdef.<locals>.f�s����<�r7�r4r�)rWrXrYzf(1, x=2, *(3,4), x=5)�	scrambled�fried)�eggsr�r�r�z
f(*g(1=2))zf(**g(1=2))�returnc��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7r�c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7r�c��dSr�rQr�s  r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s  r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s    r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7)r�rZc��dSr�rQr�s    r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7r��gc��dSr�rQ)r�r�rZr�r�r�r�s       r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7)r�rZr�r��
)�i�j�hr��k��c��dSr�rQ�r�r�rZr�r�r�r�r�r�r�r�s           r5r�z$GrammarTests.test_funcdef.<locals>.f����"�dr7)r�rZr�r�r�r�r�r�r�c��dSr�rQr�s           r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7)	r�rZr�r�r�r�r�r�r�c��eZdZdd�ZdS)�'GrammarTests.test_funcdef.<locals>.Spam�	_Spam__kwrWc��dSr�rQ)r3r�s  r5r�z)GrammarTests.test_funcdef.<locals>.Spam.f�����r7N)r�rW)r�r�r�r�rQr7r5�Spamr��s(������
�
�
�
�
�
r7r�c��eZdZdS)�&GrammarTests.test_funcdef.<locals>.HamNrrQr7r5�Hamr����������r7r�r�c��|Sr�rQr�s r5�nullz'GrammarTests.test_funcdef.<locals>.null�s��A�Xr7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�s���$r7Fc��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�����$r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c����|��Sr�rQ)r�r�s �r5�<lambda>z+GrammarTests.test_funcdef.<locals>.<lambda>�s���4�4��7�7�r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7.c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQr�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c����Sr�rQ��closures�r5r�z$GrammarTests.test_funcdef.<locals>.f�s����r7c����Sr�rQ)r4r�s �r5r�z$GrammarTests.test_funcdef.<locals>.f�s���7�Nr7�r�c����Sr�rQ)r�r�s �r5r�z$GrammarTests.test_funcdef.<locals>.f�s���g�~r7c����Sr�rQr�s�r5r�z$GrammarTests.test_funcdef.<locals>.f�s���w�r7c��dSr�rQr~s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�rns r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�rs r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�r�rns  r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�r�rs  r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�r�rns  r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�r�s r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�rnrs  r5r�z$GrammarTests.test_funcdef.<locals>.f�r�r7c��dSr�rQ�r�r�rns   r5r�z$GrammarTests.test_funcdef.<locals>.fr�r7c��dSr�rQr�s  r5r�z$GrammarTests.test_funcdef.<locals>.fr�r7c��dSr�rQ�r�rnrs   r5r�z$GrammarTests.test_funcdef.<locals>.fr�r7c��dSr�rQ�r�rnrs   r5r�z$GrammarTests.test_funcdef.<locals>.fr�r7c��dSr�rQ�r�rs  r5r�z$GrammarTests.test_funcdef.<locals>.fr�r7c��dSr�rQ�r�r�rnrs    r5r�z$GrammarTests.test_funcdef.<locals>.fr�r7c��dSr�rQ�r�r�rs   r5r�z$GrammarTests.test_funcdef.<locals>.fr�r7r�)r�)r�rX)r�rWrZr/)rZr/r�rW)rYr�)r�rWrZr/r�rXr�rz)r�rWrZr/r�rXr�rzr�r{r�r:r�r�r�r�)r1�__code__�co_varnamesrXrYrZ�BytesWarningr�rM�	TypeErrorrGrHrIrr�r�r�r2r��__call__)r3r`rdrirlrorsrvryrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�s                            @@r5�test_funcdefzGrammarTests.test_funcdefs�����	���
�����
��B���
��B�
�"�
�
�
�"�"�"�$�$�$������0�2C�D�D�D������0�2F�G�G�G���� � � �������!�!�!�
�����
��1����
��1����
��1�a����
��1�a�	�	�	�
�����
��1����
��1����
��1�Q����
��1�Q�q��1�Q�q��1�Q����
��1����
��1����
��1�Q����
��1�Q�q�	�	�	�
��1�Q�q��1�Q�q��1�Q����
��1�Q����
��1�Q�q�	�	�	�
��1�Q�q�����
��1�Q�q��1�Q�q��1�Q���������������A������T�
�
���R�Y�A�3�����.�2�.��	�r�.�.�.�2�.�.�.�����s�1�g��������s�1�g�m�����������A������A�q�	�	�	�����#�a����� � � � ���A�q�	�	�	���A�q�!������Y�����A���������A�q��4���������S��G���������������A������A�q�	�	�	���V�����A�
��
�
�
�
�����#�a���������A�A������"�"�"�"���A������A�q�	�	�	���A�q�!����%�%�%�%���A�q�	�	�	���A�q�!������A�q�!�Q����"�"�"�"��������Q������Q��
�
�
���l�����d��������A�w����%�%�%�%���Q������Q��
�
�
���Q��1�
�
�
�(�(�(�(���Q��
�
�
���Q��1�
�
�
���Q��1�a������l�������c�1�X����'�'�'�'��������Q������Q��
�
�
���Q��1�
�
�
���Q��������� � �Q�Q��� � � �*�*�*�*���Q������Q��
�
�
���Q��1�
�
�
���Q��1�a������l�����Q���I�������Q�"��"�"�"�#�q��"�"�"�-�-�-�-���Q��
�
�
���Q��1�
�
�
���Q��1�a������Q��1�a�������l�����Q���I�������Q�$��$�$�$�C��8�$�$�$��
$�
&�
&�	M�	M��!�(�L�9�9�9�
M��'�'�F�1�;�'�'�'��	�	�K�L�L�L�L���
�
�
���
����		M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M����	M�	M�	M�	M�	)�(�(���S�����'*�?�?�?�?�?����A�#��������A�#�#�&�&�&�&����A�#�#�&�&�&�&�'*�R�R�R�R�R���Q�q�C��c�:�:�:�:���Q�q�#�s�s�;�;�;�;����+�t�-=�>�>�>����+�t�->�?�?�?����+�t�-E�F�F�F�	 �	 �	 ������1�0�Q��F�0�0��a�0�0�0�9�9:��N�N�3D�	E�	E�	E������1��u��a����<��*<�=�=�=����+�t�-E�F�F�F������B�B�[��A�A�B�B��k�'�B�B�C�	E�	E�	E������@�@��@�F�;�+?�@�@��k�'�B�B�C�	E�	E�	E�	�4��.�.�.��4��/�/�/�	�D���������*�X�t�,<�=�=�=�����������*�S�#�J�7�7�7�����������*�S�#�J�7�7�7�#�#��#�#�#�#�����*�S�#�J�7�7�7��#���������*�S�#�J�7�7�7��5���������*�S�%�L�9�9�9���������*�S�!�H�5�5�5�!�!�!�!�����*�S�!�H�5�5�5�%�%�%�%�����*�!�!�,<�,<�=�=�=�(�(�(�(�����*�!�!�,<�,<�=�=�=�;�;�;�;�;�����*� �q�q�q�9�9�	;�	;�	;�	#�a��	#�	#��	#��	#�	#�	#�	#�����*� �q�q�q�q�q�!�R�1�1�	2�	2�	2�	#��RT�	#�	#�	#�A�	#�!�	#�1�	#�S�	#�Q�	#�1�	#�a�	#��	#��	#�	#�	#�	#�����*� !����!�!�RS� "�b�2�2�	3�	3�	3�	�	�	�	�	�	�	�	�	�����$���������/�+�q�1A�B�B�B������.��a�0@�A�A�A����	
��D����
�������*�X�t�,<�=�=�=����
��������
���	�	�	�	���
�	��

�t�S�	�!�	���
�	��	���d���D�	�	���
�	��
����	�	$���
%�	$���������"�"�"�"�"�"��%�%�%�%�%�%�%�&�3�&�&�&�&�&�&�	���������������������#�#�#�!�!�!����&�&�&�&�&�&�"�"�"�)�)�)�%�%�%�%�%s6�R,�,R�:R,�
R�R,�R�R,�,R0�3R0c��d�}|�|��d��d�}d�}|�|��gd���d&d�fd�fd	�}|�|��d��d'd�}|�|dd
��d��|�|dd
d
��d��t|d��t|d��dd�d�}|�|dd
��d��|�|dd
d���d��d�}d�}d�}	d�}
d�}d�}d�}
d�}d�}d �}d!�}d"�}d#�}d$�}d%�}dS)(Nc��dS�NrrQrQr7r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>
s��a�r7rc�&�ttSr�)r�r�rQr7r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s
��a��d�r7c��d�dD��S)Nc��g|]}d|k��	Sr�rQ��.0r4s  r5�
<listcomp>z?GrammarTests.test_lambdef.<locals>.<lambda>.<locals>.<listcomp>
s��1�1�1��q�1�u�1�1�1r7)���rXrrQrQr7r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>
s��1�1�j�1�1�1�r7)rrWrrWc��|Sr�rQ�r�s r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s���r7c��|��Sr�rQ)r�s r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��A�A�C�C�r7c��|��Sr�rQr�s r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��!�!�#�#�r7r/c��||z|zSr�rQ)r4r�r�s   r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��q�1�u�q�y�r7r�rXrzzlambda x: x = 2zlambda (None,): None�r�c��||z|zSr�rQ)r4r�r�s   r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��1�Q�3�q�5�r7�r��
c��dSrrQr~s r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s���r7c��dSrrQr�s r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��Q�r7c��dSrrQr�s r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��a�r7c��dSrrQr�s  r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>����r7c��dSrrQr�s  r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>s���r7c��dSrrQr�s  r5r�z+GrammarTests.test_lambdef.<locals>.<lambda> r%r7c��dSrrQr�s r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>!s��A�r7c��dSrrQr�s  r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>"s��Q�r7c��dSrrQr�s   r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>#s��1�r7c��dSrrQr�s  r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>$s��q�r7c��dSrrQr�s   r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>%����r7c��dSrrQrs   r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>&r-r7c��dSrrQrs  r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>'s��A�r7c��dSrrQrs    r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>(s��1�r7c��dSrrQrs   r5r�z+GrammarTests.test_lambdef.<locals>.<lambda>)s��q�r7r�r��r1r)r3�l1�l2�l3�l4�l5�l6�l10�l11�l12�l13�l14�l15�l16�l17�l18�l19�l20�l21�l22�l23�l24s                      r5�test_lambdefzGrammarTests.test_lambdefs���
�Z���������q�!�!�!�
�]��
1�
1���������y�y�y�)�)�)�#1�>�>�7�7�7�
=�
=�
=���������q�!�!�!�
(�
(�
(�������A�q���1�%�%�%������A�q�!���a�(�(�(��4�!2�3�3�3��4�!7�8�8�8�!�
(�
(�
(�
(�������A�a���&�)�)�)������A�a�"����v�.�.�.��l��������!�!��"�"��!�!���o��&�&��$�$�� � ��)�)��)�)��%�%��,�,��(�(���r7c�&�d}~d�}|��dS)NrWc��d}~dSr�rQr�s r5�fooz*GrammarTests.test_simple_stmt.<locals>.foo2s
���A�Q�Q�Qr7rQ)r3r4rKs   r5�test_simple_stmtzGrammarTests.test_simple_stmt/s)��
���	 �	 �	 �	������r7c��		d}d}dx}x}}d\}}}dx}x\}}}x\}}}}t|d��t|d��dS)NrWr�)rWr/)rXrYz	x + 1 = 1z
a + 1 = b + 2r)	r3r4r�r��abcr�r�rZ�xyzs	         r5�test_expr_stmtzGrammarTests.test_expr_stmt:sr��	��
��������A�����1�a�(4�4��4�g�a��A�4���1�a�#��4��-�-�-��4��1�1�1�1�1r7c	�n�d}gd�}|D�]*}d�|��}|D�]}|�|��}|�|���5|�t|��5t	|��ddd��n#1swxYwYddd��n#1swxYwY|�dd��}|�|���5|�td��5t	|��ddd��n#1swxYwYddd��n#1swxYwY����,dS)N)r�r�)z{} fooz{} {{1:foo}}zif 1: {} foozif 1: {} {{1:foo}}zif 1:
    {} foozif 1:
    {} {{1:foo}}zcall to '{}')�sourcerKz(foo.)zinvalid syntax)�formatr�r�rHr�rc)r3�keywords�cases�keyword�
custom_msg�caserRs       r5�(test_former_statements_refer_to_builtinsz5GrammarTests.test_former_statements_refer_to_builtinsIs@��"��
�
�
�� �
	%�
	%�G�'�.�.�w�7�7�J��
%�
%�����W�-�-���\�\��\�0�0�%�%��/�/��Z�H�H�%�%��V����%�%�%�%�%�%�%�%�%�%�%����%�%�%�%�%�%�%�%�%�%�%�%�%�%�%����%�%�%�%� ����x�8�8���\�\��\�0�0�%�%��/�/��=M�N�N�%�%��V����%�%�%�%�%�%�%�%�%�%�%����%�%�%�%�%�%�%�%�%�%�%�%�%�%�%����%�%�%�%��

%�
	%�
	%sl�B �-B		�=B �	B

�
B �B

�B � B$�'B$�D&�3D	�D&�D
�D&�D
�D&�&D*�-D*c���gd�}|\}}}|||f}~~~~~d\}}}~~~d\}}}}	}
}}~~~~	~
~d\}}}}	}
}}~~~~	~
~td��}
|
dd�=tddd	��dS)
Nr�rO�abcdefg�abcdrWr/z-del a, (b[0].c, (d.e, f.g[1:2])), [h.i.j], ()r~r�)r�r�)r3rNr4r�r�rOr�r�rZr�r�r�r�r\s              r5�
test_del_stmtzGrammarTests.test_del_stmt`s����g�g�����1�a���A�g���
�q�1�c����1�a�
�
�
�(���1�a��A�q�!�
��1��A�q�'���1�a��A�q�!�
��1��A�q��F�|�|����1��I��?��v�V�V�V�V�Vr7c��dSr�rQr\s r5�test_pass_stmtzGrammarTests.test_pass_stmtzs���r7c��dSr�rQr\s r5�test_break_stmtzGrammarTests.test_break_stmt�s���r7c���d}|rd}�d}|sd}	�#d}YnxYw|�|dkr|�|��d}|sd}		d}�	#d}wxYw|dkr|�|��dSdS)NrWrr`�okz&continue failed to continue inside tryz'continue inside try called except blockzfinally block not called�rM)r3r��msgs   r5�test_continue_stmtzGrammarTests.test_continue_stmt�s���
��� �Q������	@��C�
@���
@�?�������
�	@��$�;�;��I�I�c�N�N�N����	�,�C�
������d��
�
�
�
��$�;�;��I�I�c�N�N�N�N�N��;s
��Ac�(��d�fd�	}|��dS)NrWrc���d}|r |dz
}	|r|dkr|dz}n|dz}�#�xYw|dks|dkr��d��dSdS)Nr/rWz1continue then break in try/except in loop broken!rd)�extra_burning_oil�count�	big_hippor3s   �r5�
test_innerz9GrammarTests.test_break_continue_loop.<locals>.test_inner�s�����I��	
���
���(��Y�!�^�^�)�Q�.�)����N�I���������q�y�y�I��N�N��	�	�M�N�N�N�N�N�+�Ns�
 � �#)rWrrQ)r3rls` r5�test_break_continue_loopz%GrammarTests.test_break_continue_loop�s8���
	O�
	O�
	O�
	O�
	O�
	O�	�
�����r7c��d�}d�}d�}|��|��}|��}|�|dd��t|d��dS)Nc��dSr�rQrQr7r5�g1z$GrammarTests.test_return.<locals>.g1�s��&�&r7c��dSr�rQrQr7r5�g2z$GrammarTests.test_return.<locals>.g2�s���r7c��ddg}dg|�RS)Nr/rXrWrQrs r5�g3z$GrammarTests.test_return.<locals>.g3�s���A��A��5�q�5�5�Lr7r�z unparenthesized star expr returnzclass foo:return 1r2)r3rprrrtr4r�s      r5�test_returnzGrammarTests.test_return�sv��������	�	�	�	������B�D�D���B�D�D������I�'I�J�J�J��4�!5�6�6�6�6�6r7c��d}|dkr|dz
}		n#YnxYw|�|d��d}|dkr|dz
}		n#YnxYw|�|d��d}|dkr|dz
}	ddzn#YnxYw|�|d��dD]#}|�|d��		n#YnxYw|�|d��dD]#}|�|d��		n#YnxYw|�|d��dD]'}|�|d��	ddzn#YnxYw|�|d��dS�Nrr/rW�rrWr0�r3rjs  r5�test_break_in_finallyz"GrammarTests.test_break_in_finally�s������a�i�i��Q�J�E�
���������������"�"�"����a�i�i��Q�J�E�
���������������"�"�"����a�i�i��Q�J�E�
��!����������������"�"�"��	�	�E����U�A�&�&�&�
�����������������"�"�"��	�	�E����U�A�&�&�&�
�����������������"�"�"��	�	�E����U�A�&�&�&�
��!������������������"�"�"�"�"s-��A�)A/�/A3�*B/�&C+�D&�&D+c��d}|dkr|dz
}		�#Y�xYw|�|d��d}|dkr|dz
}		�#Y�xYw|�|d��d}|dkr|dz
}	ddz�#Y�xYw|�|d��dD]}		�#Y�	xYw|�|d��dD]}		�#Y�	xYw|�|d��dD]}	ddz�	#Y�
xYw|�|d��dSrwr0rys  r5�test_continue_in_finallyz%GrammarTests.test_continue_in_finally�s������a�i�i��Q�J�E�
���������������"�"�"����a�i�i��Q�J�E�
���������������"�"�"����a�i�i��Q�J�E�
��!����������������"�"�"��	�	�E�
���������������"�"�"��	�	�E�
���������������"�"�"��	�	�E�
��!����������������"�"�"�"�"s-��A�)A/�/A3�B�7B;�C�C#c���d�}|�|��d��d�}|�|��d��d�}|�|��d��dS)Nc��		dS#YdSxYwr�rQrQr7r5rpz/GrammarTests.test_return_in_finally.<locals>.g11s��
���q��q�q�q�q�q�q�q��
rWc��		dS#YdSxYw)NrXrQrQr7r5rrz/GrammarTests.test_return_in_finally.<locals>.g28s��
���q��q�q�q�q�q�q�qrrXc�"�	ddzdS#YdSxYw)NrWrrYrQrQr7r5rtz/GrammarTests.test_return_in_finally.<locals>.g3?s$��
��!����q��q�q�q�q�q�q�qs�	�rYr0)r3rprrrts    r5�test_return_in_finallyz#GrammarTests.test_return_in_finally0s���	�	�	�
	
�������q�!�!�!�	�	�	�
	
�������q�!�!�!�	�	�	�
	
�������q�!�!�!�!�!r7c�
�d�}|�|d��d��|�|d��d��d�}|�|d��d��|�|d��d��dS)Nc�\�dD]%}d}|dkr|dz
}	||z|rn
cS#|rYnwxYw�&d||fS)Nrxrrr��endrQ�r4rj�count2s   r5rpz;GrammarTests.test_break_in_finally_after_return.<locals>.g1Hsu���
"�
"�����r�k�k��b�L�F�"�$�v�~��"�!�E�"�"�"��1�"�!�E�E�E�E�E�E���%��'�'s��%�%Fr�T)r�rWr�c�R�dD] }dD]}	||z|rnccS#|rYnwxYw�!d||fS)Nrx)r�rr�rQr�s   r5rrz;GrammarTests.test_break_in_finally_after_return.<locals>.g2Vs{���
"�
"��&�"�"�F�"�$�v�~��"�!�E�E�"�"�"�"�"��1�"�!�E�E�E�E�E�E�E���%��'�'s�� � r0�r3rprrs   r5�"test_break_in_finally_after_returnz/GrammarTests.test_break_in_finally_after_returnFs���
	(�
	(�
	(�	
�����E���B�'�'�'������D���>�2�2�2�	(�	(�	(�	
�����E���B�'�'�'������D���>�2�2�2�2�2r7c�
�d�}|�|d��d��|�|d��d��d�}|�|d��d��|�|d��d��dS)	Nc�F�d}|dkr|dz
}	||r�S#|rY�wxYwd|fS)Nrr�rWr�rQ�r4rjs  r5rpz>GrammarTests.test_continue_in_finally_after_return.<locals>.g1dsT���E��#�+�+���
��!� ��!� ��!��q�!� ��������%�<�s���FrWT)r�r�c�8�dD]}	||r�cS#|rY�wxYwd|fS)Nrxr�rQr�s  r5rrz>GrammarTests.test_continue_in_finally_after_return.<locals>.g2qsV���
!�
!��!� ��!� ��!�!�!��q�!� ��������%�<�s���r)r�rWr0r�s   r5�%test_continue_in_finally_after_returnz2GrammarTests.test_continue_in_finally_after_returnbs���		 �		 �		 �	
�����E���A�&�&�&������D���<�0�0�0�	 �	 �	 �	
�����E���A�&�&�&������D���:�.�.�.�.�.r7c�L�d�}d�}d�}d�}d�}d�}t|d��t|d��d	�}d
�}t|d��t|d��d
�}d�}d�}d�}d�}|�t|����dg��t|d��t|d��t|d��t|d��t|d��t|d��t|d��t|d��t|d��dS)Nc3�K�dV�dSr�rQrQr7r5r�z"GrammarTests.test_yield.<locals>.g~s����q�����r7c3�K�dEd{V��dS�NrQrQrQr7r5r�z"GrammarTests.test_yield.<locals>.gs����B���������r7c3�K�dV�}dSr�rQr�s r5r�z"GrammarTests.test_yield.<locals>.g�s����1�W�W���r7c3�K�dEd{V��}dSr�rQr�s r5r�z"GrammarTests.test_yield.<locals>.g�s�����]�]�]�]�]�]���r7c3�K�dV�dS�N)rWrWrQrQr7r5r�z"GrammarTests.test_yield.<locals>.g�s����t�����r7c3�K�dV�}dSr�rQr�s r5r�z"GrammarTests.test_yield.<locals>.g�s����4�Z�Z���r7zdef g(): yield from (), 1zdef g(): x = yield from (), 1c3�K�ddV�fdSr�rQrQr7r5r�z"GrammarTests.test_yield.<locals>.g�s�����1�W�W����r7c3�K�ddEd{V��fdS�NrWrQrQrQr7r5r�z"GrammarTests.test_yield.<locals>.g�s"������]�]�]�]�]�]�#�#�#�#r7zdef g(): 1, yield 1zdef g(): 1, yield from ()c3�,K�tdV���dSr��r�rQr7r5r�z"GrammarTests.test_yield.<locals>.g�s�����!�G�G�����r7c3�.K�tdV�d��dSr�r�rQr7r5r�z"GrammarTests.test_yield.<locals>.g�s�����!�G�G�a�����r7c3�4K�tdEd{V����dSr�r�rQr7r5r�z"GrammarTests.test_yield.<locals>.g�s%�����r�M�M�M�M�M�M�#�#�#�#�#r7c3�6K�tdEd{V��d��dS)NrQrWr�rQr7r5r�z"GrammarTests.test_yield.<locals>.g�s'�����r�M�M�M�M�M�M�A�&�&�&�&�&r7c3�"K�d}dddg|�RV�dS)N�rYr�rzrWr/rXrQrqs r5r�z"GrammarTests.test_yield.<locals>.g�s'������q�!�Q�~��~�~�!5�!5�!5�!5�!5r7)rWr/rXrYr�rzzdef g(): f(yield 1)zdef g(): f(yield 1, 1)zdef g(): f(yield from ())zdef g(): f(yield from (), 1)�yieldz
yield fromzclass foo:yield 1zclass foo:yield from ()zdef g(a:(yield)): pass)rr1r�)r3r�s  r5�
test_yieldzGrammarTests.test_yield|s~�����������"�"�"��������4�!<�=�=�=��4�!@�A�A�A����#�#�#��4�!6�7�7�7��4�!<�=�=�=���� � � �#�#�#�&�&�&�5�5�5�����a�a�c�c���%7�$8�9�9�9��4�!6�7�7�7��4�!9�:�:�:��4�!<�=�=�=��4�!?�@�@�@��4��)�)�)��4��.�.�.��4�!4�5�5�5��4�!:�;�;�;��4�!9�:�:�:�:�:r7c��d�}d�}|j}|dd��|dd��|dd��|dd��|d	d
��|dd
��|dd
��|dd��|dd��|dd��dS)Nc3�(K�d�dV�fD��dS)Nc��g|]}|��SrQrQrs  r5rzHGrammarTests.test_yield_in_comprehensions.<locals>.g.<locals>.<listcomp>�s��)�)�)��!�)�)�)r7rWrQrQr7r5r�z4GrammarTests.test_yield_in_comprehensions.<locals>.g�s&����)�)�Q�w�w�[�)�)�)�)�)�)r7c3�0K�d�dEd{V��fD��dS)Nc��g|]}|��SrQrQrs  r5rzHGrammarTests.test_yield_in_comprehensions.<locals>.g.<locals>.<listcomp>�s��/�/�/��!�/�/�/r7rQrQrQr7r5r�z4GrammarTests.test_yield_in_comprehensions.<locals>.g�s/����/�/�"�}�}�}�}�}�}�.�/�/�/�/�/�/r7z def g(): [(yield x) for x in ()]z!'yield' inside list comprehensionz)def g(): [x for x in () if not (yield x)]z-def g(): [y for x in () for y in [(yield x)]]z def g(): {(yield x) for x in ()}z 'yield' inside set comprehensionz#def g(): {(yield x): x for x in ()}z!'yield' inside dict comprehensionz#def g(): {x: (yield x) for x in ()}z def g(): ((yield x) for x in ())z#'yield' inside generator expressionz%def g(): [(yield from x) for x in ()]z class C: [(yield x) for x in ()]z[(yield x) for x in ()]r)r3r�rws   r5�test_yield_in_comprehensionsz)GrammarTests.test_yield_in_comprehensions�s*��)�)�)�/�/�/��'��
��0�1�	3�	3�	3�
��9�1�	3�	3�	3�
��=�1�	3�	3�	3�
��0�0�	2�	2�	2�
��3�1�	3�	3�	3�
��3�1�	3�	3�	3�
��0�3�	5�	5�	5�
��5�1�	3�	3�	3�
��0�1�	3�	3�	3�
��'�1�	3�	3�	3�	3�	3r7c�p�td���#t$rYnwxYwt�#t$rYdSwxYw)Nzjust testing)�RuntimeError�KeyboardInterruptr\s r5�
test_raisezGrammarTests.test_raise�sF����/�/�
/���!�!�!�T�T�!����$�
$�� �&�&�&�$�$�$�&���s��
��'�
5�5c�f�ddl}ddl}ddl}ddlm}ddlm}ddlm}m}ddlm}m}ddlm}m}dS)Nr)�time)�path�argv)rJr�r�r�)r3rJr�r�r�s     r5�test_importzGrammarTests.test_import�s����
�
�
���������������������	#�"�"�"�"�"�"�"�$�$�$�$�$�$�$�$�%�%�%�%�%�%�%�%�%�%r7c��dSr�rQr\s r5�test_globalzGrammarTests.test_global�r�r7c����d�d���fd�}dS)Nrc���dSr�rQr�s��r5r�z%GrammarTests.test_nonlocal.<locals>.f�s����r7rQ)r3r�r4r�s  @@r5�
test_nonlocalzGrammarTests.test_nonlocal�s6����
��
��	�	�	�	�	�	�	�	r7c��n,#t$r}|�d��Yd}~nd}~wwxYwdS#t$r }|�d��Yd}~dSd}~wwxYw)Nz6'assert True' should not have raised an AssertionErrorz;'assert True, msg' should not have raised an AssertionError)�AssertionErrorrM�r3r�s  r5�test_assertzGrammarTests.test_assert�s���	P���	P�	P�	P��I�I�N�O�O�O�O�O�O�O�O�����	P����	2�	2���	2�	2�	2��I�I�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�����	2���s�
+�&�+�
A�A�AFz Won't work if __debug__ is Falsec�P�	|�d��n8#t$r+}|�|jdd��Yd}~nd}~wwxYw	|�d��dS#t$r3}|�t	|j��d��Yd}~dSd}~wwxYw)Nz%AssertionError not raised by assert 0rrez+AssertionError not raised by 'assert False')rMr�r1rnr�r�s  r5�test_assert_failuresz!GrammarTests.test_assert_failures�s���	?�

�I�I�=�>�>�>�>���	/�	/�	/����Q�V�A�Y��.�.�.�.�.�.�.�.�����	/����
	E�

�I�I�C�D�D�D�D�D���	-�	-�	-����S���[�[�!�,�,�,�,�,�,�,�,�,�����	-���s"�
A
�!A�A
�(
B%�2(B � B%c�6�|�dd��|�dd��|�dd��|�t���5tddd��td	dd��ddd��dS#1swxYwYdS)
N�assert(x, "msg")zassertion is always true�assert(False, "msg")�assert(False,))�categoryzassert x, "msg"r~r�zassert False, "msg")rr�r[r�r\s r5�test_assert_syntax_warningsz(GrammarTests.test_assert_syntax_warningss��	
�!�!�"4�"<�	>�	>�	>��!�!�"8�"<�	>�	>�	>��!�!�"2�"<�	>�	>�	>��
#�
#�]�
#�
;�
;�	A�	A��%�|�V�<�<�<��)�<��@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	As�#B�B�Bc��tj��5tjdt��	t	ddd��n%#t
$r|�d��YnwxYw|�t
��5t	ddd��ddd��n#1swxYwY|�t
��5t	ddd��ddd��n#1swxYwY|�t
��5t	ddd��ddd��n#1swxYwYddd��dS#1swxYwYdS)	Nr�zassert x, "msg" r~r�z4SyntaxError incorrectly raised for 'assert x, "msg"'r�r�r�)rXrYrZr[r�rHrMrGr\s r5�,test_assert_warning_promotes_to_syntax_errorz9GrammarTests.test_assert_warning_promotes_to_syntax_errors����
$�
&�
&�	@�	@��!�'�=�9�9�9�
T��*�L�&�A�A�A�A���
T�
T�
T��	�	�R�S�S�S�S�S�
T�����"�"�;�/�/�
B�
B��*�L�&�A�A�A�
B�
B�
B�
B�
B�
B�
B�
B�
B�
B�
B����
B�
B�
B�
B��"�"�;�/�/�
F�
F��.��f�E�E�E�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F����
F�
F�
F�
F��"�"�;�/�/�
@�
@��(�,��?�?�?�
@�
@�
@�
@�
@�
@�
@�
@�
@�
@�
@����
@�
@�
@�
@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@s��D=�A�D=�A$�!D=�#A$�$D=�B�D=�B#	�#D=�&B#	�'D=�C"�D=�"C&	�&D=�)C&	�*D=�D%�D=�%D)	�)D=�,D)	�-D=�=E�Ec��								dSr�rQr\s r5�test_ifzGrammarTests.test_if&s)����	��	�	�	�	��dr7c�B�			d}	d}|�|d��dS)NrrWr/r0r2s  r5�
test_whilezGrammarTests.test_while3s<���	��
��	��A�����A�����r7c��dD]}�dD]\}}}�	Gd�d��}d}|d��D]}||z}�|dkr|�d��g}d	D]\}|�|���|�|gd���g}gd�x}x}	}
g|�|	�|
�RD]}|�|���|�|d
|z��dS)Nr�rQc� �eZdZd�Zd�Zd�ZdS)�&GrammarTests.test_for.<locals>.Squaresc�"�||_g|_dSr�)�max�sofar)r3r�s  r5r�z/GrammarTests.test_for.<locals>.Squares.__init__Hs�������
�
�
r7c�*�t|j��Sr�)r�r�r\s r5�__len__z.GrammarTests.test_for.<locals>.Squares.__len__Ks��c�$�*�o�o�5r7c���d|cxkr|jks	nt�t|j��}||kr(|j�||z��|dz}||k�(|j|S)NrrW)r��
IndexErrorr�r��append)r3r��ns   r5r�z2GrammarTests.test_for.<locals>.Squares.__getitem__Lsz���A�(�(�(�(���(�(�(�(�
�*:���
�O�O���1�f�f��J�%�%�a��c�*�*�*��!��A��1�f�f��z�!�}�$r7N)r�r�r�r�r�r�rQr7r5�Squaresr�Gs=������
 �
 �
 �
6�5�5�
%�
%�
%�
%�
%r7r�rr�izfor over growing sequence)r�r�r�rX)rMr�r1)r3r�r�r�r�r�r4�resultr�r�rZs           r5�test_forzGrammarTests.test_forBs@�����A�A��	�	�G�A�q�!�!��	%�	%�	%�	%�	%�	%�	%�	%�
�������%�%�A�!�A�#�a�a���8�8��I�I�1�2�2�2���$�	�	�B�A��M�M�!������������+�+�+����I�I����A���!��a��!���	�	�A��M�M�!����������Q��'�'�'�'�'r7c���	ddzn#t$rYnwxYwddzn$#t$rYnt$r
}Yd}~n
d}~wYnxYwddzn#tttf$rYnwxYwddzn$#tttf$r
}Yd}~nd}~wwxYw	n#wxYw|�t��5tddd��tddd��ddd��dS#1swxYwYdS)NrWrz/try:
    pass
except Exception as a.b:
    pass�?r�z0try:
    pass
except Exception as a[b]:
    pass�r��EOFErrorrrGrHr��r3res  r5�test_tryzGrammarTests.test_trycs���	�
�a�C�C�
��!�	�	�	��D�	�����q�S�S����������%�%�%����������������
�q�S�S�S���)�%6�7�=�=�=���=����
�q�S�S�S���)�%6�7�D�D�D����������D����
�������
�
�
�{�
+�
+�	X�	X��H�#�v�V�V�V��I�3�PV�W�W�W�	X�	X�	X�	X�	X�	X�	X�	X�	X�	X�	X�	X����	X�	X�	X�	X�	X�	XsX��
���
?�	?�?�A�A"�!A"�%A+�+B�B�B�0#C � C$�'C$c��	ddzn #xgct%x�nn��Xx�YncYwxYw	ddzn5#xgct%x�nn�t%x�n
}d}~nd}~��Xx�YncYwxYw	ddzn-#xgctttf%x�nn��Xx�YncYwxYwddzn3#xgctttf%x�n
}d}~nd}~��Xx�YncYwxYw	n#wxYw|�t��5tddd��tddd��tddd��ddd��dS#1swxYwYdS)NrWrz0try:
    pass
except* Exception as a.b:
    passr�r�z1try:
    pass
except* Exception as a[b]:
    passztry:
    pass
except*:
    passr�r�s  r5�
test_try_starzGrammarTests.test_try_star|s��	�
�a�C�C�C��	�	�	�!�	�	�	�	�	�	������������������
�q�S�S�S������������$���!�.�.�.�.�.�.�$�$�$�$��������������������
�q�S�S�S��>�>�>��9�&7�8�>�>�>�>�>�>�$����������������
�q�S�S�S��E�E�E��9�&7�8�E�E�E�E�E�E�����������������������
�������
�
�
�{�
+�
+�	G�	G��I�3�PV�W�W�W��J�C�QW�X�X�X��8�#�v�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G�	G�	GsA��%�/�-A!�%A+�+%B�B�+C�C�24D3�3D7�:D7c��						dSr�rQr\s r5�
test_suitezGrammarTests.test_suite�s���	��	�
���Dr7c��					dSr�rQr\s r5�	test_testzGrammarTests.test_test�s��	����"�48�Dr7c��	ddk}ddkr	ddkr	ddkr	ddkr	ddkr	ddkr	||ur	||ur	ddvr	ddvr	ddcxkr6dcxkr/dcxkr(dcxkr!dcxkrdcxkrdcxvr|cxvr	|cxur|urndSdSdSr�rQr2s  r5�test_comparisonzGrammarTests.test_comparison�s���
�!�V����6�6�4���6�6�4��q�5�5�$��q�5�5�$���6�6�4���6�6�4���6�6�4��A�:�:�t���7�7�D��B�;�;���q�D�D�D�D�1�D�D�D�D��D�D�D�D�Q�D�D�D�D�!�D�D�D�D�q�D�D�D�D�A�D�D�D�D�Q�D�D�D�D�!�D�D�D�D�1�D�D�D�D�D�D�d�d�D�Dr7c���d�fd�	}|d��|d��|d��|d��|dd��tj��5tjd	t��t	d
dd��t	d
dd��t	ddd��t	ddd��ddd��dS#1swxYwYdS)Nr�c�4����||��dSr�r�r�rer3s  �r5rwz6GrammarTests.test_comparison_is_literal.<locals>.check������%�%�d�C�0�0�0�0�0r7zx is 1zx is "thing"z1 is xzx is y is 1z
x is not 1z"is not" with a literalr�z	x is Noner~r�z
x is Falsez	x is Truezx is ...)r��rXrYrZr[r�rvs` r5�test_comparison_is_literalz'GrammarTests.test_comparison_is_literal�s>���	1�	1�	1�	1�	1�	1�	��h����
��n����
��h����
��m����
��l�5�6�6�6�
�
$�
&�
&�	6�	6��!�'�=�9�9�9��K��v�6�6�6��L�,��7�7�7��K��v�6�6�6��J��f�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�AB?�?C�Cc�>�����fd�}d�|d��|d��|d��|d��|d��|d��|d	��|d
��|d��|d��|d
��|d��|d��|d��|d��|d��|d��|d��|d��d�|d��|d��|d��|d��|d��|d��|d��|d��|d��|d ��d!�|d"��|d#��|d$��|d%��|d&��|d'��|d(��|d)��d*�|d+��d,�|d-��|d.��d/�|d0��|d1��d2�|d3��|d4��d5�|d6��d7�|d8��d9�|d:��|d;��|d<��d=�|d>��|d?��|d@��|dA��|dB��tj��5tjdCt��t	dDdEdF��t	dGdEdF��t	dHdEdF��t	dIdEdF��t	dJdEdF��t	dKdEdF��ddd��dS#1swxYwYdS)LNc�4����|���dSr�rr�s ��r5rwz2GrammarTests.test_warn_missed_comma.<locals>.check�r�r7z-is not callable; perhaps you missed a comma\?z[(1, 2) (3, 4)]z[(x, y) (3, 4)]z[[1, 2] (3, 4)]z[{1, 2} (3, 4)]z[{1: 2} (3, 4)]z[[i for i in range(5)] (3, 4)]z[{i for i in range(5)} (3, 4)]z[(i for i in range(5)) (3, 4)]z![{i: i for i in range(5)} (3, 4)]z[f"{x}" (3, 4)]z[f"x={x}" (3, 4)]z["abc" (3, 4)]z[b"abc" (3, 4)]z[123 (3, 4)]z
[12.3 (3, 4)]z[12.3j (3, 4)]z
[None (3, 4)]z
[True (3, 4)]z[... (3, 4)]z2is not subscriptable; perhaps you missed a comma\?z[{1, 2} [i, j]]z[{i for i in range(5)} [i, j]]z[(i for i in range(5)) [i, j]]z[(lambda x, y: x) [i, j]]z[123 [i, j]]z
[12.3 [i, j]]z[12.3j [i, j]]z
[None [i, j]]z
[True [i, j]]z[... [i, j]]zKindices must be integers or slices, not tuple; perhaps you missed a comma\?z[(1, 2) [i, j]]z[(x, y) [i, j]]z[[1, 2] [i, j]]z[[i for i in range(5)] [i, j]]z[f"{x}" [i, j]]z[f"x={x}" [i, j]]z["abc" [i, j]]z[b"abc" [i, j]]z.indices must be integers or slices, not tuple;z[[1, 2] [3, 4]]z-indices must be integers or slices, not list;z[[1, 2] [[3, 4]]]z [[1, 2] [[i for i in range(5)]]]z,indices must be integers or slices, not set;z[[1, 2] [{3, 4}]]z [[1, 2] [{i for i in range(5)}]]z-indices must be integers or slices, not dict;z[[1, 2] [{3: 4}]]z#[[1, 2] [{i: i for i in range(5)}]]z2indices must be integers or slices, not generator;z [[1, 2] [(i for i in range(5))]]z1indices must be integers or slices, not function;z[[1, 2] [(lambda x, y: x)]]z,indices must be integers or slices, not str;z[[1, 2] [f"{x}"]]z[[1, 2] [f"x={x}"]]z[[1, 2] ["abc"]]z'indices must be integers or slices, notz[[1, 2] [b"abc"]]z[[1, 2] [12.3]]z[[1, 2] [12.3j]]z[[1, 2] [None]]z[[1, 2] [...]]r�z[(lambda x, y: x) (3, 4)]r~r�z[[1, 2] [i]]z[[1, 2] [0]]z[[1, 2] [True]]z[[1, 2] [1:2]]z[{(1, 2): 3} [i, j]]r�)r3rwres` @r5�test_warn_missed_commaz#GrammarTests.test_warn_missed_comma�s�����	1�	1�	1�	1�	1�	1�
=��
��� � � �
��� � � �
��� � � �
��� � � �
��� � � �
��.�/�/�/�
��.�/�/�/�
��.�/�/�/�
��1�2�2�2�
��� � � �
��!�"�"�"�
������
��� � � �
��n����
��o����
������
��o����
��o����
��n����A��
��� � � �
��.�/�/�/�
��.�/�/�/�
��)�*�*�*�
��n����
��o����
������
��o����
��o����
��n����Z��
��� � � �
��� � � �
��� � � �
��.�/�/�/�
��� � � �
��!�"�"�"�
������
��� � � �=��
��� � � �<��
��!�"�"�"�
��0�1�1�1�;��
��!�"�"�"�
��0�1�1�1�<��
��!�"�"�"�
��3�4�4�4�A��
��0�1�1�1�@��
��+�,�,�,�;��
��!�"�"�"�
��#�$�$�$�
�� �!�!�!�6��
��!�"�"�"�
��� � � �
�� �!�!�!�
��� � � �
������
�
$�
&�
&�	B�	B��!�'�=�9�9�9��/��v�F�F�F��N�L�&�9�9�9��N�L�&�9�9�9��%�|�V�<�<�<��$�l�F�;�;�;��*�L�&�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs�BL�L�Lc��d}d}d}dS)NrWrrQr2s  r5�test_binary_mask_opsz!GrammarTests.test_binary_mask_ops"s���������r7c��d}d}d}dS)Nr/rrWrQr2s  r5�test_shift_opszGrammarTests.test_shift_ops's���������r7c��d}d}d}d}dS)NrWr/rrQr2s  r5�test_additive_opszGrammarTests.test_additive_ops,s��
���������r7c��d}d}d}d}dS)NrW��?rgrQr2s  r5�test_multiplicative_opsz$GrammarTests.test_multiplicative_ops2s�����������r7c��d}d}d}d}d}dS)NrWr���r�rQr2s  r5�test_unary_opszGrammarTests.test_unary_ops8s��������#��!���r7c��ddl}ddl}|jd}|���}|jd���}d}|d}|d}|dd�}|dd�}|dd�}|dd�}|dd�}|dd�}|dd�}i}d	|d	<d
|d<d|d
<d|d<t	|��}|�d����|�t|��d��dS)Nrr��01234rr����������rWr/r�rXr�rYr�c�.�t|��j|fSr�)rFr�r�s r5r�z-GrammarTests.test_selectors.<locals>.<lambda>Zs��d�1�g�g�.��2�r7r�z[1, (1,), (1, 2), (1, 2, 3)])rJr�r��modulesr��sortr1r�)	r3rJr�rZr4r�rNr��Ls	         r5�test_selectorszGrammarTests.test_selectors?s/��	���������H�Q�K���I�I�K�K���K���$�$�&�&����
�a�D��
�b�E��
�a��c�F��
�b�q�b�E��
�a�b�b�E��
�a�a�a�D��
�b�c�c�F��
�c�r�c�F��
�b��e�H��
����!����"����#����%����G�G��	���2�2��3�3�3�����Q���!?�@�@�@�@�@r7c��d}d}dddf}g}dg}dg}dddg}g}i}ddi}ddi}ddi}ddd�}ddd�}dddddd	d
�}dh}ddh}hd�}hd�}|}d
}d}dS)NrWr/rXr�rg)r�rgrYr�rz)r�rg�three�four�five�six>r�rgr>r/rXrYr4r,rQr2s  r5�
test_atomszGrammarTests.test_atoms]s�����
��
�!�Q�����
�C��
�M��
�!�Q�������
�A�J��
�A�K��
�Q�$���a� � ���a�!�!���a�!�Q��!�L�L��
�G��
�A�K��#�#�#���J�J��
�������r7c�<��Gd�d��}Gd�d��}Gd�d|��}Gd�d|��}Gd	�d
|||��}Gd�d��}d
���Gd�d����}�Gd�d����}�x}	Gd�d����}
�fd�Gd�d����}d�dgdGd�d����}�������Gd�d����}
�gdjjGd�d ����}dS)!Nc��eZdZdS)�%GrammarTests.test_classdef.<locals>.BNrrQr7r5rr�r�r7rc��eZdZdS)�&GrammarTests.test_classdef.<locals>.B2NrrQr7r5�B2r�r�r7rc��eZdZdS)�&GrammarTests.test_classdef.<locals>.C1NrrQr7r5�C1r�r�r7rc��eZdZdS)�&GrammarTests.test_classdef.<locals>.C2NrrQr7r5�C2r�r�r7rc��eZdZdS)�%GrammarTests.test_classdef.<locals>.DNrrQr7r5rr�r�r7rc� �eZdZd�Zd�Zd�ZdS)�%GrammarTests.test_classdef.<locals>.Cc��dSr�rQr\s r5�meth1z+GrammarTests.test_classdef.<locals>.C.meth1�r�r7c��dSr�rQ)r3�args  r5�meth2z+GrammarTests.test_classdef.<locals>.C.meth2�r�r7c��dSr�rQ)r3rlros   r5�meth3z+GrammarTests.test_classdef.<locals>.C.meth3�r�r7N)r�r�r�rr!r#rQr7r5r�r�s+������!�!�!�&�&�&�)�)�)�)�)r7r�c��|Sr�rQr�s r5�class_decoratorz3GrammarTests.test_classdef.<locals>.class_decorator�s��q�r7c��eZdZdS)�%GrammarTests.test_classdef.<locals>.GNrrQr7r5�Gr'���������r7r(Fc��eZdZdS)�%GrammarTests.test_classdef.<locals>.HNrrQr7r5�Hr+�r)r7r,c��eZdZdS)�%GrammarTests.test_classdef.<locals>.INrrQr7r5�Ir.�r)r7r/c����|��Sr�rQ)rZr%s �r5r�z,GrammarTests.test_classdef.<locals>.<lambda>�s���?�?�1�%�%�r7c��eZdZdS)�%GrammarTests.test_classdef.<locals>.JNrrQr7r5�Jr2�r)r7r3.rWc��eZdZdS)�%GrammarTests.test_classdef.<locals>.KNrrQr7r5�Kr5�r)r7r6c��eZdZdS)�%GrammarTests.test_classdef.<locals>.LNrrQr7r5rr8�r)r7rrc��eZdZdS)�%GrammarTests.test_classdef.<locals>.MNrrQr7r5r3r:�r)r7r3)r)r3rrrrrr�r(r,r�r/r3r6rr3r%s               @r5�
test_classdefzGrammarTests.test_classdef�s�����
�
�
�
�
�
�
��������������������������� � � � � ��B�� � � �	*�	*�	*�	*�	*�	*�	*�	*�	)�(�(�	��
�
�
�
�
�
�
���"��
�
�
�
�
�
�
"�	!���	���
�
�
�
�
�
�
�	��	%�	%�	%�	%��
�
�
�
�
�
�
&�	%��

���	$�Q�	'��
�
�
�
�
�
�
(�	'��	)����	)�	)�/�	:�	:��
�
�
�
�
�
�
;�	:��
�	�1�	�	&�	/��
�
�
�
�
�
�
0�	/��
�
r7c�V�gd�}|�d�|D��dddd���dS)Nr�c��i|]}||dz��	Sr�rQ�rr�s  r5�
<dictcomp>z/GrammarTests.test_dictcomps.<locals>.<dictcomp>�s��.�.�.�A�!�A�a�C�.�.�.r7r/rXrYr0)r3�numss  r5�test_dictcompszGrammarTests.test_dictcomps�sB���y�y�����.�.��.�.�.�A�!��0B�0B�C�C�C�C�Cr7c	�����	�gd�}gd��gd�}��d�|D��gd�����d�|D��gd�����d�|D��gd	������fd
�|D��gd������fd�|D��gd
�����d�td��D��dgddggd�gd�gd�g��d�}��||��gd����fd�}|��t�d��t�d��gd�}gd��gd��	��	fd�|D��}��|gd���dS)Nr[)�Apple�Banana�Coconut)z  Applez Banana zCoco  nut  c�6�g|]}|�����SrQ)�strip)rrNs  r5rz/GrammarTests.test_listcomps.<locals>.<listcomp>�s ��2�2�2��!�'�'�)�)�2�2�2r7)rCrDz	Coco  nutc��g|]}d|z��Sr�rQrs  r5rz/GrammarTests.test_listcomps.<locals>.<listcomp>�s��.�.�.�A�!�a�%�.�.�.r7)rXrzr:r��c��g|]
}|dk�|��Sr�rQrs  r5rz/GrammarTests.test_listcomps.<locals>.<listcomp>�s��3�3�3��Q��U�U�!�U�U�Ur7r�c�"��g|]}�D]}||f���SrQrQ�rr�rN�strss   �r5rz/GrammarTests.test_listcomps.<locals>.<listcomp>�s*���=�=�=�Q��=�=�1�1�a�&�=�=�=�=r7))rWrC�rWrD�rWrE)r/rC�r/rD�r/rE)rXrC�rXrD�rXrE)rYrC�rYrD�rYrE)r�rC�r�rD�r�rEc�6��g|]}d��D��D]}||f���S)c��g|]}d|v�|��	S)r�rQ)rr�s  r5rz:GrammarTests.test_listcomps.<locals>.<listcomp>.<listcomp>�s��8U�8U�8U�q�C�ST�H�H��H�H�Hr7rQrLs   �r5rz/GrammarTests.test_listcomps.<locals>.<listcomp>�s9���V�V�V�Q�8U�8U�D�8U�8U�8U�V�V�1�1�a�&�V�V�V�Vr7)
rNrOrPrQrRrSrTrUrVrWc�&�g|]}d�|����S)c�@���fd�t�dz��D��S)Nc���g|]}�|z��SrQrQ)rr�r�s  �r5rzLGrammarTests.test_listcomps.<locals>.<listcomp>.<lambda>.<locals>.<listcomp>�s���$>�$>�$>�a�Q��T�$>�$>�$>r7rW��ranger~s`r5r�z8GrammarTests.test_listcomps.<locals>.<listcomp>.<lambda>�s&���$>�$>�$>�$>�5��1��:�:�$>�$>�$>�r7rQ)rr�s  r5rz/GrammarTests.test_listcomps.<locals>.<listcomp>�s'��U�U�U�q�>�>�>��B�B�U�U�Ur7r�rW)rWr/rY)rWrXr:�)rWrY��@�c��d�|D��S)Nc�:�g|]}|dk�d|cxkodknc��S)r/rrXrQrs  r5rzEGrammarTests.test_listcomps.<locals>.test_in_func.<locals>.<listcomp>�s1��2�2�2�!�A��E�E�A��I�I�I�I�A�I�I�I�I�E�E�Er7rQ)�ls r5�test_in_funcz1GrammarTests.test_listcomps.<locals>.test_in_func�s��2�2�q�2�2�2�2r7)FFFc�Z����d�dD��ddgddgddgg��dS)	Nc�0�g|]}d�||dzfD����S)c��g|]}|��SrQrQ�rr�s  r5rzUGrammarTests.test_listcomps.<locals>.test_nested_front.<locals>.<listcomp>.<listcomp>�s��5�5�5�Q�q�5�5�5r7rWrQrs  r5rzJGrammarTests.test_listcomps.<locals>.test_nested_front.<locals>.<listcomp>�s/��G�G�G�!�5�5�1�a�!�e�*�5�5�5�G�G�Gr7)rWrXr�rWr/rXrYr�rzr0r\s�r5�test_nested_frontz6GrammarTests.test_listcomps.<locals>.test_nested_front�sL������G�G�w�G�G�G� �!�f�q�!�f�q�!�f�5�
7�
7�
7�
7�
7r7z"[i, s for i in nums for s in strs]z[x if y]))rW�Boeing)r/�Ford)rX�
Macdonalds))r��Airliner)r�Engine)��Cheeseburger))rWr�)rWr)r/r)rXrqc�V��g|]%\}}�D]\}}�D]\}}||k�||k�||f����&SrQrQ)	r�sno�sname�pno�pname�sp_sno�sp_pno�parts�supparts	       ��r5rz/GrammarTests.test_listcomps.<locals>.<listcomp>�sl���
�
�
���e�"'�
�
��3��(/�	
�
�%�V�V��F�]�]�s�f�}�}�	�%�.�(5�}�}�}�}r7))rlro)rlrp)rmrp)rnrr)r1r^r)
r3r@�spcsrfrk�	suppliersr4rzrMr{s
`      @@@r5�test_listcompszGrammarTests.test_listcomps�s�����������-�-�-��5�5�5�����2�2�T�2�2�2�4T�4T�4T�U�U�U����.�.��.�.�.�0A�0A�0A�B�B�B����3�3�T�3�3�3�Y�Y�Y�?�?�?����=�=�=�=�$�=�=�=�G�G�G�	H�	H�	H�	
���V�V�V�V�$�V�V�V�9�9�9�	:�	:�	:�	
���U�U�E�RS�H�H�U�U�U��#��1�v�y�y�y�-�-�-�AT�AT�AT�U�	W�	W�	W�	3�	3�	3�	
�����d�+�+�-B�-B�-B�C�C�C�	7�	7�	7�	7�	7�	������4�!E�F�F�F��4��,�,�,�
�
�
�	�
�
�
��
�
�
��
�
�
�
�
� )�
�
�
��	
����=�=�=�	>�	>�	>�	>�	>r7c
�>	��d�td��D��}|�t|��d�td��D����	t|��|�d��n#t$rYnwxYwd�	�fd��D��}t|��|�d��n#t
$rYnwxYw|�t
d�d	D����d
�d	D����|�t
d�dD����d
�dD����d�td��D���d�d��D��D��}|�t|��td�td��D������|�td�td��D����td�td��D������|�td�td��D����td�td��D������|�td�d�td��D��D����td�td��D������|�td�d�d�td��D��D��D����td�td��D������|�td�d�d�td��D��D��D����td �td��D������|�td!�d"�d#�td��D��D��D����td$�td��D������|�td%�d&�d'�td��D��D��D����d(��t|d)��t|d*��dS)+Nc3�HK�|]}d�td��D��V��dS)c��g|]}|��SrQrQrs  r5rz7GrammarTests.test_genexps.<locals>.<genexpr>.<listcomp>�s��
#�
#�
#�A�a�
#�
#�
#r7r�Nr]rs  r5�	<genexpr>z,GrammarTests.test_genexps.<locals>.<genexpr>�s7����6�6��
#�
#��r���
#�
#�
#�6�6�6�6�6�6r7rWc��g|]}|��SrQrQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>�s��"8�"8�"8��1�"8�"8�"8r7r�z&should produce StopIteration exceptionc3��K�|]}�V��dSr�rQ)rr�r�s  �r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�s�������q�������r7zshould produce TypeErrorc3�(K�|]
}dD]}||fV��	�dS)r\NrQ�rr4r�s   r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�s3����E�E��f�E�E��q�!�f�E�E�E�E�E�E�Er7r\c� �g|]}dD]}||f���S)r\rQr�s   r5rz-GrammarTests.test_genexps.<locals>.<listcomp>�s,��Go�Go�Go�ST�hn�Go�Go�cd��A��Go�Go�Go�Gor7c3�(K�|]
}dD]}||fV��	�dS)�xyNrQr�s   r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�s3����A�A��D�A�A�q�q�!�f�A�A�A�A�A�A�Ar7�abc� �g|]}dD]}||f���S)r�rQr�s   r5rz-GrammarTests.test_genexps.<locals>.<listcomp>�s+��Cg�Cg�Cg�q�bf�Cg�Cg�]^�Q��F�Cg�Cg�Cg�Cgr7c��g|]}|��SrQrQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>�s��"�"�"�1�Q�"�"�"r7c3�K�|]}|V��dSr�rQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�s"����'�'�1�Q�'�'�'�'�'�'r7c3�K�|]}|V��dSr�rQrjs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�s������q�������r7c��g|]}|��SrQrQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>�s��%;�%;�%;�A�a�%;�%;�%;r7c3� K�|]	}|dzV��
dS�r/NrQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s&����5�5�a�Q��T�5�5�5�5�5�5r7c��g|]}|dz��Sr�rQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>s��;T�;T�;T�Q�A�q�D�;T�;T�;Tr7c3�*K�|]}|dz�||zV��dSr�rQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s/����;�;�Q�q��s�;�Q�q�S�;�;�;�;�;�;r7c�"�g|]}|dz�||z��
Sr�rQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>s(��A`�A`�A`�!�\]�^_�\_�A`�!�A�#�A`�A`�A`r7c3�K�|]}|V��dSr�rQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s"����?�?�1�Q�?�?�?�?�?�?r7c3�K�|]}|V��dSr�rQrjs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s"����(>�(>�q��(>�(>�(>�(>�(>�(>r7c��g|]}|��SrQrQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>s��E[�E[�E[�A�a�E[�E[�E[r7c3�K�|]}|V��dSr�rQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�"����L�L�1�Q�L�L�L�L�L�Lr7c3�K�|]}|V��dSr�rQrjs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s"����(K�(K�q��(K�(K�(K�(K�(K�(Kr7c3�K�|]}|V��dSr�rQ�rr�s  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�"����4J�4J�1�Q�4J�4J�4J�4J�4J�4Jr7c��g|]}|��SrQrQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>���Rh�Rh�Rh�YZ�ST�Rh�Rh�Rhr7c3�K�|]}|V��dSr�rQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>r�r7c��g|]}|��SrQrQrjs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>s��(K�(K�(K�q��(K�(K�(Kr7c3�K�|]}|V��dSr�rQr�s  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>r�r7c��g|]}|��SrQrQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>r�r7c3�K�|]}|V��dS�TNrQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s"����\�\�1�Q�\�\�\�\�\�\r7c3�K�|]}|V��dSr�rQrjs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s"����(S�(S�q��(S�(S�(S�(S�(S�(Sr7c3�K�|]}|V��dSr�rQr�s  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>�"����4R�4R�1�Q�4R�4R�4R�4R�4R�4Rr7c��g|]}|��SrQrQrs  r5rz-GrammarTests.test_genexps.<locals>.<listcomp>s��bx�bx�bx�ij�cd�bx�bx�bxr7c3�K�|]}|V��dSr�rQrs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s"����e�e�1�Q�e�e�e�e�e�er7c3�K�|]}�dS)FNrQrjs  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>s����(\�(\�q�(\�(\�(\r7c3�K�|]}|V��dSr�rQr�s  r5r�z,GrammarTests.test_genexps.<locals>.<genexpr>r�r7rzfoo(x for x in range(10), 100)zfoo(100, x for x in range(10)))	r^r1�nextrM�
StopIterationrr��sumr)r3r�r�r�s   @r5�test_genexpszGrammarTests.test_genexps�s����6�6�U�1�X�X�6�6�6������a���"8�"8�e�B�i�i�"8�"8�"8�9�9�9�	���G�G�G��I�I�>�?�?�?�?���	�	�	��D�	����
��	�����A����A���G�G�G��I�I�0�1�1�1�1���	�	�	��D�	����	
����E�E�f�E�E�E�E�E�Go�Go�X^�Go�Go�Go�p�p�p�����A�A�d�A�A�A�A�A�Cg�Cg�TX�Cg�Cg�Cg�h�h�h�"�"��b�	�	�"�"�"��'�'���A����'�'�'������Q����%;�%;��r���%;�%;�%;�!<�!<�=�=�=�����5�5�5��9�9�5�5�5�5�5�s�;T�;T�%�PR�)�)�;T�;T�;T�7U�7U�V�V�V�����;�;�%��)�)�;�;�;�;�;�S�A`�A`�u�UW�y�y�A`�A`�A`�=a�=a�b�b�b�����?�?�(>�(>�E�"�I�I�(>�(>�(>�?�?�?�?�?��E[�E[�QV�WY�QZ�QZ�E[�E[�E[�A\�A\�]�]�]�����L�L�(K�(K�4J�4J��b�	�	�4J�4J�4J�(K�(K�(K�L�L�L�L�L�c�Rh�Rh�^c�df�^g�^g�Rh�Rh�Rh�Ni�Ni�j�j�j�����L�L�(K�(K�4J�4J��b�	�	�4J�4J�4J�(K�(K�(K�L�L�L�L�L�c�Rh�Rh�^c�df�^g�^g�Rh�Rh�Rh�Ni�Ni�j�j�j�����\�\�(S�(S�4R�4R��b�	�	�4R�4R�4R�(S�(S�(S�\�\�\�\�\�^a�bx�bx�ns�tv�nw�nw�bx�bx�bx�^y�^y�z�z�z�����e�e�(\�(\�4R�4R��b�	�	�4R�4R�4R�(\�(\�(\�e�e�e�e�e�gh�i�i�i��4�!A�B�B�B��4�!A�B�B�B�B�Bs$�$A;�;
B�B�2C�
C�
Cc�����d�d�t���D��}d�|�tt|����d��d�d���fd�t���D��}d�d�|�d�td��D��t|����|�d�td��D��gd	���|�td
�td��D����gd	���|�d�dD��gd
���|�td�dD����gd���dS)Nr�c3�K�|]}|V��dSr�rQr>s  r5r�z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>s"����)�)�1�Q�)�)�)�)�)�)r7r�Fc3�H�K�|]}��t���D]}||fV��	�dSr�r])rr�r��tr4s   ��r5r�z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>s?�����O�O�!�1�O�e�A�h�h�O�O���1��O�O�O�O�O�O�Or7Tc�:�g|]}td��D]}||f���S�r�r])rr�r�s   r5rz<GrammarTests.test_comprehension_specials.<locals>.<listcomp>s/��E�E�E�A�E�!�H�H�E�E�q�1�Q�%�E�E�E�Er7c�&�g|]}|dz�|dz�|��Sr�rQrs  r5rz<GrammarTests.test_comprehension_specials.<locals>.<listcomp>s*��C�C�C��1�q�5�C�A��E�C�1�C�C�Cr7)rWr�r{c3�.K�|]}|dz�|dz�|V��dS)r/rXNrQrs  r5r�z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>s4����E�E�A�a�!�e�E�q�1�u�E�a�E�E�E�E�E�Er7c��g|]\}|��SrQrQrs  r5rz<GrammarTests.test_comprehension_specials.<locals>.<listcomp>s��9�9�9���!�9�9�9r7))rYr�)rzr�c3�K�|]\}|V��	dSr�rQrs  r5r�z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>s$����=�=�B�A�a�=�=�=�=�=�=r7))r{)r|)r:)r{r|r:)r^r1r�r�)r3r�r�r4s  @@r5�test_comprehension_specialsz(GrammarTests.test_comprehension_specials
s{������)�)��a���)�)�)��q�1�����T�!�W�W���r�*�*�*�
��E��O�O�O�O�O�u�Q�x�x�O�O�O�1�
��4�q����E�E��r���E�E�E�t�A�w�w�O�O�O�	
���C�C�e�B�i�i�C�C�C�Y�Y�Y�O�O�O�����E�E��r���E�E�E�E�E�y�y�y�Q�Q�Q�	
���9�9�&8�9�9�9�9�9�9�E�E�E�����=�=�*<�=�=�=�=�=�y�y�y�I�I�I�I�Ir7c��Gd�dt��}|��5	ddd��n#1swxYwY|��5}	ddd��n#1swxYwY|��5\}}	ddd��n#1swxYwY|��5|��5	ddd��n#1swxYwYddd��n#1swxYwY|��5}|��5}	ddd��n#1swxYwYddd��n#1swxYwY|��5}|��5	ddd��n#1swxYwYddd��n#1swxYwY|��5	ddd��n#1swxYwY|��5}	ddd��n#1swxYwY|��5\}}|��5}	ddd��n#1swxYwYddd��n#1swxYwY|��5|��5	ddd��n#1swxYwYddd��n#1swxYwY|��5}|��5}	ddd��n#1swxYwYddd��n#1swxYwY|��5}|��5	ddd��n#1swxYwYddd��n#1swxYwY|��5}|��5}|��5}	ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwY|��5}|��5}|��5	ddd��n#1swxYwYddd��n#1swxYwYddd��dS#1swxYwYdS)Nc��eZdZd�Zd�ZdS)�1GrammarTests.test_with_statement.<locals>.managerc��dS�Nr�rQr\s r5�	__enter__z;GrammarTests.test_with_statement.<locals>.manager.__enter__s���vr7c��dSr�rQ)r3rns  r5�__exit__z:GrammarTests.test_with_statement.<locals>.manager.__exit__!r�r7N)r�r�r�r�r�rQr7r5�managerr�s2������
�
�
�
�
�
�
�
r7r�)�object)r3r�r4r�r�s     r5�test_with_statementz GrammarTests.test_with_statements�	��	�	�	�	�	�f�	�	�	��W�Y�Y�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�W�Y�Y�	�!��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�W�Y�Y�	�&�1�a��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�W�Y�Y�	�	���	�	�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�W�Y�Y�	�!�W�W�Y�Y�	�!��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�W�Y�Y�	�!�W�W�Y�Y�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	�	�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	��!�Q��G�I�I�	���		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	�	��G�I�I�	�	�
�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	���G�I�I�	���		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	���G�I�I�	�	�
�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	���G�I�I�	���G�I�I�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�G�I�I�	���G�I�I�	���G�I�I�	�	�

�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��,�0�0�A�A�A�$A5�5A9�<A9�
B:�B#�B:�#B'	�'B:�*B'	�+B:�:B>�B>�C?�C(�C?�(C,	�,C?�/C,	�0C?�?D�D�E�D-�!E�-D1	�1E�4D1	�5E�E�E�E'�'E+�.E+�<F
�
F�F�G�-F;�/G�;F?	�?G�F?	�G�G�G�'H�2H�4H�H	�H�H	�H�H�H�,I�7I�9I�I		�	I�I		�
I�I �#I �1J!�<J
�>J!�
J	�J!�J	�J!�!J%�(J%�6L�K1�K�K1�K�K1�!K�"K1�%L�1K5	�5L�8K5	�9L�L�L�M0�(M�3M�5M�M�M�M�	M�M0�M	�M0�M	� M0�0M4�7M4c�4�d�}|�d�d�d�fD��dg��|�d�d�d�fD��dg��|�d
d
��|�d
d
��|�d	d	��|�d	d	��|�dd��|�dd��|�d	d	��|�d
d
��|�dd��|�d	d	��|�dd��|�d
d
��|�dd��|�dd��|�dd��dS)Nc�$�t|��|S)z@helper to check that evaluation of expressions is done correctlyr�)re�rets  r5�
_checkevalz2GrammarTests.test_if_else_expr.<locals>._checkevalcs���#�J�J�J��Jr7c�6�g|]}|���|����SrQrQrs  r5rz2GrammarTests.test_if_else_expr.<locals>.<listcomp>js)��N�N�N�1�����N�1�1�3�3�N�N�Nr7c��dS)NTrQrQr7r5r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>js���r7c��dS�NFrQrQr7r5r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>js��u�r7Tc�:�g|]}|d���
|d����Sr�rQrs  r5rz2GrammarTests.test_if_else_expr.<locals>.<listcomp>ks2��{�{�{��qr�qr�sx�qy�qy�{�1�1�U�8�8�{�{�{r7c��|rdndS)NFTrQr�s r5r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>ks���8L����r7c��|rdndS)NTFrQr�s r5r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>ks��`a�Xl�X\�X\�gl�r7rWr�zcheck 1rzcheck 2rzzcheck 3r/rXzcheck 4zcheck 5zcheck 6Fr{r�rYg@r0)r3r�s  r5�test_if_else_exprzGrammarTests.test_if_else_expras���	�	�	�	
���N�N���}�}�(E�N�N�N�QU�PV�W�W�W����{�{�.L�.L�Nl�Nl�-m�{�{�{�C�~D�	E�	E�	E����!��C�C�C����Q��C�C�C����A��2�2�2����a�!�4�4�4�����!�4�4�4����!�a�H�H�H����!�]^�_�_�_����q�a�H�H�H����%�e�4�4�4����!�a�0�0�0����%�a�0�0�0����%�a�0�0�0����%�b�1�1�1����%�a�0�0�0����!�a�0�0�0�0�0r7c�4�|�dd��|�dd��|�dd��d}d}|�d||uu��|�d|u|u��|�d|cxuo|unc��dS)Nr|r/rXF)r1rK�assertFalser�s   r5�test_paren_evaluationz"GrammarTests.test_paren_evaluation|s��������+�+�+������+�+�+�����q�)�)�)�
��
������!�q�&�)�*�*�*����%�1�*��*�+�+�+�����!�����q�����)�)�)�)�)r7c��Gd�d��}|��}|�||zd��|dz}|�|jd��dS)Nc��eZdZd�Zd�ZdS)�'GrammarTests.test_matrix_mul.<locals>.Mc��dS)NrYrQ�r3r.s  r5�
__matmul__z2GrammarTests.test_matrix_mul.<locals>.M.__matmul__�s���qr7c��||_|Sr�)�otherr�s  r5�__imatmul__z3GrammarTests.test_matrix_mul.<locals>.M.__imatmul__�s����
��r7N)r�r�r�r�r�rQr7r5r3r��s2������
�
�
�
�
�
�
�
r7r3rYr�)r1r�)r3r3�ms   r5�test_matrix_mulzGrammarTests.test_matrix_mul�sx��	�	�	�	�	�	�	�	�
�A�C�C������Q���"�"�"�	�R��������"�%�%�%�%�%r7c��d�}|�|jd��|�t|jjtjz����d�}|d���}|�|j��|�|jd��|�t|jjtjz����dS)Nc��:K�d�}	t���d{V��dS)Nc��dSr�rQrQr7r5r�z8GrammarTests.test_async_await.<locals>.test.<locals>.sum�r�r7)�someobj)r�s r5r�z+GrammarTests.test_async_await.<locals>.test�s3����
�
�
�
 ��i�i���������r7r�c�(�t|dd��|S)N�_markedT)�setattr)�funcs r5�	decoratorz0GrammarTests.test_async_await.<locals>.decorator�s���D�)�T�*�*�*��Kr7c��
K�dS)N�rQrQr7r5�test2z,GrammarTests.test_async_await.<locals>.test2�s�����2r7r�)	r1r�rK�boolr�co_flags�inspect�CO_COROUTINEr�)r3r�r�r�s    r5�test_async_awaitzGrammarTests.test_async_await�s���	 �	 �	 �	
������/�/�/�����T�]�3�g�6J�J�K�K�L�L�L�	�	�	�
�	�	�
��	�����
�&�&�&�������1�1�1�����U�^�4�w�7K�K�L�L�M�M�M�M�Mr7c�����Gd�dt���Gd�d�����fd�}|����5|���d��ddd��dS#1swxYwYdS)Nc��eZdZdS)�)GrammarTests.test_async_for.<locals>.DoneNrrQr7r5�Doner��r�r7r�c��eZdZd�Zd�ZdS)�*GrammarTests.test_async_for.<locals>.AIterc��|Sr�rQr\s r5�	__aiter__z4GrammarTests.test_async_for.<locals>.AIter.__aiter__�s���r7c��K�t�r�)�StopAsyncIterationr\s r5�	__anext__z4GrammarTests.test_async_for.<locals>.AIter.__anext__�s����(�(r7N)r�r�r�r�r�rQr7r5�AIterr��s2������
�
�
�
)�
)�
)�
)�
)r7r�c���K����23d{V��}�6���23d{V��\}}�6���23d{V��}�6	��r�rQ)r�r�r�r�s  ��r5rKz(GrammarTests.test_async_for.<locals>.foo�s������ �5�7�7�
�
�
�
�
�
�
�a��#�#�e�g�g�
�
�
�
�
�
�
�d�a���&� �5�7�7�
�
�
�
�
�
�
�a��#���Js��,�?�r�rG�send)r3rKr�r�s  @@r5�test_async_forzGrammarTests.test_async_for�s�����#�#�#�#�#�9�#�#�#�	)�	)�	)�	)�	)�	)�	)�	)�		�		�		�		�		�		��
�
�t�
$�
$�	�	��C�E�E�J�J�t����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A)�)A-�0A-c�����Gd�dt���Gd�d�����fd�}|����5|���d��ddd��dS#1swxYwYdS)Nc��eZdZdS)�*GrammarTests.test_async_with.<locals>.DoneNrrQr7r5r�r�r�r7r�c��eZdZd�Zd�ZdS)�-GrammarTests.test_async_with.<locals>.managerc��
K�dSr�rQr\s r5�
__aenter__z8GrammarTests.test_async_with.<locals>.manager.__aenter__�s�����vr7c��
K�dSr�rQ)r3�excs  r5�	__aexit__z7GrammarTests.test_async_with.<locals>.manager.__aexit__�s�����ur7N)r�r�r�r	rrQr7r5r�r�s2������
�
�
�
�
�
�
�
r7r�c����K����4�d{V��	ddd���d{V��n#1�d{V��swxYwY���4�d{V��}	ddd���d{V��n#1�d{V��swxYwY���4�d{V��\}}	ddd���d{V��n#1�d{V��swxYwY���4�d{V�����4�d{V��	ddd���d{V��n#1�d{V��swxYwYddd���d{V��n#1�d{V��swxYwY���4�d{V��}���4�d{V��}	ddd���d{V��n#1�d{V��swxYwYddd���d{V��n#1�d{V��swxYwY���4�d{V��}���4�d{V��	ddd���d{V��n#1�d{V��swxYwYddd���d{V��n#1�d{V��swxYwY��r�rQ)r4r�r�r�s  ��r5rKz)GrammarTests.test_async_with.<locals>.foo�s�������w�y�y�
�
�
�
�
�
�
�
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��w�y�y�
�
�
�
�
�
�
�A��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��w�y�y�
�
�
�
�
�
�
�F�Q���
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��w�y�y�
�
�
�
�
�
�
�
�'�'�)�)�
�
�
�
�
�
�
�
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��w�y�y�
�
�
�
�
�
�
�A�w�w�y�y�
�
�
�
�
�
�
�A��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��w�y�y�
�
�
�
�
�
�
�A�w�w�y�y�
�
�
�
�
�
�
�
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��Js��(�
2�2�	A�
A'�*A'�>B�
B�"B�6C>�C�	C>�
C%	�%C>�(C%	�)C>�>
D�D�E'�0E�2E'�
E	�E'�E	�E'�'
E1�4E1�G�F-�G�-
F7	�7G�:F7	�;G�
G�Gr�)r3rKr�r�s  @@r5�test_async_withzGrammarTests.test_async_with�s�����#�#�#�#�#�9�#�#�#�	�	�	�	�	�	�	�	�
	�
	�
	�
	�
	�
	��
�
�t�
$�
$�	�	��C�E�E�J�J�t����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rN)Mr�r�r�r�rr�rr�r�r�r�r�rr)r4r;r@rMrUr]r
rHrLrPrYr]r_rarfrmrurzr|r�r�r�r�r�r�r�r�r�r��unittest�
skipUnlessr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr;rAr~r�r�r�r�r�r�r�rrrQr7r5r�r�As�������/�/�/�/�/�/�A�A�A�A�A�A�>�>�>�>�>�>����
&�
&�
&�1�1�1�(,�,�,�\0�0�0�,<�<�<�:�:�:�	%�	%�	%�#�#�#�A�A�A�*A�A�A�"3�3�3�v&�v&�v&�p!)�!)�!)�N���2�2�2�%�%�%�.W�W�W�4
�
�
�������4���47�7�7�2#�2#�2#�h3#�3#�3#�j"�"�"�,3�3�3�8/�/�/�4%;�%;�%;�N3�3�3�6'�'�'�&�&�&�I�I�I����2�2�2�&�X���$F�G�G�
E�
E�H�G�
E�A�A�A�@�@�@�*���
�
�
�(�(�(�BX�X�X�2G�G�G�0���	9�	9�	9�K�K�K�"6�6�6�"PB�PB�PB�d���
���
������"�"�"�A�A�A�<���F���BD�D�D�=>�=>�=>�~!C�!C�!C�FJ�J�J�&B�B�B�H1�1�1�6*�*�*�&�&�&�N�N�N�*���.����r7r��__main__)r�rrr�rr�rrJrX�test.ann_moduler/r0�collectionsr	r�r
rbrd�TestCaser-r�r�r�r�r��mainrQr7r5�<module>rs���,�+�+�+�+�+�+�&�&�&�&�&�&�=�=�=�=�=�=���������
�
�
�
���������%�$�$�$�$�$�
�
�
�
� � � � � � ���������������.4�4�4��nJA�JA�JA�JA�JA��"�JA�JA�JA�X������������X�X�X�X�X�8�$�X�X�X�v4�z����H�M�O�O�O�O�O��r7