U
    :qLe4                     @   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
dZG dd deZ[G dd deZG dd dee	ZG dd deZe e_dS )    )Token)c                   @   s   e Zd ZdS )TreeN__name__
__module____qualname__ r
   r
   g/home/p21-0144/sympy/latex2sympy2solve-back-end/sympyEq/lib/python3.8/site-packages/antlr4/tree/Tree.pyr      s   r   c                   @   s   e Zd ZdS )
SyntaxTreeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )	ParseTreeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )RuleNodeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )TerminalNodeNr   r
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdS )	ErrorNodeNr   r
   r
   r
   r   r      s   r   c                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )ParseTreeVisitorc                 C   s
   | | S N)accept)selftreer
   r
   r   visit!   s    zParseTreeVisitor.visitc                 C   sV   |   }| }t|D ]8}| ||s0|  S ||}|| }| ||}q|S r   )defaultResultgetChildCountrangeshouldVisitNextChildgetChildr   aggregateResult)r   noderesultnicZchildResultr
   r
   r   visitChildren$   s    

zParseTreeVisitor.visitChildrenc                 C   s   |   S r   r   r   r   r
   r
   r   visitTerminal1   s    zParseTreeVisitor.visitTerminalc                 C   s   |   S r   r#   r$   r
   r
   r   visitErrorNode4   s    zParseTreeVisitor.visitErrorNodec                 C   s   d S r   r
   r   r
   r
   r   r   7   s    zParseTreeVisitor.defaultResultc                 C   s   |S r   r
   )r   Z	aggregateZ
nextResultr
   r
   r   r   :   s    z ParseTreeVisitor.aggregateResultc                 C   s   dS )NTr
   )r   r   ZcurrentResultr
   r
   r   r   =   s    z%ParseTreeVisitor.shouldVisitNextChildN)
r   r   r	   r   r"   r%   r&   r   r   r   r
   r
   r
   r   r       s   r   Nc                   @   sD   e Zd ZedddZedddZedddZedd	d
Z	dS )ParseTreeListener)r   c                 C   s   d S r   r
   r$   r
   r
   r   r%   D   s    zParseTreeListener.visitTerminalc                 C   s   d S r   r
   r$   r
   r
   r   r&   G   s    z ParseTreeListener.visitErrorNode)ctxc                 C   s   d S r   r
   r   r)   r
   r
   r   enterEveryRuleJ   s    z ParseTreeListener.enterEveryRulec                 C   s   d S r   r
   r*   r
   r
   r   exitEveryRuleM   s    zParseTreeListener.exitEveryRuleN)
r   r   r	   r   r%   r   r&   ParserRuleContextr+   r,   r
   r
   r
   r   r(   B   s   r(   c                       s~   e Zd ZedddZ fddZedddZd	d
 Zdd Z	dd Z
dd Zdd ZedddZdd Zdd Z  ZS )TerminalNodeImplsymbolc                 C   s   d | _ || _d S r   )	parentCtxr0   )r   r0   r
   r
   r   __init__T   s    zTerminalNodeImpl.__init__c                    s   t  || d S r   )super__setattr__)r   keyvalue	__class__r
   r   r4   W   s    zTerminalNodeImpl.__setattr__)r    c                 C   s   d S r   r
   )r   r    r
   r
   r   r   Z   s    zTerminalNodeImpl.getChildc                 C   s   | j S r   r/   r'   r
   r
   r   	getSymbol]   s    zTerminalNodeImpl.getSymbolc                 C   s   | j S r   )r1   r'   r
   r
   r   	getParent`   s    zTerminalNodeImpl.getParentc                 C   s   | j S r   r/   r'   r
   r
   r   
getPayloadc   s    zTerminalNodeImpl.getPayloadc                 C   s   | j d krtS | j j}||fS r   )r0   INVALID_INTERVAL
tokenIndex)r   r=   r
   r
   r   getSourceIntervalf   s    
z"TerminalNodeImpl.getSourceIntervalc                 C   s   dS )Nr   r
   r'   r
   r
   r   r   l   s    zTerminalNodeImpl.getChildCountvisitorc                 C   s
   | | S r   )r%   r   r@   r
   r
   r   r   o   s    zTerminalNodeImpl.acceptc                 C   s   | j jS r   )r0   textr'   r
   r
   r   getTextr   s    zTerminalNodeImpl.getTextc                 C   s   | j jtjkrdS | j jS d S )Nz<EOF>)r0   typer   EOFrB   r'   r
   r
   r   __str__u   s    zTerminalNodeImpl.__str__)r   r   r	   r   r2   r4   intr   r9   r:   r;   r>   r   r   r   rC   rF   __classcell__r
   r
   r7   r   r.   R   s   r.   c                       s0   e Zd Zed fddZedddZ  ZS )ErrorNodeImpl)tokenc                    s   t  | d S r   )r3   r2   )r   rJ   r7   r
   r   r2      s    zErrorNodeImpl.__init__r?   c                 C   s
   | | S r   )r&   rA   r
   r
   r   r      s    zErrorNodeImpl.accept)r   r   r	   r   r2   r   r   rH   r
   r
   r7   r   rI      s   rI   c                   @   s@   e Zd ZdZeedddZeedddZeeddd	Z	dS )
ParseTreeWalkerN)listenertc                 C   sf   t |tr|| d S t |tr0|| d S | || | D ]}| || qD| || d S r   )	
isinstancer   r&   r   r%   	enterRulegetChildrenwalkexitRule)r   rL   rM   childr
   r
   r   rQ      s    



zParseTreeWalker.walk)rL   rc                 C   s    |  }|| || d S r   )getRuleContextr+   rO   r   rL   rT   r)   r
   r
   r   rO      s    
zParseTreeWalker.enterRulec                 C   s    |  }|| || d S r   )rU   rR   r,   rV   r
   r
   r   rR      s    
zParseTreeWalker.exitRule)
r   r   r	   DEFAULTr(   r   rQ   r   rO   rR   r
   r
   r
   r   rK      s   rK   )antlr4.Tokenr   r<   objectr   r   r   r   r   r   r   r-   r(   r.   rI   rK   rW   r
   r
   r
   r   <module>
   s    /	 