BSD cflow available

From: Marcus von Appen <mva_at_sysfault.org>
Date: Thu, 17 Jan 2008 20:00:11 +0100
Hi,

after standards_at_ 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_at_) 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

Received on Thu Jan 17 2008 - 18:00:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:26 UTC