
    kh*                     X    d dl mZ d dlmZ d dlmZ dZ G d de      Z G d de      Z	y)	    )StringIO)Token)IllegalStateExceptionNc                       e Zd Zy)TokenStreamN)__name__
__module____qualname__     V/var/www/teggl/fontify/venv/lib/python3.12/site-packages/antlr4/BufferedTokenStream.pyr   r      s    r   r   c                   >   e Zd ZdZdefdZd ZdefdZd Z	defd	Z
defd
Zd ZdefdZdefdZd)dede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d Zd ZdefdZdedefdZdedefdZd*d edefd!Zd*d edefd"Zd#ed$edefd%Zd& Zd+dedefd'Zd( Zy),BufferedTokenStreamtokenSourcetokensindex
fetchedEOFr   c                 <    || _         g | _        d| _        d| _        y NFr   selfr   s     r   __init__zBufferedTokenStream.__init__    s%    &
  
  r   c                      yNr   r   r   s    r   markzBufferedTokenStream.markA   s    r   markerc                      y Nr   )r   r   s     r   releasezBufferedTokenStream.releaseD   s    r   c                 &    | j                  d       y r   )seekr   s    r   resetzBufferedTokenStream.resetH   s    		!r   r   c                 P    | j                          | j                  |      | _        y r!   )lazyInitadjustSeekIndexr   r   r   s     r   r$   zBufferedTokenStream.seekK   s    ))%0
r   c                 @    | j                          | j                  |   S r!   )r'   r   r)   s     r   getzBufferedTokenStream.getO   s    {{5!!r   c                    d}| j                   dk\  rU| j                  r&| j                   t        | j                        dz
  k  }n%| j                   t        | j                        k  }nd}|s-| j	                  d      t
        j                  k(  rt        d      | j                  | j                   dz         r$| j                  | j                   dz         | _         y y )NFr      zcannot consume EOF)
r   r   lenr   LAr   EOFr   syncr(   )r   skipEofChecks     r   consumezBufferedTokenStream.consumeS   s    ::?  $zzC,<q,@@  $zzC,<< !L
eii 7'(<==99TZZ!^$--djj1n=DJ %r   ic                 p    |t        | j                        z
  dz   }|dkD  r| j                  |      }||k\  S y)Nr-   r   T)r.   r   fetch)r   r4   nfetcheds       r   r1   zBufferedTokenStream.syncm   s;    DKK  1$q5jjmGa<r   r7   c                 6   | j                   ryt        d|      D ]|  }| j                  j                         }t	        | j
                        |_        | j
                  j                  |       |j                  t        j                  k(  spd| _         |dz   c S  |S )Nr   Tr-   )r   ranger   	nextTokenr.   r   
tokenIndexappendtyper   r0   )r   r7   r4   ts       r   r6   zBufferedTokenStream.fetchx   s~    ??q! 	A  **,At{{+ALKKq!vvuyy "&1u	 r   Nstartstoptypesc                 d   |dk  s|dk  ry | j                          g }|t        | j                        k\  rt        | j                        dz
  }t        ||      D ]S  }| j                  |   }|j                  t
        j                  k(  r |S ||j                  |v sC|j                  |       U |S Nr   r-   )r'   r.   r   r:   r>   r   r0   r=   )r   r@   rA   rB   subsetr4   r?   s          r   	getTokenszBufferedTokenStream.getTokens   s    7d1f3t{{##t{{#A%Dud# 	!AAAvvuyy   }%a 	! r   c                 8    | j                  |      j                  S r!   )LTr>   r   r4   s     r   r/   zBufferedTokenStream.LA   s    wwqzr   kc                 `    | j                   |z
  dk  ry | j                  | j                   |z
     S r   )r   r   )r   rJ   s     r   LBzBufferedTokenStream.LB   s,    JJqLA{{4::a<((r   c                 :   | j                          |dk(  ry |dk  r| j                  |       S | j                  |z   dz
  }| j                  |       |t	        | j
                        k\  r%| j
                  t	        | j
                        dz
     S | j
                  |   S rD   )r'   rL   r   r1   r.   r   )r   rJ   r4   s      r   rH   zBufferedTokenStream.LT   s    a4q577A2;JJNQ		!DKK  ;;s4;;/122{{1~r   c                     |S r!   r   rI   s     r   r(   z#BufferedTokenStream.adjustSeekIndex   s    r   c                 D    | j                   dk(  r| j                          y y )Nr   )r   setupr   s    r   r'   zBufferedTokenStream.lazyInit   s    ::JJL r   c                 R    | j                  d       | j                  d      | _        y r   )r1   r(   r   r   s    r   rP   zBufferedTokenStream.setup   s    		!))!,
r   c                 <    || _         g | _        d| _        d| _        y r   r   r   s     r   setTokenSourcez"BufferedTokenStream.setTokenSource   s    &
r   channelc                 l   | j                  |       |t        | j                        k\  rt        | j                        dz
  S | j                  |   }|j                  |k7  rT|j                  t
        j                  k(  r|S |dz  }| j                  |       | j                  |   }|j                  |k7  rT|S )Nr-   )r1   r.   r   rT   r>   r   r0   )r   r4   rT   tokens       r   nextTokenOnChannelz&BufferedTokenStream.nextTokenOnChannel   s    		!c$++t{{#a''AmmW$zz599$FAIIaLKKNE mmW$ r   c                     |dk\  rC| j                   |   j                  |k7  r'|dz  }|dk\  r| j                   |   j                  |k7  r'|S rD   )r   rT   )r   r4   rT   s      r   previousTokenOnChannelz*BufferedTokenStream.previousTokenOnChannel   sJ    dt{{1~--w6FA dt{{1~--w6r   r<   c                    | j                          |dk  s|t        | j                        k\  r9t        t	        |      dz   t	        t        | j                        dz
        z         ddlm} | j                  |dz   |j                        }|dz   }|dk(  rt        | j                        dz
  n|}| j                  |||      S )Nr    not in 0..r-   Lexerr   )
