From nobody Fri Oct 3 03:59:20 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 4cdFKf5Zzkz69NVW for ; Fri, 03 Oct 2025 03:59:34 +0000 (UTC) (envelope-from zagazaw2004@gmail.com) Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cdFKf2BlNz3PRd for ; Fri, 03 Oct 2025 03:59:34 +0000 (UTC) (envelope-from zagazaw2004@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-x736.google.com with SMTP id af79cd13be357-856cbf74c4aso218279785a.2 for ; Thu, 02 Oct 2025 20:59:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759463972; x=1760068772; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DcqLib1h+GKZl8NXymJ1N/R45jeDhHlm3grrO19GJyU=; b=JrTtrNrMoMjEd4uC52PII52XGhnBdkdvpJKp6C9AfUsLB/lPeXF6dW6/+TnJleQ9BB 9rX1Ojrcy2Fzav5cQrPqCFTv0KcHvOQo2aKbYqkyczbKoBStVxU3BYFmX6VXWYxuWXt7 IXHeP6Pu5W/4JanTvb9VKk/YylCB9NB1yPxt8Cr8pTl0+WOkRp9WsWPOBWO37O+jiaHG aR/CmtlbXdfDVEW768B4YkoaPu1KuUPWMdaH5Q22hYE8pzR2X6oR1yNW2gAlQxxKfk07 T5OkbIzn132QURGXmMIXYqtjXg8dAURnhz7cdjXBtO0PlYOEWaDDnjH3/ZvNAq//epkW UKxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759463972; x=1760068772; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DcqLib1h+GKZl8NXymJ1N/R45jeDhHlm3grrO19GJyU=; b=lhC6/3v+QQMut6hI4zRiJc/BBBZJLKLSd0QLhUu+0Swg1ZK0z/OD7NrCiZNJTCwkgR 2IXZG+XV0rQKKSF0intKa/tt/9kFYBs/v1IV78dUqu/gIckG/pOwcqN6oTxkkZmga8dc z5Hi54xGFAvsAxSCdHgwSJgwRcSz0ImvVCY6AdLz5DtaVcEElQdLyi6TJrefxJaFCH/t 9GIxKsH1g3UkBqcG42aj4QUMchEjEvTHUDd8jhj/CMwJ7qNsZZ9wN4cdCPT0VnHKg3xj ufouO6/Kag+FGhfgU/dsqXBkE4uuI/SXgExFQE8kcNLm5aX3i8vYim0rVyNjt1B9RIrL izXQ== X-Forwarded-Encrypted: i=1; AJvYcCV6J38A+263OIZADzyOXaV8QLlkrWq+iPG3RnJRbGPidyf/tP36/fVeRt2cfwH/2Hg8KkOYPURGihzFYF9NCH0=@freebsd.org X-Gm-Message-State: AOJu0YzkPTPzhL8Fp+rGVS3ZR9RiJoacv7j0ownXEWGn6wK0Mtcutxmp c5j5vgm+4GjGNCkclMGovlizHWqVeqbzO+HIq1JHiBqENzsyfZHWL7qSgKhIFfDjZIUGQaHQbU9 tBdN+p8uD/g8QSIQbJMh/M0O/cySGqBw= X-Gm-Gg: ASbGncuWSFvjHfAtI0Kfmt6CUHVwBzrpP/Yw+w+F97t4rTzpJWaHbiMbaggIMq7+o7d zWQXYSVjXi0/j509h5k8blTGZNE80hxv8ZLPRWsKx1iViDGdyF6Vwv86tcsPREUaRHRWG275Pnh py0Xd+A/fsdbeGy8EdmNt3gN143NSiOjYbChnIniN6YyqmxwiDtiMmrnyuLpaDpydfG/PILZIEC SQISOzZodcj/ZeevzQtuRQpuSicN/U= X-Google-Smtp-Source: AGHT+IHN70uqaA0Auol2yFeCo6/3QhK0xujJ5OLhhdMYvkxsnKCCMK3ZYXpZsvx6T4S96Ce7LnDcLR+gHLHq3DUAUcs= X-Received: by 2002:a05:620a:4690:b0:857:20a4:8bb0 with SMTP id af79cd13be357-87a3adf3347mr227768385a.70.1759463971616; Thu, 02 Oct 2025 20:59:31 -0700 (PDT) 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 References: <01caf55e927fc5cb451b44fc325e669e@Leidinger.net> In-Reply-To: <01caf55e927fc5cb451b44fc325e669e@Leidinger.net> From: Maku Bex Date: Thu, 2 Oct 2025 22:59:20 -0500 X-Gm-Features: AS18NWCXkdXZfEmkhoCsjxYbIeogc2_VpEMV65dmfeni-nuwfpOZmzoWFdL3Q9M Message-ID: Subject: Re: Source code: class diagram generator To: Alexander Leidinger Cc: Alan Somers , FreeBSD Current Content-Type: multipart/alternative; boundary="00000000000005fc7a06403921d9" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cdFKf2BlNz3PRd --00000000000005fc7a06403921d9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Awesome stuff! I'm trying out Doxygen+Graphviz and it's been running for a couple of hours. Thank you gents for your help. On Thu, Oct 2, 2025, 03:21 Alexander Leidinger wrote: > Am 2025-10-02 05:25, schrieb Alan Somers: > > On Wed, Oct 1, 2025 at 7:50=E2=80=AFPM Maku Bex w= rote: > > 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 fo= r > 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 > --00000000000005fc7a06403921d9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Awesome stuff! I'm trying out Doxygen+Graphviz and it= 's been running for a couple of hours.=C2=A0

Thank you gents for=C2=A0your help.

On Thu, Oct 2, 2025, 03:21 Alexander Leidinger <Alexander@leidinger.net> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">

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,
=C2=A0
Is there a tool or application(s) that automatically gene= rates a class diagram from source code?
=C2=A0
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...= .yikes! I also looked into the build systems such as GN, bazel, make, and s= earch for any packages like rust's crates, ruby gems, npm, etc. I hope = I'm not wasting my time and looking for a unicorn.
=C2=A0
Best,
=C2=A0
=C2=A0I think that Doxygen can do it for C and C++.=C2=A0 But preproce= ssor macros can easily confuse Doxygen, so the results aren't perfect.<= /div>

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

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


Bye,
Alexander.

--
= http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F318= 30F9F2772BF
http://www.FreeBSD.org =C2=A0 =C2=A0n= etchild@FreeBSD.org =C2=A0: PGP 0x8F31830F9F2772BF
--00000000000005fc7a06403921d9--