
    kh-                         d dl mZ d dlZej                  d   dkD  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y)    )StringION      )TextIO)CommonTokenFactory)LexerATNSimulator)InputStream)
Recognizer)Token)IllegalStateExceptionLexerNoViableAltExceptionRecognitionExceptionc                       e Zd Zy)TokenSourceN)__name__
__module____qualname__     H/var/www/teggl/fontify/venv/lib/python3.12/site-packages/antlr4/Lexer.pyr   r      s    r   r   c                   P    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                 `   t         |           || _        || _        t        j
                  | _        | |f| _        d | _        d | _	        d| _
        d| _        d| _        d| _        t        j                  | _        t        j"                  | _        g | _        | j(                  | _        d | _        y )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2(,e}$ 
 %'!  " "$  -- ''
&&

 
r   c                 f   | j                   | j                   j                  d       d | _        t        j                  | _        t        j                  | _        d| _        d| _	        d| _
        d | _        d| _        t        j                  | _        g | _        | j"                  j%                          y )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    ;;"KKQ''
--$&!!#!
''
r   c                    | j                   t        d      | j                   j                         }	 	 | j                  r7| j	                          | j
                  | j                   j                  |       S d | _        t        j                  | _	        | j                   j                  | _        | j                  j                  | _        | j                  j                  | _        d | _        d}	 t        j$                  | _        | j(                  }	 | j                  j+                  | j                   | j,                        }| j                   j5                  d      t        j6                  k(  rd| _        | j&                  t        j$                  k(  r|| _        | j&                  | j(                  k(  rd}n| j&                  | j8                  k7  rn|r| j
                  | j;                          | j
                  | j                   j                  |       S # t.        $ r-}| j1                  |       | j3                  |       Y d }~d }~ww xY w# | j                   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  ;;++-%	2<<LLN;;B KK 01A # % 5 5,0KK,=,=))-)<)<&'+||'8'8$!
 %!&!3!3DJ IIE( $ 2 24;;

 K {{~~a(%))3'+zzU%7%77%*
zzTYY.(,zz499,! " !;;&IIK{{ KK 01) 5 (,,Q/Q(( KK 01s=   (I 7BI 0H  B9I 	I"I I II I+c                 &    | j                   | _        y N)rA   r#   r9   s    r   skipz
Lexer.skip       YY
r   c                 &    | j                   | _        y rO   )rG   r#   r9   s    r   morez
Lexer.more   rQ   r   mc                     || _         y rO   )r%   r4   rT   s     r   modez
Lexer.mode   s	    
r   c                     | j                   j                  r#t        dt        |      z   | j                         | j
                  j                  | j                         | j                  |       y )Nz	pushMode file)	r0   debugprintstrr   r$   appendr%   rW   rV   s     r   pushModezLexer.pushMode   sG    <<+A&T\\:tzz*		!r   c                 ,   t        | j                        dk(  rt        d      | j                  j                  r't        d| j                  d d z   | j                         | j                  | 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   sm    t"M**<<$doocr&::N		4??&&(*zzr   c                     | j                   S rO   )r   r9   s    r   inputStreamzLexer.inputStream   s    {{r   c                     d | _         | | j                   f| _        | j                          || _         | | j                   f| _        y rO   )r   r   r8   )r4   r)   s     r   rf   zLexer.inputStream   s;    (,dkk':$

(,dkk':$r   c                 .    | j                   j                  S rO   )r   
sourceNamer9   s    r   ri   zLexer.sourceName   s    {{%%%r   tokenc                     || _         y rO   )r   )r4   rj   s     r   	emitTokenzLexer.emitToken   s	    r   c           
         | j                   j                  | j                  | j                  | j                  | j
                  | j                  | j                         dz
  | j                  | j                        }| j                  |       |S Nr   )r   creater   r#   r&   r"   r   getCharIndexr   r    rl   )r4   ts     r   rH   z
Lexer.emit   so    MM  !=!=tzz4::W[WdWdfjff!%!2!2!4Q!68L8LdNdNdfqr   c           
      >   | j                   }| j                  }| j                  j                  | j                  t
        j                  d t
        j                  | j                  j                  | j                  j                  dz
  ||      }| j                  |       |S rn   )r?   r@   r   ro   r   r   rF   r1   r   r>   rl   )r4   cposlposeofs       r   r<   zLexer.emitEOF   sx    {{yymm""4#?#?DRWRgRgimititiziz#';;#4#4Q#6dDs
r   c                     | j                   S rO   r#   r9   s    r   typez
Lexer.type   s    zzr   rx   c                     || _         y 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                   _        y 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                   _        y 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                  | j                        S rO   )r&   r0   getTextr   r9   s    r   textz
Lexer.text  s/    ::!::<<''44r   txtc                     || _         y rO   )r&   )r4   r   s     r   r   z
Lexer.text  s	    
r   c                     g }| j                         }|j                  t        j                  k7  r?|j	                  |       | j                         }|j                  t        j                  k7  r?|S rO   )rM   rx   r   rF   r^   )r4   tokensrq   s      r   getAllTokenszLexer.getAllTokens  sT    NNffeiiMM! A ffeii r   rL   c                 "   | j                   }| j                  j                  }| j                  j                  ||      }d| j	                  |      z   dz   }| j                         }|j                  | d | j                  | j                  ||       y )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$/-0D0DT0JJSP002T4)=)=t?U?UWZ\]^r   sc                     t               5 }|D ]"  }|j                  | j                  |             $ |j                         cd d d        S # 1 sw Y   y xY wrO   )r   writegetErrorDisplayForChargetvalue)r4   r   bufcs       r   r   zLexer.getErrorDisplay(  sM    Z 	"3 :		$55a89:<<>	" 	" 	"s   7AAr   c                 j    t        |d         t        j                  k(  ry|dk(  ry|dk(  ry|dk(  ry|S )	Nr   z<EOF>
z\n	z\tz\r)ordr   rF   r4   r   s     r   r   zLexer.getErrorDisplayForChar.  s<    qt9eiiWWWHr   c                 0    d| j                  |      z   dz   S )Nr   )r   r   s     r   getCharErrorDisplayzLexer.getCharErrorDisplay:  s    T0033c99r   rec                     | j                   j                  d      t        j                  k7  rQt	        |t
              r&| j                  j                  | j                          y | j                   j                          y y rn   )r   rE   r   rF   
isinstancer   r0   consume)r4   r   s     r   rD   zLexer.recoverB  sS    ;;>>!		)"78LL((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      s   I LDD!11!!FNN:=** -[ - -`(,2hS     ; ; ; & &e    
[[   ! ! 
[[! ! ! # # ]]%C % %!
 5 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      sW     
A  8 : * (  f f	& 	
k&J k&r   