deane_yang | 14 Feb 12:59 2013

(no subject)

deane_yang | 14 Feb 11:51 2013

(no subject)

I thank and recommend the site
deane_yang | 13 Feb 09:45 2013


Hello..i recommend this site
Tim Cas | 31 Jan 00:46 2012

Customizing Synopsis output

Hey there, I'm working on getting the output of Synopsis customized for my game engine:

I've managed to get the pages and index to ignore anything with a '`' (anonymous unions/structs) or '_' (private members) prefixes, but I still have some problems:

- constants (for which I use #define's) are shown as macros - I'd like to show them as constants
- the file tree doesn't work (I cannot open any subdirectories)
- I can't find a way to rename "Global Namespace" to something else (this is C, not C++, so that name doesn't make much sense)
- name index is missing functions (I can only see structs and defines there)
- everything is in globals.html (instead of per-file stuff, say foo/bar.h.html for items located in in foo/bar.h)
- Texlive output is broken on my end...?

I'll also have to find out how to get manpage output up and running, plus (I suppose) LaTeX/PDF.

So er... Any ideas as to how to resolve these issues? =\

Synopsis-devel mailing list
Synopsis-devel <at>
Stefan Seefeld | 22 Mar 22:50 2011

Clang cross-referenced source code

I have been making progress using Clang as C and C++ parsers for 
Synopsis ( While there is a lot that remains 
to be implemented (both, in libclang, as well as Synopsis), quite a lot 
of the functionality is already useful, so I'd like to send an update, 
to encourage contributions.

To demonstrate some of the features, I have compiled an API 
cross-reference for Clang itself:

You can use the above to look up symbols, browse the code itself, look 
for all the places that reference a particular symbol, etc.
This doesn't yet include inline documentation, because that isn't yet 
fully implemented. Also, a number of details are missing (you may see 
lots of "<unknown>" type specifiers, which means that libclang is 
reporting "Unexposed" types.

As I said, any contribution to fill the wholes is more than welcome. 
Perhaps some of the remaining work can be done as GSoC work ?

The above was produced with CLang and Synopsis trunk. Perhaps it would 
be useful to set up regular automated builds so a current status of the 
work would be accessible via ?




       ...ich hab' noch einen Koffer in Berlin...
Michael Lehn | 8 Mar 18:16 2011

Problems with synopsis from trunk


I just tried out the new synopsis from trunk.  Following the instructions from

I could compile and install LLVM and synopsis without problems.

However, I have two problems (and I guess I am doing some really stupid mistake):

1) It seams that I cannot pass a include path to synopsis.  For instance, I want to pass
the include "$HOME/blas++" and want to define two macros like this:

synopsis -p Cxx -I $HOME/blas++ -D HAVE_CBLAS -D WITH_ATLAS -f Dump -o dump blas++/examples/

With synopsis 0.13 this works without problems.  

In case it helps reproducing the problem, I uploaded a tar-ball of this C++ project:

2) I tried using the Dump formatter on a small C++ code with different options, e.g.

synopsis -p Cxx -f Dump -o dump
synopsis -p Cxx -f Dump -Wf,--show_declarations -o dump
synopsis -p Cxx -f Dump -Wf,--show_declarations,--show_types -o dump

However, in all cases the dumped file merely contains some tags about some builtin types, eg.

 <instance class="Synopsis.ASG.BuiltinTypeId" id="15969104" language="C++" name="bool"/>
 <instance class="Synopsis.ASG.BuiltinTypeId" id="15969168" language="C++" name="char"/>
   <instance class="Synopsis.ASG.BuiltinTypeId" id="15970064" language="C++" name="double"/>

Is there something wrong with my installation?  Or am I doing something wrong in using the new synopsis?


Synopsis-devel mailing list
Synopsis-devel <at>
Stefan Seefeld | 14 Feb 06:22 2011

Recent Synopsis development


The last Synopsis release was done quite a while ago. Neither the 
mailing list nor the IRC channel observed much traffic, which let many 
people believe the project was dead. Actually, nothing could be further 
from the truth !

I have been observing the development of the CLang project 
( for quite a while, and since it has reached a 
fair level of feature-completeness and stability, I have started working 
on new CLang-based frontends for Synopsis' C and C++ parsers.

I'm very happy to report that this work is making great progress. 
Tonight I checked in a first batch of changes, and I'm expecting to keep 
making steady progress. All of this work is based on LLVM's trunk 
(against which I have already filed a couple of bug reports and even 
patches). Hopefully all of those issues will be fixed soon (i.e., in 
time for the next LLVM release), at which point I'll prepare a new 
Synopsis release based on LLVM, too.

Until then, please get LLVM from trunk 
(, and Synopsis from




       ...ich hab' noch einen Koffer in Berlin...
Stefan Seefeld | 21 Jul 15:37 2010

Announce: Synopsis 0.13 released

I'm happy to announce the release of Synopsis 0.13.

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.


This is a bugfix release. Among the issues being fixed:

* Correct macro lookup issue with hyperlinked source generation (SXR).

* Filter local declarations from generated (HTML) name index.

* Correct compatibility issue with ReST API.

* Correct exception handling in Python Parser.

* Improve ReST handling by mapping custom roles to named span elements 

* Etc.


This release still uses a "builtin" parser backend for C and C++. I have 
started working on a new parser, based on  CLang 
( While this looks promising, there is still a 
lot to do (not to mention that it requires LLVM / CLang from trunk.

I mention this in case anyone is interested and wants to help with this 




       ...ich hab' noch einen Koffer in Berlin...
Gilles J. Seguin | 6 Jul 23:36 2010

exit() function in tests/Cxx/src/*.cc

$ svn info
URL: svn://
Repository Root: svn://
Repository UUID: 91adf076-48d4-0310-a9e2-da78070693fa
Revision: 2041

stefan can you recheck this

exit(<int>) needs prototype
now std::exit(<int>);

Attachment (test-july6.diff): text/x-patch, 2871 bytes
Synopsis-devel mailing list
Synopsis-devel <at>
Gilles J. Seguin | 2 Jul 12:51 2010

need summer retirement project

Currently Fedora 13
targetting mainly c++

Carl Chenet | 23 Jun 23:47 2010

Synopsis and string exceptions

Hi !

I'm the Debian maintainer of the Synopsis package.

One of the changes brought by Python 2.6 is the removal of string
exceptions, so they won't work in Python 2.6 (just a side note: they
were also buggy before, since they were not guaranteed to work
reliable even in <2.6); as an example:

$ python2.5 -c "raise 'eggs'"
-c:1: DeprecationWarning: raising a string exception is deprecated
Traceback (most recent call last):
  File "<string>", line 1, in <module>

$ python2.6 -c "raise 'eggs'"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
TypeError: exceptions must be old-style classes or derived from
BaseException, not str

Since 2.6 is the planned default version for the upcoming new Debian
stable release, Synopsis could be impacted by this issue.

The issues are here :

string-literal-exception /usr/lib/synopsis/Synopsis/Parsers/Python/
string-literal-exception /usr/lib/synopsis/Synopsis/Parsers/Python/

I could patch myself but I'd prefer these patches to be upstream :)


Carl Chenet