code: def to_c(sym):
      symbols = collections.deque(sym.split("::"))
      c_prefixes = [  # demangle prefixes for c++ symbols
          "_ZN",  # namespace
          "_ZTIN",  # typeinfo for
          "_ZTSN",  # typeinfo name for
          "_ZTTN",  # VTT for
          "_ZTVN",  # vtable for
          "_ZNK",  # const methods
      ]
      c_sym = ""
      while symbols:
          s = symbols.popleft()
          if s == "*":
              c_sym += "*"
              break
          if "*" in s and len(s) > 1:
              raise Exception(
                  "Unsupported format, cannot guess length of symbol: "
                  + s
              )
          c_sym += str(len(s)) + s
      if symbols:
          raise Exception("Unsupported format: " + sym)
      if c_sym[-1] != "*":
          c_sym += "E*"
      return [
          "{prefix}{sym}".format(prefix=prefix, sym=c_sym)
          for prefix in c_prefixes
      ]
  
file_path: catboost/build/scripts/export_script_gen.py
imports: import argparse
  import collections
  import sys
label_desc: Use image node_id 2 for calling a global function with example usage: to_c(sym) and returns: unknown