code: def _format_zinc_arguments(settings, distribution):
      
      zinc_args = [
        '-C-source', '-C{}'.format(settings.source_level),
        '-C-target', '-C{}'.format(settings.target_level),
      ]
      if settings.args:
        settings_args = settings.args
        if any('$JAVA_HOME' in a for a in settings.args):
          logger.debug('Substituting "$JAVA_HOME" with "{}" in jvm-platform args.'
                       .format(distribution.home))
          settings_args = (a.replace('$JAVA_HOME', distribution.home) for a in settings.args)
        zinc_args.extend(settings_args)
      return zinc_args
docs: Extracts and formats the zinc arguments given in the jvm platform settings.
  
      This is responsible for the symbol substitution which replaces $JAVA_HOME with the path to an
      appropriate jvm distribution.
  
      :param settings: The jvm platform settings from which to extract the arguments.
      :type settings: :class:`JvmPlatformSettings`