code: def generate(basename, xml_list):
      
  
      if os.path.isdir(basename):
          filename = os.path.join(basename, 'MAVLink.swift')
      else:
          filename = basename
  
      msgs = []
      enums = []
      filelist = []
      for xml in xml_list:
          msgs.extend(xml.message)
          enums.extend(xml.enum)
          filelist.append(os.path.basename(xml.filename))
      
      outf = open(filename, "w")
      generate_header(outf, filelist, xml_list)
      generate_enums_info(enums, msgs)
      generate_enums(outf, enums, msgs)
      generate_messages_info(msgs)
      generate_messages(outf, msgs)
      append_static_code('Parser.swift', outf)
      generate_message_mappings_array(outf, msgs)
      generate_message_lengths_array(outf, msgs)
      generate_message_crc_extra_array(outf, msgs)
      outf.close()
docs: Generate complete MAVLink Swift implemenation