B
    0*\                 @   s`   d dl Z dd e jD ZdddgZdZdd	 Zd
d ZdddZG dd dZG dd dZ	dS )    Nc             C   s   g | ]}t t|qS  )getattr
__future__).0Zfnamer   r   1C:\ALexclude\prg\programme\Python37\Lib\codeop.py
<listcomp>=   s   r   compile_commandCompileCommandCompileri   c          
   C   s(  x8| dD ]}| }|r|d dkrP qW |dkr:d}d  } }}d  } }	}
y| |||}W n" tk
r } zW d d }~X Y nX y| |d ||}	W n& tk
r } z|}W d d }~X Y nX y| |d ||}
W n& tk
r } z|}W d d }~X Y nX |r|S |	s$t|t|kr$|d S )N
r   #evalpassz

)splitstripSyntaxErrorrepr)compilersourcefilenamesymbollineerrZerr1Zerr2codecode1code2er   r   r   _maybe_compileD   s0    r   c             C   s   t | ||tS )N)compilePyCF_DONT_IMPLY_DEDENT)r   r   r   r   r   r   _compilee   s    r    <input>singlec             C   s   t t| ||S )N)r   r    )r   r   r   r   r   r   r   h   s    c               @   s   e Zd Zdd Zdd ZdS )r	   c             C   s
   t | _d S )N)r   flags)selfr   r   r   __init__   s    zCompile.__init__c             C   s@   t |||| jd}x(tD ] }|j|j@ r|  j|jO  _qW |S )N   )r   r#   	_featuresco_flagsZcompiler_flag)r$   r   r   r   ZcodeobZfeaturer   r   r   __call__   s
    
zCompile.__call__N)__name__
__module____qualname__r%   r)   r   r   r   r   r	   |   s   c               @   s   e Zd Zdd ZdddZdS )	r
   c             C   s   t  | _d S )N)r	   r   )r$   r   r   r   r%      s    zCommandCompiler.__init__<input>r"   c             C   s   t | j|||S )N)r   r   )r$   r   r   r   r   r   r   r)      s    zCommandCompiler.__call__N)r-   r"   )r*   r+   r,   r%   r)   r   r   r   r   r
      s   )r!   r"   )
r   Zall_feature_namesr'   __all__r   r   r    r   r	   r
   r   r   r   r   <module>;   s   

!
