From nobody Thu Oct 02 08:20:42 2025 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ccl9w6YKXz69KVW for ; Thu, 02 Oct 2025 08:21:08 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Received: from mailgate.Leidinger.net (bastille.leidinger.net [89.238.82.207]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mailgate.leidinger.net", Issuer "E8" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ccl9w0Cgsz4Nhk; Thu, 02 Oct 2025 08:21:08 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Authentication-Results: mx1.freebsd.org; none List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leidinger.net; s=outgoing-alex; t=1759393259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5/QOQMz9P3ZUaC1unpIo6Swq0Vydqex3vK3NjBpFw8c=; b=MTnFuZM6/O5jDOjiOhCEdC3a9E5dHxeu1DgJy0X0zzxoQorpN1BwLLlGIRkCy+V3L4wGMJ Q0ToBol56eLKTQ+bBNEMM8gH/b9cyQ0Y5shrWNkULvs4HAu8pI5d2/lchot/QXf0kKUlGJ ArI0hMPEUu6uhgBWKwk5vl6OS9PKt5wSOsmnaIAihGniJ3nRmewomqKWcMKeO+5Fi4sIBV D9CVOdzMwzGNaHM6Hd/cAQSnwTvH9WWppp19bcxAyNwoZeQWs8uLZP9NAu3QC5NDaZtmo/ FR3poWafrAYJpAn8DCEz35Q91tzam0FPK8FdiIrLMUDsZZ6ugvhxt4QYkSJULA== Date: Thu, 02 Oct 2025 10:20:42 +0200 From: Alexander Leidinger To: Alan Somers Cc: Maku Bex , FreeBSD Current Subject: Re: Source code: class diagram generator In-Reply-To: References: Message-ID: <01caf55e927fc5cb451b44fc325e669e@Leidinger.net> Organization: No organization, this is a private message. Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=_f49db4262f1e9b82f2fbf7837fdba0ad"; micalg=pgp-sha256 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:34240, ipnet:89.238.64.0/18, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4ccl9w0Cgsz4Nhk This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --=_f49db4262f1e9b82f2fbf7837fdba0ad Content-Type: multipart/alternative; boundary="=_6b2ed48d62f49d5fd366f6fe8113cffe" --=_6b2ed48d62f49d5fd366f6fe8113cffe Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed Am 2025-10-02 05:25, schrieb Alan Somers: > On Wed, Oct 1, 2025 at 7:50 PM Maku Bex wrote: > >> Hello, >> >> Is there a tool or application(s) that automatically generates a class >> diagram from source code? >> >> Google search suggests rather inefficient ways to do it and mostly >> manual labor that would take weeks to complete. I tried AI chats and >> they pretty much suggested the same methods. Basically, using VScode >> with a UML extension and manually telling it to add each class and >> link it....yikes! I also looked into the build systems such as GN, >> bazel, make, and search for any packages like rust's crates, ruby >> gems, npm, etc. I hope I'm not wasting my time and looking for a >> unicorn. >> >> Best, > > I think that Doxygen can do it for C and C++. But preprocessor macros > can easily confuse Doxygen, so the results aren't perfect. To get an idea what Doxygen can do with the FreeBSD code, see: https://www.leidinger.net/FreeBSD/dox/ Bye, Alexander. -- http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_6b2ed48d62f49d5fd366f6fe8113cffe Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8

Am 2025-10-02 05:25, schrieb Alan Somers:

On Wed, Oct 1, 2025 at 7:50=E2=80= =AFPM Maku Bex <zagazaw2004@gmail.com> wrote:
Hello,
 
Is there a tool or application(s) that automatically gene= rates a class diagram from source code?
 
Google search suggests rather inefficient ways to do it a= nd mostly manual labor that would take weeks to complete. I tried AI chats = and they pretty much suggested the same methods. Basically, using VScode wi= th a UML extension and manually telling it to add each class and link it...= =2Eyikes! I also looked into the build systems such as GN, bazel, make, and= search for any packages like rust's crates, ruby gems, npm, etc. I hope I'= m not wasting my time and looking for a unicorn.
 
Best,
 
 I think that Doxygen can do it for C and C++.  But preproce= ssor macros can easily confuse Doxygen, so the results aren't perfect.

To get an idea what Doxygen can do with the FreeBSD code, see:

    https:/= /www.leidinger.net/FreeBSD/dox/


Bye,
Alexander.

--
--=_6b2ed48d62f49d5fd366f6fe8113cffe-- --=_f49db4262f1e9b82f2fbf7837fdba0ad Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc; size=833 Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmjeNegACgkQEg2wmwP4 2IZW/w//efCX34HxWipsReHPn3FE+cBLpn1yTdHm6feAWJmP1qORHZy+qUXBmdkr eUy0/p1Tx7SxWFgLT5bk5Efxy+fW7hBBbR4vMtDFHCYxmUaFzLcOyum4v2+Dxl+e ntjhWZqhxGBKz07odtWDdxGsLy6KdemZetdlBZdAQr3z/bE9FHj2jTNzpCRk8ugQ xv9d6OfMay/MWNP74twStyLH0e+CVt0PkZU96no1PyP3rRW593u6Kq4rhKBiD1EW MJNOhtFFTmJdcn6FzRFSeFtsO1VbJKj1mlCtyfFy7JykoqNzTMswZMF+Z+aNls8f nSItJLBDTAtsIF4R2PpOLfWdfTSyiDf8I5WLBUdZ4DWZ0NL0+A5ktyCbHoPnaON0 aoD6iGyQmeOZrnNHEw1J+72gvhpKXaUQjhnKkO1hRIysM8fhXAoCyRSDW1BPANYM ZOioqbemb73Tvgdn0LDYhX0h5vLEzbLdHbR6QAVCCziKGY3qLKe8ZsfOiPfz/7C8 GebIGmCaW/uLKcpVdkNHR0v2lBqMqN/74GCL1Tv3kA+KYFDRQIvhZ5j7YUf/nAQ4 +XArS3mIXncoLeRrA40DuW/Nv6RpWV2mH6xTiqv6TarFPq3spStdXnFI8xiNzCeM HXbn/kRU6F9aNzSJwIU/Ufd/+77FQWaSgAs9yTVoihP8KyvaWaM= =BuJ7 -----END PGP SIGNATURE----- --=_f49db4262f1e9b82f2fbf7837fdba0ad--