SourceForge.net Logo

SILENT BOB

"Silent Bob", by example, is actually, a combination of three tools, which leaded to its creation: ctags, cscope, ctree. First I shall describe their operation and problems, and then what "Bob" does and in what it differs.

Description of programs, which lead to SilentBob creation:

  1. ctags

    If you don't know what it does: It simply creates special file named tags (or ctags), which stores information about some source files. Mostly it is used to browse large source projects like: OS kernels, sendmail, apache and other big projects. This file contains "Addresses" of all functions, structures, macros, etc. "Address" means file name + string number (or regular expression, using which an appropriate string can be located). The tags file, in Vim for example, can be used to evaluate ":tag " to make a quick jump to the tag. Also ctags allows to extract other "goodies" from files - simply to find out more about their contents.

  2. csope

    Also a very useful program. It doesn't create a file described above, but can perform lookups and has some additional features. It has:

    1. An interface for "comfortable" search.
    2. Trace which of the called functions were called and whom do they call ("lower" layer)
    3. Trace who called certain functions ("upper" layer)
    And some other feature(s), which I have never used...

  3. ctree

    In theory, it should have shown all of the above information and several layers "lower". But in practice, I couldn't make it work.

Problems of existing software