C generator