
    <i-                         S SK Jr  S SKr\R                  S   S:  a  S SKJr  OS SKJr  S SKJr  S SK	J
r
  S SKJr  S S	KJr  S S
KJr  S SKJrJrJr   " S S\5      r " S S\\5      rg)    )StringION      )TextIO)CommonTokenFactory)LexerATNSimulator)InputStream)
Recognizer)Token)IllegalStateExceptionLexerNoViableAltExceptionRecognitionExceptionc                       \ rS rSrSrg)TokenSource    N)__name__
__module____qualname____firstlineno____static_attributes__r       F/home/james-whalen/.local/lib/python3.13/site-packages/antlr4/Lexer.pyr   r      s    r   r   c                   x  ^  \ rS rSrSrSrSrSr\R                  r
\R                  rSrSr\R                   4S\S\4U 4S	 jjjrS
 rS rS rS rS\4S jrS\4S jrS r\S 5       r\R<                  S\4S j5       r\S 5       rS\4S jr S r!S r"\S 5       r#\#R<                  S\4S j5       r#\S 5       r$\$R<                  S\4S j5       r$\S 5       r%\%R<                  S \4S! j5       r%S" r&\S# 5       r'\'R<                  S$\(4S% j5       r'S& r)S'\*4S( jr+S)\(4S* jr,S+\(4S, jr-S+\(4S- jr.S.\/4S/ jr0S0r1U =r2$ )1Lexer   )_input_output_factory_tokenFactorySourcePair_token_tokenStartCharIndex_tokenStartLine_tokenStartColumn_hitEOF_channel_type
