
    Ng-                         d dl mZ d dlZej        d         dk    rd dlmZ n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 d d
lmZ d dlmZmZmZ  G d de          Z G d dee          ZdS )    )StringION      )TextIO)CommonTokenFactory)LexerATNSimulator)InputStream)
Recognizer)Token)IllegalStateExceptionLexerNoViableAltExceptionRecognitionExceptionc                       e Zd ZdS )TokenSourceN)__name__
__module____qualname__     H/var/www/html/ai-engine/env/lib/python3.11/site-packages/antlr4/Lexer.pyr   r      s        Dr   r   c                   B    e Zd ZdZdZdZdZej        Z	ej
        ZdZdZej        fdedef fdZd	 Zd
 Zd Zd ZdefdZdefdZd Zed             Zej        defd            Zed             ZdefdZd Z d Z!ed             Z"e"j        defd            Z"ed             Z#e#j        defd            Z#ed             Z$e$j        defd             Z$d! Z%ed"             Z&e&j        d#e'fd$            Z&d% Z(d&e)fd'Z*d(e'fd)Z+d*e'fd+Z,d*e'fd,Z-d-e.fd.Z/ xZ0S )/Lexer)_input_output_factory_tokenFactorySourcePair_token_tokenStartCharIndex_tokenStartLine_tokenStartColumn_hitEOF_channel_type
_modeStack_mode_textr   i inputoutputc                 d   t                                                       || _        || _        t          j        | _        | |f| _        d | _        d | _	        d| _
        d| _        d| _        d| _        t          j        | _        t          j        | _        g | _        | j        | _        d | _        d S )NF)super__init__r   r   r   DEFAULTr   r   _interpr   r   r   r    r!   r   DEFAULT_CHANNELr"   INVALID_TYPEr#   r$   DEFAULT_MODEr%   r&   )selfr)   r*   	__class__s      r   r.   zLexer.__init__.   s    *2(,e}$ 
 %'!  " "$  - '
&

 


r   c                 B   | j         | j                             d           d | _        t          j        | _        t          j        | _        d| _        d| _	        d| _
        d | _        d| _        t          j        | _        g | _        | j                                         d S )Nr   r,   F)r   seekr   r   r2   r#   r1   r"   r   r    r   r&   r!   r   r3   r%   r$   r0   resetr4   s    r   r8   zLexer.reset^   s    ;"KQ'
-$&!!#!
'
r   c                 $   | j         t          d          | j                                         }	 	 | j        r5|                                  | j        | j                             |           S d | _        t          j        | _	        | j         j
        | _        | j        j        | _        | j        j        | _        d | _        d}	 t          j        | _        | j        }	 | j                            | j         | j                  }nA# t.          $ r4}|                     |           |                     |           Y d }~nd }~ww xY w| j                             d          t          j        k    rd| _        | j        t          j        k    r|| _        | j        | j        k    rd}n| j        | j        k    rn|r| j        |                                  | j        | j                             |           S # | j                             |           w xY w)Nz+nextToken requires a non-null input stream.TFr   )r   r   markr!   emitEOFr   releaser   r1   r"   indexr   r0   columnr    liner   r&   r2   r#   SKIPmatchr%   r   notifyListenersrecoverLAEOFMOREemit)r4   tokenStartMarkercontinueOuterttypees        r   	nextTokenzLexer.nextTokenr   s   ;'(UVVV  ;++--%	2 #< 'LLNNN;B K 01111A # % 5,0K,=))-)<&'+|'8$!
 %!&!3DJ IE( $ 2 24;
 K K4 ( ( (,,Q///Q( {~~a((%)33'+zU%777%*
zTY..(,z49,,!" ! ;&IIKKK{ K 01111DK 01111s=   "G3 .A-G3 %D G3 
E *D;6G3 ;E  BG3 3Hc                     | j         | _        d S N)rA   r#   r9   s    r   skipz
Lexer.skip       Y


r   c                     | j         | _        d S rO   )rG   r#   r9   s    r   morez
Lexer.more   rQ   r   mc                     || _         d S rO   )r%   r4   rT   s     r   modez
Lexer.mode   s    


r   c                     | j         j        r&t          dt          |          z   | j                   | j                            | j                   |                     |           d S )Nz	pushMode file)	r0   debugprintstrr   r$   appendr%   rW   rV   s     r   pushModezLexer.pushMode   sZ    < 	;+A&T\::::tz***		!r   c                    t          | j                  dk    rt          d          | j        j        r&t          d| j        d d         z   | j                   |                     | j                                                   | j	        S )Nr   zEmpty StackzpopMode back to r,   rY   )
lenr$   	Exceptionr0   r[   r\   r   rW   popr%   r9   s    r   popModezLexer.popMode   s    t""M***< 	O$docrc&::NNNN		4?&&((***zr   c                     | j         S rO   )r   r9   s    r   inputStreamzLexer.inputStream   s
    {r   c                     d | _         | | j         f| _        |                                  || _         | | j         f| _        d S rO   )r   r   r8   )r4   r)   s     r   rf   zLexer.inputStream   sA    (,dk':$

(,dk':$$$r   c                     | j         j        S rO   )r   
sourceNamer9   s    r   ri   zLexer.sourceName   s    {%%r   tokenc                     || _         d S rO   )r   )r4   rj   s     r   	emitTokenzLexer.emitToken   s    r   c           
          | j                             | j        | j        | j        | j        | j        |                                 dz
  | j        | j	                  }| 
                    |           |S Nr   )r   creater   r#   r&   r"   r   getCharIndexr   r    rl   )r4   ts     r   rH   z
