
    Ng                     p   d dl mZ dZ G d de          Z G d de          Z G d de          Z G d	 d
e          Z G d de          Z G d de          Z	 G d de          Z
dZ G d de          Z[ G d de          Z G d dee	          Z G d de          Z e            e_        dS )    )Token)c                       e Zd ZdS )TreeN__name__
__module____qualname__     L/var/www/html/ai-engine/env/lib/python3.11/site-packages/antlr4/tree/Tree.pyr   r              Dr   r   c                       e Zd ZdS )
SyntaxTreeNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )	ParseTreeNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )RuleNodeNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )TerminalNodeNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )	ErrorNodeNr   r   r   r   r   r      r   r   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	ParseTreeVisitorc                 ,    |                     |           S N)accept)selftrees     r   visitzParseTreeVisitor.visit!   s    {{4   r   c                 .   |                                  }|                                }t          |          D ]\}|                     ||          s|c S |                    |          }|                    |           }|                     ||          }]|S r   )defaultResultgetChildCountrangeshouldVisitNextChildgetChildr   aggregateResult)r   noderesultnicchildResults          r   visitChildrenzParseTreeVisitor.visitChildren$   s    ##%%  q 	? 	?A,,T6:: a  A((4..K))&+>>FFr   c                 *    |                                  S r   r#   r   r)   s     r   visitTerminalzParseTreeVisitor.visitTerminal1       !!###r   c                 *    |                                  S r   r1   r2   s     r   visitErrorNodezParseTreeVisitor.visitErrorNode4   r4   r   c                     d S r   r   r   s    r   r#   zParseTreeVisitor.defaultResult7       tr   c                     |S r   r   )r   	aggregate
nextResults      r   r(   z ParseTreeVisitor.aggregateResult:   s    r   c                     dS )NTr   )r   r)   currentResults      r   r&   z%ParseTreeVisitor.shouldVisitNextChild=   r9   r   N)
r	   r
   r   r!   r/   r3   r6   r#   r(   r&   r   r   r   r   r       s}        ! ! !  $ $ $$ $ $        r   r   Nc                   >    e Zd ZdefdZdefdZdefdZdefdZ	dS )ParseTreeListenerr)   c                     d S r   r   r2   s     r   r3   zParseTreeListener.visitTerminalD       r   c                     d S r   r   r2   s     r   r6   z ParseTreeListener.visitErrorNodeG   rB   r   ctxc                     d S r   r   r   rD   s     r   enterEveryRulez ParseTreeListener.enterEveryRuleJ   rB   r   c                     d S r   r   rF   s     r   exitEveryRulezParseTreeListener.exitEveryRuleM   rB   r   N)
r	   r
   r   r   r3   r   r6   ParserRuleContextrG   rI   r   r   r   r@   r@   B   s            )    !2     1      r   r@   c                   p     e Zd ZdZdefdZ fdZdefdZd Z	d Z
d	 Zd
 Zd ZdefdZd Zd Z xZS )TerminalNodeImpl	parentCtxsymbolrO   c                 "    d | _         || _        d S r   rM   )r   rO   s     r   __init__zTerminalNodeImpl.__init__U   s    r   c                 L    t                                          ||           d S r   )super__setattr__)r   keyvalue	__class__s      r   rT   zTerminalNodeImpl.__setattr__X   s#    C'''''r   r,   c                     d S r   r   )r   r,   s     r   r'   zTerminalNodeImpl.getChild[   r9   r   c                     | j         S r   rO   r8   s    r   	getSymbolzTerminalNodeImpl.getSymbol^   
    {r   c                     | j         S r   )rN   r8   s    r   	getParentzTerminalNodeImpl.getParenta   s
    ~r   c                     | j         S r   rZ   r8   s    r   
