File: //lib/python3.12/__pycache__/codeop.cpython-312.pyc
�
    )!�h  �                   �   � d Z ddlZddlZej                  D � cg c]  }  ee| �      ��
 c} Zg d�ZdZdZd� Z	d� Z
dd�Zdd	�Z G d
� d�      Z
 G d� d
�      Zyc c} w )aA  Utilities to compile possibly incomplete Python source code.
This module provides two interfaces, broadly similar to the builtin
function compile(), which take program text, a filename and a 'mode'
and:
- Return code object if the command is complete and valid
- Return None if the command is incomplete
- Raise SyntaxError, ValueError or OverflowError if the command is a
  syntax error (OverflowError and ValueError can be produced by
  malformed literals).
The two interfaces are:
compile_command(source, filename, symbol):
    Compiles a single command in the manner described above.
CommandCompiler():
    Instances of this class have __call__ methods identical in
    signature to compile_command; the difference is that if the
    instance compiles program text containing a __future__ statement,
    the instance 'remembers' and compiles all subsequent program texts
    with the statement in force.
The module also provides another class:
Compile():
    Instances of this class act like the built-in function compile,
    but with 'memory' in the sense described above.
�    N)�compile_command�Compile�CommandCompileri   i @  c                 ��  � |j                  d�      D ]  }|j                  �       }|s�|d   dk7  s� n |dk7  rd}t        j                  �       5  t        j                  dt
        t        f�       	  | |||�       d d d �        | |||d�	�      S # t        $ rL 	  | |dz   ||�       Y d d d �       y # t        $ r%}dt        |�      v rY d }~Y d d d �       y Y d }~nd }~ww xY wY �hw xY w# 1 sw Y   �mxY w)
N�
r   �#�eval�pass�ignorezincomplete inputF)�incomplete_input)	�split�strip�warnings�catch_warnings�simplefilter�
SyntaxWarning�DeprecationWarning�SyntaxError�str)�compiler�source�filename�symbol�line�es         �/usr/lib/python3.12/codeop.py�_maybe_compiler   1   s  � ����T�"� ���z�z�|���D��G�s�N���
 �V���F� 
�	 �	 �	"� 
 ����h��8J�(K�L�	 ��V�X�v�.�
 � �F�H�f�u�E�E�� � 	 �
 ���$���&�9��
 � 
 �� � 
 �%��Q��/��
 � 
 � 0��
 ��/�	 ��	
 � 
 �s`   �!C'�1
B�	C$�
B0�&C'�0	C�9
C�C$�
C'�C$�C�C$�!C'�#C$�$C'�'C0c                 �N   � t        | �      }t        |�      }d|v rd|v ry||k(  ryy)Nzwas never closedFT)�repr)�err1�err2�rep1�rep2s       r   �_is_syntax_errorr$   K   s4   � ���:�D���:�D��T�!�&8�D�&@���t�|���    c                 �J   � d}|r|t         z  }|t        z  }t        | |||�      S )Nr   )�PyCF_ALLOW_INCOMPLETE_INPUT�PyCF_DONT_IMPLY_DEDENT�compile)r   r   r   r   �flagss        r   �_compiler+   T   s1   � �
�E��
�,�,��
�'�'���6�8�V�U�3�3r%   c                 �&