Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jan 2008 09:42:20 +0100
From:      Marcus von Appen <mva@sysfault.org>
To:        freebsd-standards@freebsd.org
Subject:   Re: cflow now supports a basic GNU as syntax now
Message-ID:  <20080115084220.GA993@medusa.sysfault.org>
In-Reply-To: <20080115054658.GA67116@VARK.MIT.EDU>
References:  <20080110152153.GC994@medusa.sysfault.org> <20080115054658.GA67116@VARK.MIT.EDU>

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

--BOKacYhQ+x31HxR3
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On, Tue Jan 15, 2008, David Schultz wrote:

> On Thu, Jan 10, 2008, Marcus von Appen wrote:
> > Another year, another status report,
> >=20
> > 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
> >=20
> > There's also a bzr repository available which can be used using
> >      bzr branch http://sysfault.org/freebsd/cflow
> >=20
> > 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.
>=20
> 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
standard.
That's why I stopped thinking about an implementation that uses=20
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
it.

Regards
Marcus

--BOKacYhQ+x31HxR3
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iEYEARECAAYFAkeMcewACgkQo/JpszXavhyJsQCfdl/dSDXv3XV/qFmG02/pKuis
RQ8An1xU9q+mMqjwZAjsZxaIUd2AGDQD
=0g4V
-----END PGP SIGNATURE-----

--BOKacYhQ+x31HxR3--



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