
    kh                     &   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_        y)    )Token)c                       e Zd Zy)TreeN__name__
__module____qualname__     L/var/www/teggl/fontify/venv/lib/python3.12/site-packages/antlr4/tree/Tree.pyr   r          r   r   c                       e Zd Zy)
SyntaxTreeNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)	ParseTreeNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)RuleNodeNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)TerminalNodeNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)	ErrorNodeNr   r   r   r   r   r      r   r   r   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	ParseTreeVisitorc                 $    |j                  |       S N)accept)selftrees     r   visitzParseTreeVisitor.visit!   s    {{4  r   c                     | j                         }|j                         }t        |      D ]L  }| j                  ||      s|c S |j	                  |      }|j                  |       }| j                  ||      }N |S r   )defaultResultgetChildCountrangeshouldVisitNextChildgetChildr   aggregateResult)r   noderesultnicchildResults          r   visitChildrenzParseTreeVisitor.visitChildren$   sz    ##% q 	?A,,T6:a A((4.K))&+>F	? r   c                 "    | j                         S r   r#   r   r)   s     r   visitTerminalzParseTreeVisitor.visitTerminal1       !!##r   c                 "    | j                         S r   r1   r2   s     r   visitErrorNodezParseTreeVisitor.visitErrorNode4   r4   r   c                      y r   r   r   s    r   r#   zParseTreeVisitor.defaultResult7       r   c                     |S r   r   )r   	aggregate
nextResults      r   r(   z ParseTreeVisitor.aggregateResult:   s    r   c                      y)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	y)ParseTreeListenerr)   c                      y r   r   r2   s     r   r3   zParseTreeListener.visitTerminalD       r   c                      y r   r   r2   s     r   r6   z ParseTreeListener.visitErrorNodeG   rB   r   ctxc                      y r   r   r   rD   s     r   enterEveryRulez ParseTreeListener.enterEveryRuleJ   rB   r   c                      y 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   s4     ) !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 | _         || _        y r   rM   )r   rO   s     r   __init__zTerminalNodeImpl.__init__U   s    r   c                 &    t         |   ||       y r   )super__setattr__)r   keyvalue	__class__s      r   rT   zTerminalNodeImpl.__setattr__X   s    C'r   r,   c                      y 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                 Z    | j                   t        S | j                   j                  }||fS r   )rO   INVALID_INTERVAL
tokenIndex)r   rc   s     r   getSourceIntervalz"TerminalNodeImpl.getSourceIntervalg   s,    ;;##[[++
J''r   c                      y)Nr   r   r8   s    r   r$   zTerminalNodeImpl.getChildCountm   s    r   visitorc                 $    |j                  |       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                 ~    | j                   j                  t        j                  k(  ry| j                   j                  S )Nz<EOF>)rO   typer   EOFrj   r8   s    r   __str__zTerminalNodeImpl.__str__v   s+    ;;uyy(;;###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   sU    '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                 $    t         |   |       y r   )rS   rQ   )r   rv   rW   s     r   rQ   zErrorNodeImpl.__init__   s    r   rf   c                 $    |j                  |       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                   @    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	y)ParseTreeWalkerNlistenertc                 "   t        |t              r|j                  |       yt        |t              r|j	                  |       y| j                  ||       |j                         D ]  }| j                  ||        | j                  ||       y)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   sy     a###A&<(""1%x#]]_ 	'EIIh&	'h"r   rc                 h    |j                         }|j                  |       |j                  |       y)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   s,      $hr   c                 h    |j                         }|j                  |       |j                  |       y)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   s,      Xs#r   )
r	   r
   r   DEFAULTr@   r   r   r   r   r   r   r   r   rz   rz      sC    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$f 2$h *+ r   