code: def check_syntax_errors(
      definition: "DictStrAny",
      name: str,
      path: str,
      where: str = "stages",
  ):
      for key, d in definition.items():
          try:
              check_recursive_parse_errors(d)
          except ParseError as exc:
              format_and_raise(exc, f"'{where}.{name}.{key}'", path)
  
imports: import logging
  import os
  from collections.abc import Mapping, Sequence
  from copy import deepcopy
  from itertools import product
  from typing import TYPE_CHECKING, Any, Dict, List, NamedTuple, Optional, Tuple, Type, Union
  from funcy import collecting, first, isa, join, reraise
  from dvc.exceptions import DvcException
  from dvc.log import logger
  from dvc.parsing.interpolate import ParseError
  from dvc.utils.objects import cached_property
  from .context import Context, ContextError, KeyNotInContext, MergeError, Node, VarsAlreadyLoaded
  from .interpolate import check_recursive_parse_errors, is_interpolated_string, recurse, to_str
label_desc: Use image node_id 4 for calling a global function with example usage: check_syntax_errors(definition, name, path, where) without return types