U
    :qLe                     @   sT   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	m
Z
 G dd deZdS )	    )IntervalSet)RuleContext)Token)ATNType)ATNStateDecisionStatec                   @   s   e Zd ZdZeedddZeedddZ	edd	d
Z
deedddZedddZedddZedddZedddZeedddZdS )ATNr   )grammarTypemaxTokenTypec                 C   sB   || _ || _g | _g | _g | _d | _t | _d | _d | _	g | _
d S N)r	   r
   statesdecisionToStateZruleToStartStateZruleToStopStatedictZmodeNameToStartStateruleToTokenTypelexerActionsmodeToStartState)selfr	   r
    r   e/home/p21-0144/sympy/latex2sympy2solve-back-end/sympyEq/lib/python3.8/site-packages/antlr4/atn/ATN.py__init__   s    zATN.__init__)sctxc                 C   s"   ddl m} || }|j||dS )Nr   )LL1Analyzer)r   )Zantlr4.LL1Analyzerr   ZLOOK)r   r   r   r   Zanalr   r   r   nextTokensInContext1   s    zATN.nextTokensInContext)r   c                 C   s,   |j d k	r|j S | |d |_ d|j _|j S )NT)ZnextTokenWithinRuler   readonlyr   r   r   r   r   nextTokensNoContext9   s
    
zATN.nextTokensNoContextNc                 C   s"   |d kr|  |S | ||S d S r   )r   r   )r   r   r   r   r   r   
nextTokens@   s    
zATN.nextTokens)statec                 C   s*   |d k	r| |_ t| j|_| j| d S r   )atnlenr   stateNumberappendr   r   r   r   r   addStateF   s    zATN.addStatec                 C   s   d | j |j< d S r   )r   r!   r#   r   r   r   removeStateL   s    zATN.removeStatec                 C   s"   | j | t| j d |_|jS )N   )r   r"   r    decisionr   r   r   r   defineDecisionStateO   s    zATN.defineDecisionState)r'   c                 C   s    t | jdkrd S | j| S d S )Nr   )r    r   )r   r'   r   r   r   getDecisionStateT   s    zATN.getDecisionState)r!   r   c                 C   s   |dk s|t | jkrtd| j| }| |}tj|kr@|S t }|| |tj |d kr|j	dkrtj|kr| j|j	 }|j
d }| |j}|| |tj |j}q\tj|kr|tj |S )Nr   zInvalid state number.)r    r   	Exceptionr   r   EPSILONr   ZaddSetZ	removeOneinvokingStatetransitionsfollowState	parentCtxZaddOneEOF)r   r!   r   r   Z	followingexpectedr,   rtr   r   r   getExpectedTokensl   s&    






zATN.getExpectedTokens)N)__name__
__module____qualname__INVALID_ALT_NUMBERr   intr   r   r   r   r   r   r$   r%   r   r(   r)   r3   r   r   r   r   r      s   r   N)Zantlr4.IntervalSetr   antlr4.RuleContextr   antlr4.Tokenr   Zantlr4.atn.ATNTyper   antlr4.atn.ATNStater   r   objectr   r   r   r   r   <module>   s
   