Discussion:
[Synopsis-devel] Announce: Synopsis 0.10 released
Stefan Seefeld
2008-03-20 13:43:03 UTC
Permalink
I'm happy to announce the release of Synopsis 0.10.

About Synopsis
==============

Synopsis is a multi-language source code introspection tool that
provides a variety of representations for the parsed code to enable
further processing such as documentation extraction, reverse
engineering, and source-to-source translation.


Changes
=======

A lot of work has gone into this project over the last couple of months,
yielding (among others) these features:

* More information is captured, for example relationships between
primary class templates and their specializations / instantiations.

* The storage of source-code cross-references has been simplified and
integrated into the Internal Representation (IR), leading to a much
more intuitive and convenient user interface.

* The Python parser has been largely rewritten, adding support
for parsing of dependent (imported) files / modules.

* The DocBook formatter has been rewritten. It now supports Javadoc and
ReST document markup, too.

* The HTML formatter has been enhanced in many respects. Many bugs have
been fixed.

* The C and C++ parsers have been enhanced, and many bugs have been
fixed.

* Some new ASG processors have been added (MacroFilter, TypedefFolder,
et al.)

* Documentation has been much enhanced.


Here are some examples for online documentation generated with Synopsis:

Synopsis' own C++ API: http://synopsis.fresco.org/docs/Manual/cxx/
Synopsis' own Python API: http://synopsis.fresco.org/docs/Manual/python/
Boost.Python (and dependent) C++ API: http://synopsis.fresco.org/bpl/

Synopsis may be built with boost; it will depend on boost.filesystem,
boost.wave, and boost.python in that case.


Regards,
Stefan
--
...ich hab' noch einen Koffer in Berlin...
Stefan Seefeld
2008-03-20 14:18:25 UTC
Permalink
Hi again,

just some development-related additions, to clarify David's questions:

The development towards the 0.10 release took place exclusively on the
'Synopsis_0_8' branch (which I renamed 'S10' for convenience and clarity).

I plan to merge all changes to trunk shortly, such that the only
differences between trunk and branches/S10 are in the C++ API (notably
the new C++ parser / frontend).

I'd like to get back to working on that new parser, and would obviously
appreciate any help there.

Though, needless to say, I'd appreciate *any* feedback / help /
collaboration, no matter what aspect you are most interested in.

Regards,
Stefan
--
...ich hab' noch einen Koffer in Berlin...
Stefan Seefeld
2008-05-06 12:54:27 UTC
Permalink
Post by Stefan Seefeld
Though, needless to say, I'd appreciate *any* feedback / help /
collaboration, no matter what aspect you are most interested in.
Would you like to support a more active discussion on class design details?
How do you think about to use UML for precise communication of relevant
refactorings?
I'm open and supportive to all interest and discussion Synopsis may
induce. By all means, please send your concerns.

The ones that are most likely to get picked up (by me or any other
interested person) are certainly those with specific, achievable, and
tangible benefits (e.g. correctness, improvements on user interface,
performance, compatibility with other tools, ...).
It's best to start by pointing out the problem that you'd like to
address, then lay out the your idea / design by which you think it can /
should be solved. For small issues it may even be possible to attach a
patch.
By all means, use whatever language / tool you feel most comfortable
with to communicate.

Thanks,
Stefan
--
...ich hab' noch einen Koffer in Berlin...
Loading...