
    Ng                     P    d dl mZ d dlmZ d dlmZmZ dZ G d de          Z	[dS )    )RuleContext)Token)ProxyErrorListenerConsoleErrorListenerNc                       e Zd ZdZ e            Z e            Zd Zd Zd Z	d Z
d Zd Zd Zd	 Zd
efdZdefdZdefdZd ZdededefdZdedefdZed             Zej        defd            ZdS )
Recognizer)
_listeners_interp_stateNumberc                 F    t           j        g| _        d | _        d| _        d S )N)r   INSTANCEr	   r
   r   selfs    M/var/www/html/ai-engine/env/lib/python3.11/site-packages/antlr4/Recognizer.py__init__zRecognizer.__init__   s$    09;    c                     |                     d          }|d|         }||dz   d          }|                     d          }|dk    r|                     d          }|dk    rt          |          }|d|         }||fS )N.r      r   -)findlen)r   versionposmajorminors        r   extractVersionzRecognizer.extractVersion   s    ll3##a%&&/ll377,,s##C77g,,C#e|r   c                     d}|                      |          \  }}|                      |          \  }}||k    s||k    rt          d|z   dz   |z              d S d S )Nz4.9.3z4ANTLR runtime and generated code versions disagree: z!=)r   print)r   toolVersionruntimeVersionrvmajorrvminortvmajortvminors          r   checkVersionzRecognizer.checkVersion$   sz     ..~>>..{;;Gw//HWX\\]hhiiiii  0/r   c                 :    | j                             |           d S N)r	   appendr   listeners     r   addErrorListenerzRecognizer.addErrorListener+       x(((((r   c                 :    | j                             |           d S r)   )r	   remover+   s     r   removeErrorListenerzRecognizer.removeErrorListener.   r.   r   c                     g | _         d S r)   )r	   r   s    r   removeErrorListenerszRecognizer.removeErrorListeners1   s    r   c           	         |                                  }|ddlm}  |d          | j                            |d           }|Dt          |t          dt          |                              }t          j	        |d<   || j        |<   |S )Nr   UnsupportedOperationExceptionz>The current recognizer does not provide a list of token names.EOF)
getTokenNamesantlr4.error.Errorsr6   tokenTypeMapCachegetzipranger   r   r7   )r   
tokenNamesr6   results       r   getTokenTypeMapzRecognizer.getTokenTypeMap4   s    ''))
IIIIII//0pqqq'++J==>*eAs:&?&?@@F!IF5M17D":.r   c           	          |                                  }|ddlm}  |d          | j                            |d           }|5t          |t          dt          |                              }|| j        |<   |S )Nr   r5   z=The current recognizer does not provide a list of rule names.)getRuleNamesr9   r6   ruleIndexMapCacher;   r<   r=   r   )r   	ruleNamesr6   r?   s       r   getRuleIndexMapzRecognizer.getRuleIndexMapD   s    %%''	IIIIII//0oppp'++It<<>)U1c)nn%=%=>>F06D"9-r   	tokenNamec                 r    |                                                      |d           }||S t          j        S r)   )r@   r;   r   INVALID_TYPE)r   rF   ttypes      r   getTokenTypezRecognizer.getTokenTypeO   s7    $$&&**9d;;L%%r   ec                 |    |                                 j        }|                                 j        }d|z   dz   |z   S )Nzline :)getOffendingTokenlinecolumn)r   rK   rO   rP   s       r   getErrorHeaderzRecognizer.getErrorHeaderX   s>    ""$$)$$&&-t|C&&r   tc                    |dS |j         }|2|j        t          j        k    rd}ndt	          |j                  z   dz   }|                    dd          }|                    dd          }|                    d	d
          }d|z   dz   S )Nz
<no token>z<EOF><>
z\nz\r	z\t')texttyper   r7   strreplace)r   rR   ss      r   getTokenErrorDisplayzRecognizer.getTokenErrorDisplayk   s    9<F9vuy  #af++%+IId5!!IId5!!IId5!!Qw}r   c                 *    t          | j                  S r)   )r   r	   r   s    r   getErrorListenerDispatchz#Recognizer.getErrorListenerDispatchy   s    !$/222r   localctx	ruleIndexactionIndexc                     dS NT )r   rb   rc   rd   s       r   sempredzRecognizer.sempred~       tr   
precedencec                     dS rf   rg   )r   rb   rj   s      r   precpredzRecognizer.precpred   ri   r   c                     | j         S r)   r   r   s    r   statezRecognizer.state   s      r   atnStatec                     || _         d S r)   rn   )r   rp   s     r   ro   zRecognizer.state   s    $r   N)__name__
__module____qualname__	__slots__dictr:   rC   r   r   r'   r-   r1   r3   r@   rE   r\   rJ   RecognitionExceptionrQ   r   r_   ra   r   intrh   rl   propertyro   setterrg   r   r   r   r      s       9I  

 
 
j j j) ) )) ) )  
 
 
 	 	 	&S & & & &'3 ' ' ' '&U    3 3 3
{ c s          ! ! X! \%S % % % \% % %r   r   )
antlr4.RuleContextr   antlr4.Tokenr   antlr4.error.ErrorListenerr   r   rw   objectr   rg   r   r   <module>r      s    + * * * * *       O O O O O O O O  D% D% D% D% D% D% D% D%L r   