code: def text2tokens(self, line: str) -> List[str]:
      tokens = []
      while len(line) != 0:
          for w in self.non_linguistic_symbols:
              if line.startswith(w):
                  if not self.remove_non_linguistic_symbols:
                      tokens.append(line[: len(w)])
                  line = line[len(w) :]
                  break
          else:
              t = line[0]
              tokens.append(t)
              line = line[1:]
  
      line = "".join(tokens)
      tokens = self.g2p(line)
      return tokens
  
imports: import logging
  import re
  import warnings
  from pathlib import Path
  from typing import Iterable, List, Optional, Union
  import g2p_en
  import jamo
  from packaging.version import parse
  from typeguard import check_argument_types
  from espnet2.text.abs_tokenizer import AbsTokenizer
label_desc: Use image node_id 3 for calling the PhonemeTokenizer obj's underlying member method code with example usage: obj.text2tokens(line) and returns: tokens