U
    {±ËhÐ  ã                   @   s|   d Z G dd„ deƒZG dd„ deeƒZG dd„ deeƒZG dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZ	G dd„ deƒZ
dS )z,
Python Lexical Analyser

Exception classes
c                   @   s   e Zd ZdZdS )Ú	PlexErrorÚ N)Ú__name__Ú
__module__Ú__qualname__Úmessage© r   r   ú6/tmp/pip-unpacked-wheel-fhl22ezh/Cython/Plex/Errors.pyr      s   r   c                   @   s   e Zd ZdS )ÚPlexTypeErrorN©r   r   r   r   r   r   r   r	      s   r	   c                   @   s   e Zd ZdS )ÚPlexValueErrorNr
   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ ZdS )ÚInvalidTokenc                 C   s   t  | d||f ¡ d S )NzToken number %d: %s)r   Ú__init__)ÚselfZtoken_numberr   r   r   r   r      s    zInvalidToken.__init__N)r   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd ZdS )ÚInvalidScannerNr
   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdd„ ZdS )ÚAmbiguousActionz;Two tokens with different actions can match the same stringc                 C   s   d S ©Nr   ©r   r   r   r   r       s    zAmbiguousAction.__init__N)r   r   r   r   r   r   r   r   r   r      s   r   c                   @   s(   e Zd ZdZdZdZdd„ Zdd„ ZdS )ÚUnrecognizedInputNc                 C   s   || _ | ¡ | _|| _d S r   )ÚscannerÚget_positionÚpositionÚ
state_name)r   r   r   r   r   r   r   )   s    
zUnrecognizedInput.__init__c                 C   s   d| j | jf  S )Nz8'%s', line %d, char %d: Token not recognised in state %r)r   r   r   r   r   r   Ú__str__.   s    ÿzUnrecognizedInput.__str__)r   r   r   r   r   r   r   r   r   r   r   r   r   $   s
   r   N)Ú__doc__Ú	Exceptionr   Ú	TypeErrorr	   Ú
ValueErrorr   r   r   r   r   r   r   r   r   Ú<module>   s   