
    Ngx                          d dl mZ d dlmZ d dlmZmZ 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 d	Z G d
 de          Z G d de          Zd	S )    )StringIO)reduce)PredictionContextmerge)str_list)ATN)	ATNConfig)SemanticContext)UnsupportedOperationExceptionIllegalStateExceptionNc                       e Zd ZdZddefdZd ZddefdZdefd	Z	d
 Z
d ZdefdZdefdZdefdZd Zd Zd Zd Zd Zd Zd ZdefdZd ZdS )ATNConfigSet)	configLookupfullCtxreadonlyconfigs	uniqueAltconflictingAltshasSemanticContextdipsIntoOuterContextcachedHashCodeTr   c                     t                      | _        || _        d| _        g | _        d| _        d | _        d| _        d| _        d| _	        d S )NFr   )
dictr   r   r   r   r   r   r   r   r   )selfr   s     S/var/www/html/ai-engine/env/lib/python3.11/site-packages/antlr4/atn/ATNConfigSet.py__init__zATNConfigSet.__init__$   sZ     !FF   # #($)!     c                 4    | j                                         S N)r   __iter__r   s    r   r!   zATNConfigSet.__iter__A   s    |$$&&&r   Nconfigc                    | j         rt          d          |j        t          j        urd| _        |j        dk    rd| _        |                     |          }||u r#d| _	        | j
                            |           dS | j         }t          |j        |j        ||          }t          |j        |j                  |_        |j        rd|_        ||_        dS )NThis set is readonlyTr   r   )r   	ExceptionsemanticContextr
   NONEr   reachesIntoOuterContextr   getOrAddr   r   appendr   r   contextmaxprecedenceFilterSuppressed)r   r#   
mergeCacheexistingrootIsWildcardmergeds         r   addzATNConfigSet.addM   s    = 	42333!)===&*D#)A--(,D%==((v"$DL'''4!\)x'TT ,/x/OQWQo+p+p(, 	726H/!tr   c                                                      }| j                            |d           }| t          fd|D             d           }||S |g}|| j        |<   n|                               S )Nc              3   F   K   | ]}                     |          |V  d S r    )equalsForConfigSet).0cfgr#   s     r   	<genexpr>z(ATNConfigSet.getOrAdd.<locals>.<genexpr>j   s6      IIc&*C*CC*H*HIcIIIIIIr   )hashCodeForConfigSetr   getnextr+   )r   r#   hlrs    `   r   r*   zATNConfigSet.getOrAddf   s    ''))!!!T**=IIIIQIII4PPA}9A#$Da  HHVr   c                 >    t          d | j        D                       S )Nc              3   $   K   | ]}|j         V  d S r    )state)r7   cs     r   r9   z)ATNConfigSet.getStates.<locals>.<genexpr>u   s$      11q17111111r   )setr   r"   s    r   	getStateszATNConfigSet.getStatest   s!    11DL111111r   c                 >    t          d | j        D                       S )Nc              3   N   K   | ] }|j         t          j        k    |j         V  !d S r    )r'   r
   r(   )r7   r8   s     r   r9   z-ATNConfigSet.getPredicates.<locals>.<genexpr>x   s6      mmC3CVXgXlClClC'ClClClClmmr   )listr   r"   s    r   getPredicateszATNConfigSet.getPredicatesw   s!    mm4<mmmmmmr   ic                     | j         |         S r    )r   )r   rJ   s     r   r;   zATNConfigSet.getz   s    |Ar   interpreterc                     | j         rt          d          t          | j                  dk    rd S | j        D ]!}|                    |j                  |_        "d S )Nr%   r   )r   r   lenr   getCachedContextr,   )r   rL   r#   s      r   optimizeConfigszATNConfigSet.optimizeConfigs}   sn    = 	@'(>???t|aFl 	J 	JF(99&.IIFNN	J 	Jr   collc                 :    |D ]}|                      |           dS )NF)r3   )r   rQ   rC   s      r   addAllzATNConfigSet.addAll   s'     	 	AHHQKKKKur   c                    | |u rdS t          |t                    sdS | j        d uo_| j        |j        k    oO| j        |j        k    o?| j        |j        k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    }|S )NTF)
