cflow now supports a basic GNU as syntax now
Marcus von Appen
mva at sysfault.org
Tue Jan 15 00:42:26 PST 2008
On, Tue Jan 15, 2008, David Schultz wrote:
> On Thu, Jan 10, 2008, Marcus von Appen wrote:
> > Another year, another status report,
> > the BSD cflow implementation can handle a very limited GNU as(1) subset
> > now. You can get the most recent version as always from
> > http://sysfault.org/freebsd
> > There's also a bzr repository available which can be used using
> > bzr branch http://sysfault.org/freebsd/cflow
> > I hope to have basic yacc and lex support available within the next few
> > months, so an addition to the base system can be discussed.
> Cool, this seems useful. Have you considered an implementation
> strategy more along the lines of egypt (in ports/devel/egypt)?
> Egypt has two important advantages. First, it lets gcc interpret
> the source code instead of using an ad hoc C lexer. Second, it
> generates output for dot (ports/graphics/graphviz), which is
> arguably the most popular free tool for generating graph diagrams
> in Unix. At least the first of these properties is highly desirable
> because it means that the tool can interpret any program that cc(1)
> can interpret, instead of some highly constrained subset of them.
While it's easy to parse the function declarations out of the dumps, the
information loss for variables is pretty high and makes it nearly
impossible to support the -i x switch as required by the
That's why I stopped thinking about an implementation that uses
gcc processed output. Additionally broken C code (read: code that cannot
be compiled with $compiler) will still be able to be processed, thus
providing the user with some useful information instead of forcing him
to fix up anything first.
graphviz output however is a feature that definitely should go into
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-standards/attachments/20080115/353b56e3/attachment.pgp
More information about the freebsd-standards