getPayloadzTerminalNodeImpl.getPayloadd   r\   r   c                 >    | j         t          S | j         j        }||fS r   )rO   INVALID_INTERVAL
tokenIndex)r   rc   s     r   getSourceIntervalz"TerminalNodeImpl.getSourceIntervalg   s%    ;##[+
J''r   c                     dS )Nr   r   r8   s    r   r$   zTerminalNodeImpl.getChildCountm   s    qr   visitorc                 ,    |                     |           S r   )r3   r   rf   s     r   r   zTerminalNodeImpl.acceptp   s    $$T***r   c                     | j         j        S r   )rO   textr8   s    r   getTextzTerminalNodeImpl.getTexts   s    {r   c                 R    | j         j        t          j        k    rdS | j         j        S )Nz<EOF>)rO   typer   EOFrj   r8   s    r   __str__zTerminalNodeImpl.__str__v   s$    ;uy((7;##r   )r	   r
   r   	__slots__r   rQ   rT   intr'   r[   r^   r`   rd   r$   r   r   rk   ro   __classcell__rW   s   @r   rL   rL   R   s        'Ie    ( ( ( ( (          ( ( (  +- + + + +     $ $ $ $ $ $ $r   rL   c                   0     e Zd Zdef fdZdefdZ xZS )ErrorNodeImpltokenc                 J    t                                          |           d S r   )rS   rQ   )r   rv   rW   s     r   rQ   zErrorNodeImpl.__init__   s!    r   rf   c                 ,    |                     |           S r   )r6   rh   s     r   r   zErrorNodeImpl.accept   s    %%d+++r   )r	   r
   r   r   rQ   r   r   rr   rs   s   @r   ru   ru      s`         U            ,- , , , , , , , ,r   ru   c                   B    e Zd ZdZdedefdZdedefdZdedefdZ	dS )ParseTreeWalkerNlistenertc                 h   t          |t                    r|                    |           dS t          |t                    r|                    |           dS |                     ||           |                                D ]}|                     ||           |                     ||           dS )a  
	    Performs a walk on the given parse tree starting at the root and going down recursively
	    with depth-first search. On each node, {@link ParseTreeWalker#enterRule} is called before
	    recursively walking down into child nodes, then
	    {@link ParseTreeWalker#exitRule} is called after the recursive call to wind up.
	    @param listener The listener used by the walker to process grammar rules
	    @param t The parse tree to be walked on
        N)	
isinstancer   r6   r   r3   	enterRulegetChildrenwalkexitRule)r   r{   r|   childs       r   r   zParseTreeWalker.walk   s     a## 	##A&&&F<(( 	""1%%%Fx###]]__ 	' 	'EIIh&&&&h"""""r   rc                     |                                 }|                    |           |                    |           dS )a9  
	    Enters a grammar rule by first triggering the generic event {@link ParseTreeListener#enterEveryRule}
	    then by triggering the event specific to the given parse tree node
	    @param listener The listener responding to the trigger events
	    @param r The grammar rule containing the rule context
        N)getRuleContextrG   r   r   r{   r   rD   s       r   r   zParseTreeWalker.enterRule   sA       $$$hr   c                     |                                 }|                    |           |                    |           dS )a7  
	    Exits a grammar rule by first triggering the event specific to the given parse tree node
	    then by triggering the generic event {@link ParseTreeListener#exitEveryRule}
	    @param listener The listener responding to the trigger events
	    @param r The grammar rule containing the rule context
        N)r   r   rI   r   s       r   r   zParseTreeWalker.exitRule   sA       Xs#####r   )
r	   r
   r   DEFAULTr@   r   r   r   r   r   r   r   r   rz   rz      s        G#- # # # # #4	 !2 	 h 	  	  	  	 	$ 1 	$X 	$ 	$ 	$ 	$ 	$ 	$r   rz   )antlr4.Tokenr   rb   objectr   r   r   r   r   r   r   rJ   r@   rL   ru   rz   r   r   r   r   <module>r      s         	 	 	 	 	6 	 	 		 	 	 	 	 	 	 		 	 	 	 	
 	 	 		 	 	 	 	y 	 	 		 	 	 	 	9 	 	 		 	 	 	 	 	 	 	    v   @          ($ ($ ($ ($ ($| ($ ($ ($`, , , , ,$Y , , ,2$ 2$ 2$ 2$ 2$f 2$ 2$ 2$h */++   r   