Lexer.emit   si    M  !=tz4:W[Wdfjf!%!2!2!4!4Q!68LdNdf fqr   c           
          | j         }| j        }| j                            | j        t
          j        d t
          j        | j        j	        | j        j	        dz
  ||          }| 
                    |           |S rn   )r?   r@   r   ro   r   r   rF   r1   r   r>   rl   )r4   cposlposeofs       r   r<   zLexer.emitEOF   sk    {ym""4#?DRWRgimitiz#';#4Q#6dD Ds
r   c                     | j         S rO   r#   r9   s    r   typez
Lexer.type   s
    zr   rx   c                     || _         d S rO   rw   )r4   rx   s     r   rx   z
Lexer.type   s    


r   c                     | j         j        S rO   r0   r@   r9   s    r   r@   z
Lexer.line   s    |  r   r@   c                     || j         _        d S rO   r{   )r4   r@   s     r   r@   z
Lexer.line   s     r   c                     | j         j        S rO   r0   r?   r9   s    r   r?   zLexer.column   s    |""r   r?   c                     || j         _        d S rO   r~   )r4   r?   s     r   r?   zLexer.column   s    $r   c                     | j         j        S rO   )r   r>   r9   s    r   rp   zLexer.getCharIndex  s    {  r   c                 \    | j         | j         S | j                            | j                  S rO   )r&   r0   getTextr   r9   s    r   textz
Lexer.text  s*    :!:<''444r   txtc                     || _         d S rO   )r&   )r4   r   s     r   r   z
Lexer.text  s    


r   c                     g }|                                  }|j        t          j        k    r>|                    |           |                                  }|j        t          j        k    >|S rO   )rM   rx   r   rF   r^   )r4   tokensrq   s      r   getAllTokenszLexer.getAllTokens  s^    NNfeiMM!  A fei r   rL   c                    | j         }| j        j        }| j                            ||          }d|                     |          z   dz   }|                                 }|                    | d | j        | j        ||           d S )Nztoken recognition error at: '')	r   r   r>   r   getErrorDisplaygetErrorListenerDispatchsyntaxErrorr   r    )r4   rL   startstopr   msglisteners          r   rC   zLexer.notifyListeners   s    ){ {""5$//-0D0DT0J0JJSP0022T4)=t?UWZ\]^^^^^r   sc                     t                      5 }|D ]*}|                    |                     |                     +|                                cd d d            S # 1 swxY w Y   d S rO   )r   writegetErrorDisplayForChargetvalue)r4   r   bufcs       r   r   zLexer.getErrorDisplay(  s    ZZ 	"3 : :		$55a889999<<>>	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   AAA!$A!r   c                     t          |d                   t          j        k    rdS |dk    rdS |dk    rdS |dk    rdS |S )	Nr   z<EOF>
z\n	z\tz\r)ordr   rF   r4   r   s     r   r   zLexer.getErrorDisplayForChar.  sM    qt99ei7WW5WW5WW5Hr   c                 8    d|                      |          z   dz   S )Nr   )r   r   s     r   getCharErrorDisplayzLexer.getCharErrorDisplay:  s     T00333c99r   rec                     | j                             d          t          j        k    rQt	          |t
                    r!| j                            | j                    d S | j                                          d S d S rn   )r   rE   r   rF   
isinstancer   r0   consume)r4   r   s     r   rD   zLexer.recoverB  sr    ;>>!	))"788 &L((55555 ##%%%%% *)r   )1r   r   r   	__slots__r3   rG   rA   r   r1   DEFAULT_TOKEN_CHANNELHIDDEN_CHANNELHIDDENMIN_CHAR_VALUEMAX_CHAR_VALUEsysstdoutr	   r   r.   r8   rM   rP   rS   intrW   r_   rd   propertyrf   setterri   rl   rH   r<   rx   r@   r?   rp   r   r]   r   r   rC   r   r   r   r   rD   __classcell__)r5   s   @r   r   r      sa       I LDD!1!FNN:=* - -[ - - - - - - -`  (,2 ,2 ,2h    S             X ; ; ; ; ; & & X&e           X 
[    [ ! ! X! 
[! ! ! ! [! # # X# ]%C % % % ]%! ! !
 5 5 X5 
[s    [  _ 9 _ _ _ _" " " " "
s 
 
 
 
:C : : : :&- & & & & & & & &r   r   )ior   r   version_infotypingr   	typing.ioantlr4.CommonTokenFactoryr   antlr4.atn.LexerATNSimulatorr   antlr4.InputStreamr	   antlr4.Recognizerr
   antlr4.Tokenr   antlr4.error.Errorsr   r   r   objectr   r   r   r   r   <module>r      s>         



A       8 8 8 8 8 8 : : : : : : * * * * * * ( ( ( ( ( (       f f f f f f f f f f	 	 	 	 	& 	 	 	
k& k& k& k& k&J k& k& k& k& k&r   