Ë
    çÍ:jý  ã                   óx   — d Z ddlmZmZ ddlmZ ddlmZmZ ddl	m
Z
 ddlmZ  G d„ de«      Z G d	„ d
e«      Zy)z
Tokenizer Interface
é    )ÚABCÚabstractmethod)ÚIterator)ÚListÚTuple)Ú
overridden)Ústring_span_tokenizec                   óž   — e Zd ZdZededee   fd„«       Zdedee	e
e
f      fd„Zdee   deee      fd„Zdee   deee	e
e
f         fd„Zy	)
Ú
TokenizerIz†
    A processing interface for tokenizing a string.
    Subclasses must define ``tokenize()`` or ``tokenize_sents()`` (or both).
    ÚsÚreturnc                 óX   — t        | j                  «      r| j                  |g«      d   S y)zL
        Return a tokenized copy of *s*.

        :rtype: List[str]
        r   N)r   Útokenize_sents©Úselfr   s     úf/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/tokenize/api.pyÚtokenizezTokenizerI.tokenize   s/   € ô �d×)Ñ)Ô*Ø×&Ñ&¨ sÓ+¨AÑ.Ð.ð +ó    c                 ó   — t        «       ‚)z»
        Identify the tokens using integer offsets ``(start_i, end_i)``,
        where ``s[start_i:end_i]`` is the corresponding token.

        :rtype: Iterator[Tuple[int, int]]
        ©ÚNotImplementedErrorr   s     r   Úspan_tokenizezTokenizerI.span_tokenize%   s   € ô "Ó#Ð#r   Ústringsc                 óJ   — |D �cg c]  }| j                  |«      ‘Œ c}S c c}w )z«
        Apply ``self.tokenize()`` to each element of ``strings``.  I.e.:

            return [self.tokenize(s) for s in strings]

        :rtype: List[List[str]]
        )r   ©r   r   r   s      r   r   zTokenizerI.tokenize_sents.   s!   € ð +2Ö2 Q�—‘˜aÕ Ò2Ð2ùÒ2s   … c              #   óR   K  — |D ]  }t        | j                  |«      «      –— Œ  y­w)z»
        Apply ``self.span_tokenize()`` to each element of ``strings``.  I.e.:

            return [self.span_tokenize(s) for s in strings]

        :yield: List[Tuple[int, int]]
        N)Úlistr   r   s      r   Úspan_tokenize_sentszTokenizerI.span_tokenize_sents8   s-   è ø€ ð ò 	.ˆAÜ�t×)Ñ)¨!Ó,Ó-Ó-ñ	.ùs   ‚%'N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   r   r   ÚtupleÚintr   r   r   © r   r   r   r      s—   „ ñð
 ð/˜#ð / $ s¡)ò /ó ð/ð$˜sð $ x°°c¸3°h±Ñ'@ó $ð3 d¨3¡ið 3°D¸¸c¹±Oó 3ð.Ø˜C‘yð.à	�$�u˜S #˜X‘Ñ'Ñ	(ô.r   r   c                   ó6   — e Zd ZdZeed„ «       «       Zd„ Zd„ Zy)ÚStringTokenizerzxA tokenizer that divides a string into substrings by splitting
    on the specified string (defined in subclasses).
    c                 ó   — t         ‚©Nr   )r   s    r   Ú_stringzStringTokenizer._stringK   s
   € ô "Ð!r   c                 ó8   — |j                  | j                  «      S r*   )Úsplitr+   r   s     r   r   zStringTokenizer.tokenizeP   s   € Ø�w‰w�t—|‘|Ó$Ð$r   c              #   óL   K  — t        || j                  «      E d {  –—†  y 7 Œ­wr*   )r	   r+   r   s     r   r   zStringTokenizer.span_tokenizeS   s   è ø€ Ü'¨¨4¯<©<Ó8×8Ò8ús   ‚$œ"�$N)	r   r    r!   r"   Úpropertyr   r+   r   r   r&   r   r   r(   r(   F   s-   „ ñð Øñ"ó ó ð"ò%ó9r   r(   N)r"   Úabcr   r   Úcollections.abcr   Útypingr   r   Únltk.internalsr   Únltk.tokenize.utilr	   r   r(   r&   r   r   ú<module>r5      s4   ðñ÷ $Ý $ß å %Ý 3ô..�ô ..ôb9�jõ 9r   