code: def _get_tokens(expression):
      no_whitespace = "".join(expression.split())
      g = tokenize.tokenize(
          BytesIO(no_whitespace.encode("UTF-8")).readline
      )
      assert next(g).string == "utf-8"
      tokens = []
      buffer = ""
      result = []
      for _, v, _, _, _ in g:
          tokens.append(v)
      for token in tokens:
          if token not in OPERATORS + PARENTHESES:
              buffer += token
          else:
              result.append(buffer)
              result.append(token)
              buffer = ""
      result.append(buffer)
      return [x for x in result if x != ""]
  
file_path: AIX360/aix360/algorithms/rule_induction/trxf/core/feature.py
imports: import numbers
  import tokenize
  from io import BytesIO
  from typing import Dict, Any
label_desc: Use image node_id 3 for calling a global function with example usage: _get_tokens(expression) and returns: unknown