
    Ng                     ^    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e	          Z
dS )	    )StarLoopEntryState)ATNConfigSet)DecisionState)DFAState)IllegalStateExceptionc                       e Zd ZdZddedefdZdefdZdedefd	Z	d
e
fdZed             Zd Zd ZddedefdZd ZdS )DFA)atnStartStatedecision_statess0precedenceDfar   r
   r   c                 "   || _         || _        t                      | _        d | _        d| _        t          |t                    rH|j        rCd| _        t          t                                }g |_        d|_        d|_        || _        d S d S d S )NFTconfigs)r
   r   dictr   r   r   
isinstancer   isPrecedenceDecisionr   r   edgesisAcceptStaterequiresFullContext)selfr
   r   precedenceStates       J/var/www/html/ai-engine/env/lib/python3.11/site-packages/antlr4/dfa/DFA.py__init__zDFA.__init__   s    *  vv #m%788 	*1 *%)""*<>>"B"B"B(*%05-6;3)	* 	** *    
precedencec                     | 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   s     r   getPrecedenceStartStatezDFA.getPrecedenceStartState0   sR    ! 	f'(deee >>Z3tw}+=+===4w}Z((r   
startStatec                    | j         st          d          |dk     rd S |t          | j        j                  k    rBd g|dz   t          | j        j                  z
  z  }| j        j                            |           || j        j        |<   d S )Nr   r      )r   r   r    r   r   extend)r   r   r"   exts       r   setPrecedenceStartStatezDFA.setPrecedenceStartStateB   s    ! 	f'(deee>>F
 TW]++++&JNS-?-??@CGM  %%%$.j!!!r   r   c                     | j         |k    r^t                      | _        |r9t          t	                                }g |_        d|_        d|_        || _        nd | _        || _         d S d S )Nr   F)	r   r   r   r   r   r   r   r   r   )r   r   r   s      r   setPrecedenceDfazDFA.setPrecedenceDfaa   su    ..66DL "*<>>"B"B"B(*%05-6;3)!.D /.r   c                     | j         S N)r   r   s    r   statesz
DFA.statesn   s
    |r   c                 T    t          | j                                        d           S )Nc                     | j         S r+   )stateNumber)states    r   <lambda>z"DFA.sortedStates.<locals>.<lambda>t   s	    U=N r   )key)sortedr   keysr,   s    r   sortedStateszDFA.sortedStatess   s'    dl''))/N/NOOOOr   c                 ,    |                      d           S r+   )toStringr,   s    r   __str__zDFA.__str__v   s    }}T"""r   NliteralNamessymbolicNamesc                 X    | j         dS ddlm}  || ||          }t          |          S )N r   )DFASerializer)r   antlr4.dfa.DFASerializerr>   str)r   r:   r;   r>   
serializers        r   r8   zDFA.toStringy   s?    7?2::::::"]4]CC
:r   c                 T    | j         dS ddlm}  ||           }t          |          S )Nr=   r   )LexerDFASerializer)r   r?   rC   r@   )r   rC   rA   s      r   toLexerStringzDFA.toLexerString   s<    7?2??????''--
:r   )r   )NN)__name__
__module____qualname__	__slots__r   intr   r!   r   r'   boolr)   propertyr-   r6   r9   listr8   rD    r   r   r	   r	      s       OI* *] *S * * * *@) ) ) ) )$/ / / / / />/T / / / /   XP P P# # # D T        r   r	   N)antlr4.atn.ATNStater   antlr4.atn.ATNConfigSetr   r   antlr4.dfa.DFAStater   antlr4.error.Errorsr   objectr	   rM   r   r   <module>rS      s   
 3 2 2 2 2 2 0 0 0 0 0 0 - - - - - - ( ( ( ( ( ( 5 5 5 5 5 5x x x x x& x x x x xr   