code: def _parse_node_list(node_list: str):
      try:
          pos = 0
          parsed: tp.List[str] = []
          while pos < len(node_list):
              pos = _parse_node_group(node_list, pos, parsed)
          return parsed
      except ValueError as e:
          raise SlurmParseException(
              f"Unrecognized format for SLURM_JOB_NODELIST: '{node_list}'",
              e,
          ) from e
  
imports: import functools
  import inspect
  import os
  import re
  import shlex
  import shutil
  import subprocess
  import sys
  import typing
  import uuid
  import warnings
  from pathlib import Path
  from ..core import core, job_environment, logger, utils
label_desc: Use image node_id 4 for calling a global function with example usage: _parse_node_list(node_list) and returns: parsed