code: def locatedExpr(expr: ParserElement) -> ParserElement:
      """
      (DEPRECATED - future code should use the :class:`Located` class)
      Helper to decorate a returned token with its starting and ending
      locations in the input string.
  
      This helper adds the following results names:
  
      - ``locn_start`` - location where matched expression begins
      - ``locn_end`` - location where matched expression ends
      - ``value`` - the actual parsed results
  
      Be careful if the input text contains ``<TAB>`` characters, you
      may want to call :class:`ParserElement.parse_with_tabs`
  
      Example::
  
          wd = Word(alphas)
          for match in locatedExpr(wd).search_string("ljsdf123lksdjjf123lkkjj1222"):
              print(match)
  
      prints::
  
          [[0, 'ljsdf', 5]]
          [[8, 'lksdjjf', 15]]
          [[18, 'lkkjj', 23]]
      """
      locator = Empty().set_parse_action(lambda ss, ll, tt: ll)
      return Group(
          locator("locn_start")
          + expr("value")
          + locator.copy().leaveWhitespace()("locn_end")
      )
  
imports: import html.entities
  import re
  import sys
  import typing
  from .None import __diag__
  from .core import *
  from .util import _bslash, _flatten, _escape_regex_range_chars, replaced_by_pep8
label_desc: Use image node_id 8 for calling a global function with example usage: locatedExpr(expr) and returns: Group