SourceWeb

A C/C++ source code indexer and navigator

About

SourceWeb is a C/C++ code indexer and a code navigator GUI.

The indexer uses Clang's libraries to parse translation units. The output is a binary index file, optimized for fast creation, fast lookup, and small size. It generally indexes a project in about the same amount of time needed to build it. The input to the indexer is a compile_commands.json file listing all of the command lines that compile a source file to an object file.

The SourceWeb project includes an LD_PRELOAD library that collects a trace of executed commands and a tool that converts this trace into a compile_commands.json file. Using this tool allows for indexing projects without needing to integrate with their build systems, as long as the C/C++ code is mostly buildable with Clang. (Build errors do not generally stop the indexer.) This tool has been used to index GCC, LLVM, Firefox, Qt, and the Linux kernel.

The navigator GUI is demonstrated in the animations above.

Download

There has not yet been a release, so there are no official downloads yet. The source code is available on the GitHub project page. Follow that link for build instructions and usage information. Currently, SourceWeb works on Linux and OS X, and the code is mostly ported to FreeBSD and Windows.

Contact

Email the author with comments or questions.