code: def build_and_run(args):
      """
      Build an executable program from a Cython module and runs it.
  
      Arguments after the module name will be passed verbatimely to the
      program.
      """
      cy_args = []
      last_arg = None
      for i, arg in enumerate(args):
          if arg.startswith("-"):
              cy_args.append(arg)
          elif last_arg in ("-X", "--directive"):
              cy_args.append(arg)
          else:
              input_file = arg
              args = args[i + 1 :]
              break
          last_arg = arg
      else:
          raise ValueError("no input file provided")
  
      program_name = build(input_file, cy_args)
      exec_file(program_name, args)
  
file_path: catboost/contrib/tools/cython/Cython/Build/BuildExecutable.py
imports: from __future__ import absolute_import
  import sys
  import os
  from distutils import sysconfig
label_desc: Use image node_id 10 for calling a global function with example usage: build_and_run(args) without return types