
    khx                          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y	)    )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y)ATNConfigSet)	configLookupfullCtxreadonlyconfigs	uniqueAltconflictingAltshasSemanticContextdipsIntoOuterContextcachedHashCoder   c                     t               | _        || _        d| _        g | _        d| _        d | _        d| _        d| _        d| _	        y )NFr   )
dictr   r   r   r   r   r   r   r   r   )selfr   s     S/var/www/teggl/fontify/venv/lib/python3.12/site-packages/antlr4/atn/ATNConfigSet.py__init__zATNConfigSet.__init__$   sR     !F   # #($)!     c                 6    | j                   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kD  rd| _        | j                  |      }||u r#d| _	        | j                  j                  |       y| j                   }t        |j                  |j                  ||      }t        |j                  |j                        |_        |j                   rd|_        ||_        y)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    ==233!!)=)==&*D#))A-(,D%==(v"$DLL'!\\)x''T ,/x/O/OQWQoQo+p(,,26H/!r   c                     j                         }| j                  j                  |d       }|t        fd|D        d       }||S |g}|| j                  |<   S |j	                         S )Nc              3   F   K   | ]  }j                  |      s|  y wr    )equalsForConfigSet).0cfgr#   s     r   	<genexpr>z(ATNConfigSet.getOrAdd.<locals>.<genexpr>j   s     Ic&*C*CC*HcIs   !!)hashCodeForConfigSetr   getnextr+   )r   r#   hlrs    `   r   r*   zATNConfigSet.getOrAddf   s    '')!!!T*=IQI4PA}9A#$Da   HHVr   c                 :    t        d | j                  D              S )Nc              3   4   K   | ]  }|j                     y wr    )state)r7   cs     r   r9   z)ATNConfigSet.getStates.<locals>.<genexpr>u   s     1q1771s   )setr   r"   s    r   	getStateszATNConfigSet.getStatest   s    1DLL111r   c                 :    t        d | j                  D              S )Nc              3   p   K   | ].  }|j                   t        j                  k7  s!|j                    0 y wr    )r'   r
   r(   )r7   r8   s     r   r9   z-ATNConfigSet.getPredicates.<locals>.<genexpr>x   s*     mC3CVCVXgXlXlClC''ms   "66)listr   r"   s    r   getPredicateszATNConfigSet.getPredicatesw   s    m4<<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y | j                  D ]"  }|j	                  |j
                        |_        $ y )Nr%   r   )r   r   lenr   getCachedContextr,   )r   rL   r#   s      r   optimizeConfigszATNConfigSet.optimizeConfigs}   sT    =='(>??t||all 	JF(99&..IFN	Jr   collc                 4    |D ]  }| j                  |        y)NF)r3   )r   rQ   rC   s      r   addAllzATNConfigSet.addAll   s     	AHHQK	r   c                    | |u ryt        |t              sy| j                  d uxr | j                  |j                  k(  xr | j                  |j                  k(  xrj | j                  |j                  k(  xrO | j
                  |j
                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  }|S )NTF)
isinstancer   r   r   r   r   r   r   )r   othersames      r   __eq__zATNConfigSet.__eq__   s    5=E<0||4' DLL%--'DLLEMM)D NNeoo-D   E$9$99	D
 ##u'?'??D %%)C)CC 	 r   c                     | j                   r0| j                  dk(  r| j                         | _        | j                  S | j                         S )Nr   )r   r   hashConfigsr"   s    r   __hash__zATNConfigSet.__hash__   sC    ==""b(&*&6&6&8#&&&!!r   c                 2    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    3T\\1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                         }| j                   j                  |d       }||D ]  }|j	                  |      s y y)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__   sj    $/0cdd'')!!!T*=  ,,Q/  r   c                     | j                   rt        d      | j                  j                          d| _        | j
                  j                          y )Nr%   r   )r   r   r   clearr   r   r"   s    r   rh   zATNConfigSet.clear   s?    =='(>?? !r   r   c                      || _         d | _        y r    )r   r   )r   r   s     r   setReadonlyzATNConfigSet.setReadonly   s      r   c                    t               5 }|j                  t        | j                               | j                  r5|j                  d       |j                  t        | j                               | j                  t        j                  k7  r5|j                  d       |j                  t        | j                               | j                  5|j                  d       |j                  t        | j                               | j                  r|j                  d       |j                         cd d d        S # 1 sw Y   y xY w)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__   s    Z 	"3IIht||,-&&		01		#d5567~~s555		-(		#dnn-.##/		-.		#d2234((		12<<>	" 	" 	"s   D%D::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nC J, J$ 
 "F!$	"!4 !"r   r   c                        e Zd Z fdZ xZS )OrderedATNConfigSetc                 "    t         |           y r    )superr   )r   	__class__s    r   r   zOrderedATNConfigSet.__init__   s    r   )rr   rs   rt   r   __classcell__)r~   s   @r   r{   r{      s     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 Tx"6 x"v, r   