isinstancer   r   r   r   r   r   r   )r   othersames      r   __eq__zATNConfigSet.__eq__   s    5==4E<00 	5|4' DL%-'DLEM)D Neo-D  E$99	D
 #u'??D %)CC 	 r   c                     | j         r+| j        dk    r|                                 | _        | j        S |                                 S )Nr   )r   r   hashConfigsr"   s    r   __hash__zATNConfigSet.__hash__   sI    = 	'"b((&*&6&6&8&8#&&!!!r   c                 0    t          d | j        d          S )Nc                 $    t          | |f          S r    )hash)r=   r8   s     r   <lambda>z*ATNConfigSet.hashConfigs.<locals>.<lambda>   s    T1c(^^ r   r   )r   r   r"   s    r   rZ   zATNConfigSet.hashConfigs   s    33T\1EEEr   c                 *    t          | j                  S r    rN   r   r"   s    r   __len__zATNConfigSet.__len__   s    4<   r   c                 2    t          | j                  dk    S )Nr   ra   r"   s    r   isEmptyzATNConfigSet.isEmpty   s    4<  !##r   c                     | j         t          d          |                                }| j                             |d           }||D ]}|                    |          r dS dS )Nz1This method is not implemented for readonly sets.TF)r   r   r:   r;   r6   )r   r#   r=   r>   rC   s        r   __contains__zATNConfigSet.__contains__   s~    $/0cddd''))!!!T**=    ,,Q//  44 ur   c                     | j         rt          d          | j                                         d| _        | j                                         d S )Nr%   r   )r   r   r   clearr   r   r"   s    r   rh   zATNConfigSet.clear   sS    = 	@'(>??? !!!!!r   r   c                 "    || _         d | _        d S r    )r   r   )r   r   s     r   setReadonlyzATNConfigSet.setReadonly   s      r   c                    t                      5 }|                    t          | j                             | j        r<|                    d           |                    t          | j                             | j        t          j        k    r<|                    d           |                    t          | j                             | j	        <|                    d           |                    t          | j	                             | j
        r|                    d           |                                cd d d            S # 1 swxY w Y   d S )Nz,hasSemanticContext=z,uniqueAlt=z,conflictingAlts=z,dipsIntoOuterContext)r   writer   r   r   strr   r   INVALID_ALT_NUMBERr   r   getvalue)r   bufs     r   __str__zATNConfigSet.__str__   sd   ZZ 	"3IIht|,,---& 8		0111		#d566777~s555		-(((		#dn--...#/		-...		#d233444( 3		1222<<>>	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   D.E

EE)Tr    )__name__
__module____qualname__	__slots__boolr   r!   r	   r3   r*   rE   rI   intr;   ATNSimulatorrP   rH   rS   rX   r[   rZ   rb   rd   rf   rh   rj   rq    r   r   r   r      s       I! !t ! ! ! !:' ' '     2i    2 2 2n n nC    J, J J J J$    
   " " "F F F! ! !$ $ $	 	 	" " "!4 ! ! ! !" " " " "r   r   c                        e Zd Z fdZ xZS )OrderedATNConfigSetc                 H    t                                                       d S r    )superr   )r   	__class__s    r   r   zOrderedATNConfigSet.__init__   s    r   )rr   rs   rt   r   __classcell__)r~   s   @r   r{   r{      s8                r   r{   )ior   	functoolsr   antlr4.PredictionContextr   r   antlr4.Utilsr   antlr4.atn.ATNr   antlr4.atn.ATNConfigr	   antlr4.atn.SemanticContextr
   antlr4.error.Errorsr   r   rx   objectr   r{   ry   r   r   <module>r      s               = = = = = = = = ! ! ! ! ! !       * * * * * * 6 6 6 6 6 6 T T T T T T T Tx" x" x" x" x"6 x" x" x"v    ,     r   