r'   r.   r   	Exceptionstrantlr4.Lexerr]   rW   DEFAULT_TOKEN_CHANNELfilterForChannel)r   r<   rT   r]   nextOnChannelfrom_tos          r   getHiddenTokensToRightz*BufferedTokenStream.getHiddenTokensToRight   s    a<:s4;;'77C
Om;c#dkkBRSTBT>UUVV&//
Q@[@[\1%2B%6c$++q M$$UB88r   c                 d   | j                          |dk  s|t        | j                        k\  r9t        t	        |      dz   t	        t        | j                        dz
        z         ddlm} | j                  |dz
  |j                        }||dz
  k(  ry |dz   }|dz
  }| j                  |||      S )Nr   r[   r-   r\   )
r'   r.   r   r^   r_   r`   r]   rY   ra   rb   )r   r<   rT   r]   prevOnChannelrd   re   s          r   getHiddenTokensToLeftz)BufferedTokenStream.getHiddenTokensToLeft   s    a<:s4;;'77C
Om;c#dkkBRSTBT>UUVV&33JNED_D_`JN*a\$$UB88r   leftrightc                    g }t        ||dz         D ]i  }| j                  |   }|dk(  r2ddlm} |j                  |j
                  k7  s7|j                  |       I|j                  |k(  sY|j                  |       k t        |      dk(  ry |S )Nr-   r   r   r\   )r:   r   r`   r]   rT   ra   r=   r.   )r   rj   rk   rT   hiddenr4   r?   r]   s           r   rb   z$BufferedTokenStream.filterForChannel  s    tU1W% 	%AAA{.99u:::MM!$G#MM!$	% v;>r   c                 6    | j                   j                         S r!   )r   getSourceNamer   s    r   ro   z!BufferedTokenStream.getSourceName  s    --//r   c                 \   | j                          | j                          t        |t              r|j                  }n|d}t        |t              r|j                  }n2||t        | j                        k\  rt        | j                        dz
  }|dk  s
|dk  s||k  ryt               5 }t        ||dz         D ]K  }| j                  |   }|j                  t        j                  k(  r n|j                  |j                         M |j                         cd d d        S # 1 sw Y   y xY w)Nr   r-    )r'   fill
isinstancer   r<   r.   r   r   r:   r>   r0   writetextgetvalue)r   r@   rA   bufr4   r?   s         r   getTextzBufferedTokenStream.getText  s    		eU#$$E]EdE"??D\TS%55t{{#a'D19qD5LZ 	"35$q&) "KKN66599$		!&&!	"
 <<>	" 	" 	"s   +A-D""D+c                 z    | j                          | j                  d      dk(  r	 | j                  d      dk(  ry y )Ni  )r'   r6   r   s    r   rr   zBufferedTokenStream.fill+  s2    jj$ jj$r   r!   )r   )NN) r   r	   r
   	__slots__r]   r   r   intr"   r%   r$   r+   r3   r1   r6   setrF   r/   rL   rH   r(   r'   rP   rS   rW   rY   rf   ri   rb   ro   rx   rr   r   r   r   r   r      sB   @I 5  BS 1 1" ">4S 
c 
c  3 3 )3 )
3 2 -
   3   s C 	9 	9S 	99s 9C 9C s C 0"C "3 ".r   r   )
ior   antlr4.Tokenr   antlr4.error.Errorsr   r]   objectr   r   r   r   r   <module>r      s1       5 		& 	
Q+ Qr   