Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Jan 2008 20:00:11 +0100
From:      Marcus von Appen <mva@sysfault.org>
To:        freebsd-current@freebsd.org
Subject:   BSD cflow available
Message-ID:  <20080117190011.GA1094@medusa.sysfault.org>

next in thread | raw e-mail | index | archive | help

--0OAP2g/MAC+5xKAE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,

after standards@ already knows about it, I'm going to present my ongoing
effort on bringing a BSD licensed cflow to FreeBSD on this list now.

Being required as an extension to the POSIX standard, cflow is a C
language flowgraph generator for C, assember, lex and yacc sourcecode.

Although there are two other cflow implementations available, those
suffer from various problems. GNU cflow being GPLv3 licensed and thus
not easily adoptable to the main source tree (I think) and devel/cflow
being declared as Public Domain.

Besides lacking a decent compliance to the required POSIX standard both
suffer from various other issues such as incorrect source code handling
for K&R code, missing implementations for assembler, lex and yacc code
and a huge code complexity, that makes them slow and hard to enhance.

The presented cflow implementation in contrast currently supports C
source code of nearly any style and basic assembler flowgraph generators
for nasm and a GNU as subset. Additionally it comes with features such
as the exclusion of certain standard subsets for C code (POSIX, ANSI,
C99, GCC), graphviz dot graph generation (thanks for pointing that out,
das@) and more.
 Lex and yacc support are currently not available, but will be
implemented later on.

Those interested in it are invited to test it out and blame me for any
error that occurs. You can get the most recent version either using the
bzr repository at http://sysfault.org/freebsd/cflow or by downloading
on of the source packages available at http://sysfault.org/freebsd/.

Once downloaded (and extracted), you can build it using make.
Afterwards you will find the assembler flowgraph generator under
asmgraph/, the C flowgraph generator under cgraph/:

    ./asmgraph/asmgraph test/posixtest_nasm.s
    ./cgraph/cgraph test/posixtest.c

As I did not integrate it into a local src/ tree for now, use both
programs directly, not the cflow.sh shell script.

Regards
Marcus

--0OAP2g/MAC+5xKAE
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (FreeBSD)

iEYEARECAAYFAkePpbsACgkQo/JpszXavhzhTQCeLkjKHbU7xZp2Q7/i5oRgmaWo
ZFUAnRzl0pxvi0Qxwhf0xpgtRCq63XBB
=foI5
-----END PGP SIGNATURE-----

--0OAP2g/MAC+5xKAE--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080117190011.GA1094>