BSD cflow available

Marcus von Appen mva at sysfault.org
Thu Jan 17 11:00:17 PST 2008


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20080117/3925b368/attachment.pgp


More information about the freebsd-current mailing list