Stefan Seefeld | 22 Mar 2011 22:50

Clang cross-referenced source code

I have been making progress using Clang as C and C++ parsers for 
Synopsis (http://synopsis.fresco.org). 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: http://synopsis.fresco.org/clang/.

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 http://clang.llvm.org/ ?

Thanks,
         Stefan

--

-- 

       ...ich hab' noch einen Koffer in Berlin...
(Continue reading)

Konstantin Tokarev | 23 Mar 2011 12:51
Picon
Favicon

Re: Clang cross-referenced source code


23.03.2011, 00:50, "Stefan Seefeld" <stefan@...>:
> I have been making progress using Clang as C and C++ parsers for
> Synopsis (http://synopsis.fresco.org). 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: http://synopsis.fresco.org/clang/.

Hmm. This page can be used as HTML parsing benchmark for browsers ;-)

--

-- 
Regards,
Konstantin
Stefan Seefeld | 23 Mar 2011 14:01

Re: [cfe-dev] Clang cross-referenced source code

On 2011-03-23 07:51, Konstantin Tokarev wrote:
> 23.03.2011, 00:50, "Stefan Seefeld"<stefan <at> seefeld.name>:
>> To demonstrate some of the features, I have compiled an API
>> cross-reference for Clang itself: http://synopsis.fresco.org/clang/.
> Hmm. This page can be used as HTML parsing benchmark for browsers ;-)

Hah, true, there is a fairly large amount of data. Certain views may be 
better split into individual pages (such as the name index). This is 
just a simple prototype to show what is currently possible with 
CLang-based code cross-referencing. As I mentioned, any help to improve 
on this is very much appreciated. :-)

     Stefan

--

-- 

       ...ich hab' noch einen Koffer in Berlin...
Fabio Fracassi | 23 Mar 2011 18:43
Picon

Re: Clang cross-referenced source code

On 22/3/2011 22:50, Stefan Seefeld wrote:
> I have been making progress using Clang as C and C++ parsers for
> Synopsis (http://synopsis.fresco.org). 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.
>
...
> 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 http://clang.llvm.org/ ?
>

I'm really excited about your project, however, I didn't find the 
nightly build, and the address to the repository 
(http://synopsis.fresco.org/viewsvn/Synopsis) does not work. Did I miss 
something?

regards

Fabio
Stefan Seefeld | 23 Mar 2011 19:13

Re: Clang cross-referenced source code

Hi Fabio,

On 2011-03-23 13:43, Fabio Fracassi wrote:
>
>> 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 http://clang.llvm.org/ ?
>>
> I'm really excited about your project, however, I didn't find the
> nightly build, and the address to the repository
> (http://synopsis.fresco.org/viewsvn/Synopsis) does not work. Did I miss
> something?

The nightly build doesn't exist. I merely proposed to set one up, to be 
able to track progress on both libclang as well as Synopsis, and to 
actually start using this for Clang's own (self-hosted) API documentation.

The Synopsis website is still somewhat broken, unfortunately. The source 
repository can be accessed via 
http://synopsis.fresco.org/svn/synopsis/trunk/.

Regards,
     Stefan

--

-- 

       ...ich hab' noch einen Koffer in Berlin...

Gmane