U
    :qLeJ                     @   s  d dl mZ d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G dd d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G dd d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G dd  d eZd!S )"    )
Transition   c                   @   s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdddddddddddddgZdZdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd,eed(d)d*Zd+S )-ATNStater            r               	   
         INVALIDBASIC
RULE_STARTBLOCK_STARTPLUS_BLOCK_STARTSTAR_BLOCK_STARTTOKEN_START	RULE_STOP	BLOCK_ENDSTAR_LOOP_BACKSTAR_LOOP_ENTRYPLUS_LOOP_BACKLOOP_ENDc                 C   s0   d | _ tj| _d | _d| _d| _g | _d | _d S )Nr   F)	atnr   INVALID_STATE_NUMBERstateNumber	stateType	ruleIndexepsilonOnlyTransitionstransitionsnextTokenWithinRuleself r(   j/home/p21-0144/sympy/latex2sympy2solve-back-end/sympyEq/lib/python3.8/site-packages/antlr4/atn/ATNState.py__init__i   s    zATNState.__init__c                 C   s   | j S N)r    r&   r(   r(   r)   __hash__u   s    zATNState.__hash__c                 C   s   t |to| j|jkS r+   )
isinstancer   r    )r'   otherr(   r(   r)   __eq__x   s    zATNState.__eq__c                 C   s   | j S r+   )r#   r&   r(   r(   r)   onlyHasEpsilonTransitions{   s    z"ATNState.onlyHasEpsilonTransitionsc                 C   s   dS NFr(   r&   r(   r(   r)   isNonGreedyExitState~   s    zATNState.isNonGreedyExitStatec                 C   s
   t | jS r+   )strr    r&   r(   r(   r)   __str__   s    zATNState.__str__)transindexc                 C   sR   t | jdkr|j| _n| j|jkr*d| _|dkr@| j| n| j|| d S )Nr   Fr   )lenr$   Z	isEpsilonr#   appendinsert)r'   r5   r6   r(   r(   r)   addTransition   s    
zATNState.addTransitionN)r   )__name__
__module____qualname__INVALID_TYPEr   r   r   r   r   r   r   r   r   r   r   r   ZserializationNamesr   r*   r,   r/   r0   r2   r4   r   intr:   r(   r(   r(   r)   r   G   sF   r   c                       s   e Zd Z fddZ  ZS )
BasicStatec                    s   t    | j| _d S r+   )superr*   r   r!   r&   	__class__r(   r)   r*      s    
zBasicState.__init__r;   r<   r=   r*   __classcell__r(   r(   rB   r)   r@      s   r@   c                       s   e Zd Z fddZ  ZS )DecisionStatec                    s   t    d| _d| _d S )Nr   F)rA   r*   decisionZ	nonGreedyr&   rB   r(   r)   r*      s    
zDecisionState.__init__rD   r(   r(   rB   r)   rF      s   rF   c                       s   e Zd Z fddZ  ZS )BlockStartStatec                    s   t    d | _d S r+   )rA   r*   ZendStater&   rB   r(   r)   r*      s    
zBlockStartState.__init__rD   r(   r(   rB   r)   rH      s   rH   c                       s   e Zd Z fddZ  ZS )BasicBlockStartStatec                    s   t    | j| _d S r+   )rA   r*   r   r!   r&   rB   r(   r)   r*      s    
zBasicBlockStartState.__init__rD   r(   r(   rB   r)   rI      s   rI   c                       s   e Zd Z fddZ  ZS )BlockEndStatec                    s   t    | j| _d | _d S r+   )rA   r*   r   r!   
startStater&   rB   r(   r)   r*      s    
zBlockEndState.__init__rD   r(   r(   rB   r)   rJ      s   rJ   c                       s   e Zd Z fddZ  ZS )RuleStopStatec                    s   t    | j| _d S r+   )rA   r*   r   r!   r&   rB   r(   r)   r*      s    
zRuleStopState.__init__rD   r(   r(   rB   r)   rL      s   rL   c                       s   e Zd Z fddZ  ZS )RuleStartStatec                    s"   t    | j| _d | _d| _d S r1   )rA   r*   r   r!   Z	stopStateZisPrecedenceRuler&   rB   r(   r)   r*      s    
zRuleStartState.__init__rD   r(   r(   rB   r)   rM      s   rM   c                       s   e Zd Z fddZ  ZS )PlusLoopbackStatec                    s   t    | j| _d S r+   )rA   r*   r   r!   r&   rB   r(   r)   r*      s    
zPlusLoopbackState.__init__rD   r(   r(   rB   r)   rN      s   rN   c                       s   e Zd Z fddZ  ZS )PlusBlockStartStatec                    s   t    | j| _d | _d S r+   )rA   r*   r   r!   loopBackStater&   rB   r(   r)   r*      s    
zPlusBlockStartState.__init__rD   r(   r(   rB   r)   rO      s   rO   c                       s   e Zd Z fddZ  ZS )StarBlockStartStatec                    s   t    | j| _d S r+   )rA   r*   r   r!   r&   rB   r(   r)   r*      s    
zStarBlockStartState.__init__rD   r(   r(   rB   r)   rQ      s   rQ   c                       s   e Zd Z fddZ  ZS )StarLoopbackStatec                    s   t    | j| _d S r+   )rA   r*   r   r!   r&   rB   r(   r)   r*      s    
zStarLoopbackState.__init__rD   r(   r(   rB   r)   rR      s   rR   c                       s   e Zd Z fddZ  ZS )StarLoopEntryStatec                    s"   t    | j| _d | _d | _d S r+   )rA   r*   r   r!   rP   ZisPrecedenceDecisionr&   rB   r(   r)   r*      s    
zStarLoopEntryState.__init__rD   r(   r(   rB   r)   rS      s   rS   c                       s   e Zd Z fddZ  ZS )LoopEndStatec                    s   t    | j| _d | _d S r+   )rA   r*   r   r!   rP   r&   rB   r(   r)   r*      s    
zLoopEndState.__init__rD   r(   r(   rB   r)   rT      s   rT   c                       s   e Zd Z fddZ  ZS )TokensStartStatec                    s   t    | j| _d S r+   )rA   r*   r   r!   r&   rB   r(   r)   r*      s    
zTokensStartState.__init__rD   r(   r(   rB   r)   rU      s   rU   N)antlr4.atn.Transitionr   ZINITIAL_NUM_TRANSITIONSobjectr   r@   rF   rH   rI   rJ   rL   rM   rN   rO   rQ   rR   rS   rT   rU   r(   r(   r(   r)   <module>C   s    H