_modeStack_mode_textr   i inputoutputc                 Z  > [         TU ]  5         Xl        X l        [        R
                  U l        X4U l        S U l        S U l	        SU l
        SU l        SU l        SU l        [        R                  U l        [        R"                  U l        / U l        U R(                  U l        S U l        g )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   r2   Lexer.__init__.   s    *22(,}$ 
 %'!  " "$  -- ''
&&

 
r   c                 h   U R                   b  U R                   R                  S5        S U l        [        R                  U l        [        R                  U l        SU l        SU l	        SU l
        S U l        SU l        [        R                  U l        / U l        U R"                  R%                  5         g )Nr   r0   F)r   seekr!   r   r6   r'   r5   r&   r"   r$   r#   r*   r%   r   r7   r)   r(   r4   resetr8   s    r   r=   Lexer.reset^   s    ;;"KKQ''
--$&!!#!
''
r   c                     U R                   c  [        S5      eU R                   R                  5       n  U R                  (       a7  U R	                  5         U R
                  U R                   R                  U5        $ S U l        [        R                  U l	        U R                   R                  U l        U R                  R                  U l        U R                  R                  U l        S U l        Sn [        R$                  U l        U R(                  n U R                  R+                  U R                   U R,                  5      nU R                   R5                  S5      [        R6                  :X  a  SU l        U R&                  [        R$                  :X  a  X0l        U R&                  U R(                  :X  a  SnOU R&                  U R8                  :w  a  OM  U(       a  GM  U R
                  c  U R;                  5         U R
                  U R                   R                  U5        $ ! [.         a-  nU R1                  U5        U R3                  U5         S nAGNS nAff = f! U R                   R                  U5        f = f)Nz+nextToken requires a non-null input stream.TFr   )r   r   markr%   emitEOFr!   releaser   r5   r&   indexr"   r4   columnr$   liner#   r*   r6   r'   SKIPmatchr)   r   notifyListenersrecoverLAEOFMOREemit)r8   tokenStartMarkercontinueOuterttypees        r   	nextToken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  =BI  0H& CI  &
I0"II  II   I=c                 &    U R                   U l        g N)rG   r'   r>   s    r   skip
Lexer.skip       YY
r   c                 &    U R                   U l        g rV   )rM   r'   r>   s    r   more
Lexer.more   rY   r   mc                     Xl         g rV   )r)   r8   r]   s     r   mode
Lexer.mode   s    
r   c                     U R                   R                  (       a   [        S[        U5      -   U R                  S9  U R
                  R                  U R                  5        U R                  U5        g )Nz	pushMode file)	r4   debugprintstrr   r(   appendr)   r`   r_   s     r   pushModeLexer.pushMode   sG    <<+A&T\\:tzz*		!r   c                 2   [        U R                  5      S:X  a  [        S5      eU R                  R                  (       a$  [        SU R                  S S -   U R                  S9  U R                  U R                  R                  5       5        U R                  $ )Nr   zEmpty StackzpopMode back to r0   rc   )
lenr(   	Exceptionr4   re   rf   r   r`   popr)   r>   s    r   popModeLexer.popMode   sm    t"M**<<$doocr&::N		4??&&(*zzr   c                     U R                   $ rV   )r   r>   s    r   inputStreamLexer.inputStream   s    {{r   c                     S U l         X R                   4U l        U R                  5         Xl         X R                   4U l        g rV   )r   r    r=   )r8   r-   s     r   rr   rs      s5    (,kk':$

(,kk':$r   c                 .    U R                   R                  $ rV   )r   
sourceNamer>   s    r   rv   Lexer.sourceName   s    {{%%%r   tokenc                     Xl         g rV   )r!   )r8   rx   s     r   	emitTokenLexer.emitToken   s    r   c           
         U R                   R                  U R                  U R                  U R                  U R
                  U R                  U R                  5       S-
  U R                  U R                  5      nU R                  U5        U$ Nr   )r   creater    r'   r*   r&   r"   getCharIndexr#   r$   rz   )r8   ts     r   rN   
Lexer.emit   so    MM  !=!=tzz4::W[WdWdfjff!%!2!2!4Q!68L8LdNdNdfqr   c           
      <   U R                   nU R                  nU R                  R                  U R                  [
        R                  S [
        R                  U R                  R                  U R                  R                  S-
  X!5      nU R                  U5        U$ r}   )rE   rF   r   r~   r    r   rL   r5   r   rD   rz   )r8   cposlposeofs       r   rB   Lexer.emitEOF   sv    {{yymm""4#?#?DRWRgRgimititiziz#';;#4#4Q#6Ds
r   c                     U R                   $ rV   r'   r>   s    r   type
Lexer.type   s    zzr   r   c                     Xl         g rV   r   )r8   r   s     r   r   r      s    
r   c                 .    U R                   R                  $ rV   r4   rF   r>   s    r   rF   
Lexer.line   s    ||   r   rF   c                 $    XR                   l        g rV   r   )r8   rF   s     r   rF   r      s     r   c                 .    U R                   R                  $ rV   r4   rE   r>   s    r   rE   Lexer.column   s    ||"""r   rE   c                 $    XR                   l        g rV   r   )r8   rE   s     r   rE   r      s    $r   c                 .    U R                   R                  $ rV   )r   rD   r>   s    r   r   Lexer.getCharIndex  s    {{   r   c                 ~    U R                   b  U R                   $ U R                  R                  U R                  5      $ rV   )r*   r4   getTextr   r>   s    r   text
Lexer.text  s/    ::!::<<''44r   txtc                     Xl         g rV   )r*   )r8   r   s     r   r   r     s    
r   c                     / nU R                  5       nUR                  [        R                  :w  aA  UR	                  U5        U R                  5       nUR                  [        R                  :w  a  MA  U$ rV   )rS   r   r   rL   rh   )r8   tokensr   s      r   getAllTokensLexer.getAllTokens  sT    NNffeiiMM! A ffeii r   rR   c                    U R                   nU R                  R                  nU R                  R                  X#5      nSU R	                  U5      -   S-   nU R                  5       nUR                  U S U R                  U R                  XQ5        g )Nztoken recognition error at: '')	r"   r   rD   r   getErrorDisplaygetErrorListenerDispatchsyntaxErrorr#   r$   )r8   rR   startstopr   msglisteners          r   rI   Lexer.notifyListeners   s{    )){{  {{""5/-0D0DT0JJSP002T4)=)=t?U?UWZ^r   sc                     [        5        nU H#  nUR                  U R                  U5      5        M%     UR                  5       sS S S 5        $ ! , (       d  f       g = frV   )r   writegetErrorDisplayForChargetvalue)r8   r   bufcs       r   r   Lexer.getErrorDisplay(  s=    Z3		$55a89 <<> ZZs   9A
Ar   c                 r    [        US   5      [        R                  :X  a  gUS:X  a  gUS:X  a  gUS:X  a  gU$ )	Nr   z<EOF>
z\n	z\tz\r)ordr   rL   r8   r   s     r   r   Lexer.getErrorDisplayForChar.  s<    qt9eiiWWWHr   c                 0    SU R                  U5      -   S-   $ )Nr   )r   r   s     r   getCharErrorDisplayLexer.getCharErrorDisplay:  s    T0033c99r   rec                 
   U R                   R                  S5      [        R                  :w  aV  [	        U[
        5      (       a&  U R                  R                  U R                   5        g U R                   R                  5         g g r}   )r   rK   r   rL   
isinstancer   r4   consume)r8   r   s     r   rJ   Lexer.recoverB  sV    ;;>>!		)"788LL((5 ##% *r   )r&   r   r%   r   r4   r)   r(   r   r*   r!   r    r"   r$   r#   r'   )3r   r   r   r   	__slots__r7   rM   rG   r   r5   DEFAULT_TOKEN_CHANNELHIDDEN_CHANNELHIDDENMIN_CHAR_VALUEMAX_CHAR_VALUEsysstdoutr	   r   r2   r=   rS   rW   r[   intr`   ri   ro   propertyrr   setterrv   rz   rN   rB   r   rF   rE   r   r   rg   r   r   rI   r   r   r   r   rJ   r   __classcell__)r9   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   