a
    d                     @   sP   d dl mZ d dlmZ d dl mZ d dlmZ d dlmZ G dd de	Z
dS )	    )StarLoopEntryState)ATNConfigSet)DecisionState)DFAState)IllegalStateExceptionc                   @   s   e Zd ZdZdeedddZedddZeed	d
dZ	e
dddZedd Zdd Zdd ZdeedddZdd ZdS )DFA)atnStartStatedecision_statess0precedenceDfar   )r   r	   c                 C   s^   || _ || _t | _d | _d| _t|trZ|jrZd| _t	t
 d}g |_d|_d|_|| _d S )NFTZconfigs)r   r	   dictr
   r   r   
isinstancer   ZisPrecedenceDecisionr   r   edgesisAcceptStaterequiresFullContext)selfr   r	   precedenceState r   W/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/antlr4/dfa/DFA.py__init__   s    
zDFA.__init__)
precedencec                 C   s6   | j std|dk s&|t| jjkr*d S | jj| S )N:Only precedence DFAs may contain a precedence start state.r   )r   r   lenr   r   )r   r   r   r   r   getPrecedenceStartState0   s
    zDFA.getPrecedenceStartState)r   
startStatec                 C   sb   | j std|dk rd S |t| jjkrRd g|d t| jj  }| jj| || jj|< d S )Nr   r      )r   r   r   r   r   extend)r   r   r   extr   r   r   setPrecedenceStartStateB   s    zDFA.setPrecedenceStartState)r   c                 C   sL   | j |krHt | _|r<tt d}g |_d|_d|_|| _nd | _|| _ d S )Nr   F)	r   r   r
   r   r   r   r   r   r   )r   r   r   r   r   r   setPrecedenceDfaa   s    
zDFA.setPrecedenceDfac                 C   s   | j S N)r
   r   r   r   r   statesn   s    z
DFA.statesc                 C   s   t | j dd dS )Nc                 S   s   | j S r"   )ZstateNumber)stater   r   r   <lambda>t       z"DFA.sortedStates.<locals>.<lambda>)key)sortedr
   keysr#   r   r   r   sortedStatess   s    zDFA.sortedStatesc                 C   s
   |  d S r"   )toStringr#   r   r   r   __str__v   s    zDFA.__str__N)literalNamessymbolicNamesc                 C   s.   | j d u rdS ddlm} || ||}t|S )N r   )DFASerializer)r   antlr4.dfa.DFASerializerr1   str)r   r.   r/   r1   
serializerr   r   r   r,   y   s
    
zDFA.toStringc                 C   s*   | j d u rdS ddlm} || }t|S )Nr0   r   )LexerDFASerializer)r   r2   r5   r3   )r   r5   r4   r   r   r   toLexerString   s
    
zDFA.toLexerString)r   )NN)__name__
__module____qualname__	__slots__r   intr   r   r   r    boolr!   propertyr$   r+   r-   listr,   r6   r   r   r   r   r      s    
r   N)Zantlr4.atn.ATNStater   Zantlr4.atn.ATNConfigSetr   r   Zantlr4.dfa.DFAStater   Zantlr4.error.Errorsr   objectr   r   r   r   r   <module>   s
   