
    <i(                         S SK Jr  S SKJr  S SKJr   " S S\5      rSrS\S\4S	 jr	Sr
S\S\4S
 jrS\4S jr " S S\5      r " S S\5      rC " S S\5      rC
 " S S\5      r
\" 5       \l        g)    )
Recognizer)RuleContext)StringIOc                   <    \ rS rSrSrS\S\4S jrS\S\4S jrSr	g)SemanticContext   NparserouterContextc                     g N selfr	   r
   s      T/home/james-whalen/.local/lib/python3.13/site-packages/antlr4/atn/SemanticContext.pyevalSemanticContext.eval'   s        c                     U $ r   r   r   s      r   evalPrecedenceSemanticContext.evalPrecedence<   s    r   r   )
__name__
__module____qualname____firstlineno__NONEr   r   r   r   __static_attributes__r   r   r   r   r      s/    
 D* K *J [ r   r   Nabc                     U b  U [         R                  L a  U$ Ub  U[         R                  L a  U $ [        X5      n[        UR                  5      S:X  a  UR                  S   $ U$ N   r   )r   r   ANDlenopndsr   r   results      r   
andContextr'   B   s]    yA---yA---YF
6<<A||Ar   c                     U c  U$ Uc  U $ U [         R                  L d  U[         R                  L a  [         R                  $ [        X5      n[        UR                  5      S:X  a  UR                  S   $ U$ r    )r   r   ORr#   r$   r%   s      r   	orContextr*   P   sj    yyO   A)=)=$=###XF
6<<A||Ar   
collectionc                 `    U  Vs/ s H  n[        U[        5      (       d  M  UPM     sn$ s  snf r   )
isinstancePrecedencePredicate)r+   contexts     r   filterPrecedencePredicatesr0   ]   s$    #-Z:GEX1YG:ZZZs   ++c                   V    \ rS rSrSrSS\S\S\4S jjrS\S\	4S	 jr
S
 rS rS rSrg)	Predicatea   	ruleIndex	predIndexisCtxDependentr5   r6   r7   c                 (    Xl         X l        X0l        g r   r4   )r   r5   r6   r7   s       r   __init__Predicate.__init__d   s    "",r   r	   r
   c                 x    U R                   (       a  UOS nUR                  X0R                  U R                  5      $ r   )r7   sempredr5   r6   )r   r	   r
   localctxs       r   r   Predicate.evali   s*    #'#6#6<D~~hGGr   c                 Z    [        U R                  U R                  U R                  45      $ r   )hashr5   r6   r7   r   s    r   __hash__Predicate.__hash__m   s"    T^^T^^T5H5HIJJr   c                     XL a  g[        U[        5      (       d  gU R                  UR                  :H  =(       a9    U R                  UR                  :H  =(       a    U R                  UR                  :H  $ NTF)r-   r2   r5   r6   r7   r   others     r   __eq__Predicate.__eq__p   s]    =E9--~~0 ;~~0;""e&:&::	;r   c                 j    S[        U R                  5      -   S-   [        U R                  5      -   S-   $ )N{:z}?)strr5   r6   rA   s    r   __str__Predicate.__str__y   s.    S((3.T^^1DDtKKr   )r7   r6   r5   N)rP   F)r   r   r   r   	__slots__intboolr9   r   r   r   rB   rH   rN   r   r   r   r   r2   r2   a   sH    <I- -3 -$ -
H* HK HK;Lr   r2   c                   \    \ rS rSrSS\4S jjrS\S\4S jrS\S\4S jr	S r
S	 rS
 rSrg)r.   }   
precedencec                     Xl         g r   rV   )r   rV   s     r   r9   PrecedencePredicate.__init__   s    $r   r	   r
   c                 8    UR                  X R                  5      $ r   )precpredrV   r   s      r   r   PrecedencePredicate.eval   s    |__==r   c                 d    UR                  X R                  5      (       a  [        R                  $ g r   )r[   rV   r   r   r   s      r   r   "PrecedencePredicate.evalPrecedence   s$    ??<99"'''r   c                 4    U R                   UR                   :  $ r   rX   rF   s     r   __lt__PrecedencePredicate.__lt__   s    !1!111r   c                     g)N   r   rA   s    r   rB   PrecedencePredicate.__hash__   s    r   c                 j    XL a  g[        U[        5      (       d  gU R                  UR                  :H  $ rE   )r-   r.   rV   rF   s     r   rH   PrecedencePredicate.__eq__   s0    =E#677??e&6&666r   rX   N)r   )r   r   r   r   rR   r9   r   r   r   r   r`   rB   rH   r   r   r   r   r.   r.   }   sC    %# %>* >K >J [ 27r   r.   c                   `    \ rS rSrSrS\S\4S jrS rS rS\	S	\
4S
 jrS\	S	\
4S jrS rSrg)r"      r$   r   r   c                    [        5       n[        U[        5      (       a  UR                  UR                  5        OUR                  U5        [        U[        5      (       a  UR                  UR                  5        OUR                  U5        [        U5      n[        U5      S:  a  [        U5      nUR                  U5        [        U5      U l        g )Nr   )
setr-   r"   updater$   addr0   r#   minlist)r   r   r   operandsprecedencePredicatesreduceds         r   r9   AND.__init__   s    5q#OOAGG$LLOq#OOAGG$LLO9(C#$Q&./GLL!(^
r   c                 j    XL a  g[        U[        5      (       d  gU R                  UR                  :H  $ rE   )r-   r"   r$   rF   s     r   rH   
AND.__eq__   s-    =E3''::,,r   c                 ^    SnU R                    H  n[        X45      nM     [        US45      $ )Nr   r"   r$   r@   r   hos      r   rB   AND.__hash__   s/    AaVA QJr   r	   r
   c                 F   ^^ [        UU4S jU R                   5       5      $ )Nc              3   F   >#    U  H  oR                  TT5      v   M     g 7fr   r   .0opndr
   r	   s     r   	<genexpr>AND.eval.<locals>.<genexpr>        Jzt99V\22z   !)allr$   r   s    ``r   r   AND.eval       JtzzJJJr   c                 >   Sn/ nU R                    HE  nUR                  X5      nX6UL-  nUc    g U[        R                  Ld  M4  UR	                  U5        MG     U(       d  U $ [        U5      S:X  a  [        R                  $ S nU H  nUc  UO
[        Xx5      nM     U$ NFr   )r$   r   r   r   appendr#   r'   	r   r	   r
   differsro   r/   	evaluatedr&   ry   s	            r   r   AND.evalPrecedence   s    zzG..vDI//G /"6"66	* " Kx=!"'''A .Qj.CF  r   c                     [        5        nSnU R                   H7  nU(       d  UR                  S5        UR                  [        U5      5        SnM9     UR	                  5       sS S S 5        $ ! , (       d  f       g = f)NTz&&Fr   r$   writerM   getvaluer   buffirstry   s       r   rN   AND.__str__   T    Z3EZZIIdO		#a&!	  
 <<> ZZ   AA..
A<r$   Nr   r   r   r   rQ   r   r9   rH   rB   r   r   r   r   rN   r   r   r   r   r"   r"      sR    I$ $O $&- K* K; KJ [ 4"r   r"   c                   `    \ rS rSrSrS\S\4S jrS rS rS\	S	\
4S
 jrS\	S	\
4S jrS rSrg)r)      r$   r   r   c                    [        5       n[        U[        5      (       a  UR                  UR                  5        OUR                  U5        [        U[        5      (       a  UR                  UR                  5        OUR                  U5        [        U5      n[        U5      S:  a!  [        U5      nUS   nUR                  U5        [        U5      U l        g )Nr   rP   )
rj   r-   r)   rk   r$   rl   r0   r#   sortedrn   )r   r   r   ro   rp   srq   s          r   r9   OR.__init__   s    5q"OOAGG$LLOq"OOAGG$LLO9(C#$Q&+,AeGLL!(^
r   c                 j    XL a  g[        U[        5      (       d  gU R                  UR                  :H  $ rE   )r-   r)   r$   rF   s     r   rH   	OR.__eq__	  s-    =E2&&::,,r   c                 ^    SnU R                    H  n[        X45      nM     [        US45      $ )Nr   r)   rv   rw   s      r   rB   OR.__hash__  s.    AaVA QIr   r	   r
   c                 F   ^^ [        UU4S jU R                   5       5      $ )Nc              3   F   >#    U  H  oR                  TT5      v   M     g 7fr   r}   r~   s     r   r   OR.eval.<locals>.<genexpr>  r   r   )anyr$   r   s    ``r   r   OR.eval  r   r   c                 @   Sn/ nU R                    HU  nUR                  X5      nX6UL-  nU[        R                  L a  [        R                  s  $ Uc  MD  UR	                  U5        MW     U(       d  U $ [        U5      S:X  a  g S nU H  nUc  UO
[        Xx5      nM     U$ r   )r$   r   r   r   r   r#   r*   r   s	            r   r   OR.evalPrecedence  s    zzG..vDI//GO000&+++&	* " Kx=!A .Qi.BF  r   c                     [        5        nSnU R                   H7  nU(       d  UR                  S5        UR                  [        U5      5        SnM9     UR	                  5       sS S S 5        $ ! , (       d  f       g = f)NTz||Fr   r   s       r   rN   
OR.__str__8  r   r   r   Nr   r   r   r   r)   r)      sR    I$ $O $(-K* K; KJ [ 4"r   r)   )antlr4.Recognizerr   antlr4.RuleContextr   ior   objectr   r"   r'   r)   r*   rj   r0   r2   r.   r   r   r   r   <module>r      s    ) * *f *Z 	 	O 	 
 ? [# [L L87/ 7< P"/ P"j N"/ N"b !{ r   