3 <meta http-equiv=
"content-type" content=
"text/html; charset=koi8-r" />
4 <title>Silent Bob
</title>
7 <h3 align=center
>SilentBob
</h3>
8 <a href=
"#descr">Brief description
<br></a>
9 <a href=
"#index">Code indexing
<br></a>
10 <a href=
"#call_index">Calls indexing
<br></a>
11 <a href=
"#tree">Direct trees of calls
<br></a>
12 <a href=
"#rtree">Inversed trees of calls
<br></a>
13 <a href=
"#file_search">Files searching
<br></a>
14 <a href=
"#code_search">Searching in the source code
<br></a>
15 <a href=
"#futex">Quick access
<br></a>
16 <a href=
"#plugins">Plugins development
<br></a>
17 <a href=
"#index_pp">Code indexing (Perl/Python)
<br></a>
18 <a href=
"#ppf_search">Files searching (Perl/Python)
<br></a>
19 <a href=
"#links">Links
<br></a>
20 <a href=
"#download">Download
<br></a>
21 <a href=
"#author">Author and Contacts
<br></a>
23 <a name=
"descr"> <h4 align=center
>Brief description
</h4>
24 SilentBob is an instrument for working with source code of programms. The main functionality is handling C/C++:
<br>
27 <li><a href=
"#index">Code indexing.
</a></li>
28 <li><a href=
"#call_index">Calls indexing.
<br></a></li>
29 <li><a href=
"#tree">Direct trees of calls.
<br></a></li>
30 <li><a href=
"#rtree">Inversed trees of calls.
<br></a></li>
31 <li><a href=
"#file_search">Files searching.
<br></a></li>
32 <li><a href=
"#code_search">Searching in the source code.
<br></a></li>
33 <li><a href=
"#futex">Quick access.
<br></a></li>
36 SilentBob supports Perl/Python via plugins:
<br>
38 <li><a href=
"#index_pp">Code indexing (Perl/Python)
<br></a></li>
39 <li><a href=
"#ppf_search">Files searching (Perl/Python)
<br></a></li>
42 <a name=
"index"> <h4 align=center
>Code indexing.
</h4>
43 Code indexing is creating the index file. The sources for Silent Bob are peace of big database, which should be indexed for quick access to any part of it. In C/C++ Silent Bob indexes
<br>
48 <li>Defines (macroses)
</li>
49 <li>Global variables
</li>
51 Format of index file looks like:
<br>
52 <index>\t<file's name>\t<line number>\t<[; additional information]>
<br>
54 The information of athor of the programm you're indexing and some parametrs are added to the beginning of the file.
55 Index file is sorted out
56 by ascending for better serching, so that you may use the index file for really big sources. The index file's format is supported by some popular text editors like Vi. Furthermore the index file is used
57 in many SilentBob's functions. The good idea is to create index file before working, for example:
60 "ctags" is a type of index file (other formats are not supported)
62 <a name=
"call_index"><h4 align=center
>Calls indexing
</h4></a>
63 Calls indexing is the indexing functions calls in the code. it is used to build direct and reversed calls trees. Moreover you may use it in prigramms which support
"ctags". To create such type of index file you may use command:
<p>
64 $ sb <Files list> --call-tags
<p>
65 <files list
> may be replaced with
"-L <file with files list>". It is convenient to create files list using Silent Bob. (see
"<a href="#file_search
">File searching</a>".).
67 <a name=
"tree"> <h4 align=center
>Direct trees of calls.
</h4>
68 You may use to see the part of index file (with indexing functions calls). All calls look like tree, where the top is the given function.
<p>
69 $ sb <function>
<p>
70 Tree of calls is the main part of programm so you scholdn't type any options. The main and only option is the indexing
"depth" of tree
<p>
71 $ sb --depth <N> <function>
<p>
73 <a name=
"rtree"> <h4 align=center
>Inversed trees of calls.
</h4>
74 Similarly to
<a href=
"#tree">direct
</a>, but representation begins from another end.
76 <a name=
"file_search"> <h4 align=center
>Files searching.
</h4>
77 Practically it is creation list of the files, which you work with. Use this
"--cfiles" option to create the list(C/C++):
<p>
79 Now you have file
"cfiles", which includes all necessary information.
80 <a name=
"code_search"> <h4 align=center
>Searching in the source code.
</h4>
81 Use it to find any parts of C/C++ code. All comments and strings (
" ") are ignored.
82 For searching Silent Bob uses fragments of text, parted with comma. It is important that Bob searchs not in the hole code, but in _operators_. See the command format below:
<p>
83 $ sb -L
<filelist> <pieces of code via comma
><p>
85 <a name=
"futex"> <h4 align=center
>Quick access.
</h4>
86 It gives an possibility to find in the code thengs you are interasted in. The programm searchs in the index files and makes output with code fragments. It supports only C/C++. Example:
<p>
87 $ tags
<index> <index2> ...
<indexN><p>
88 Index - name of function, structure, global variable, macros.
89 <a name=
"plugins"> <h4 align=center
>Plugins development.
</h4>
90 There is no constant plugin format. To develop your plugins you schould look through the source code. After ending of development plugin support you will be able to find API documentation here.
91 <a name=
"index_pp"> <h4 align=center
>Code indexing (Perl/Python)
</h4>
92 There are some standart plugins for Silent Bob, the functionality of one of them is indexing Perl and Python code.
<br>
99 In Python functiona and packages are indexed. For indexing use:
<p>
100 $ sb <--perl | --python> --make-ctags
<p>
102 <a name=
"ppf_search"> <h4 align=center
>Files searching (Perl/Python).
</h4>
103 To create filelist for Perl/Python sources ypu must specify language +
"--files", example:
<p>
104 $ sb <--perl | --python
> --files
<p>
105 As result ypu will get filelist: perl_files and python_files.
106 <a name=
"links"> <h4 align=center
>Links
</h4>
107 <a href=
"http://forum.vingrad.ru">Forum
</a>, Here you may learn about lost development (my nick is GrayCardinal).
108 <a name=
"download"> <h4 align=center
>Download
</h4>
109 You may download SilentBob from sourceforge.net
<a href=
"http://sf.net/projects/silentbob/">Here
</a>,
111 <a name=
"author"> <h4 align=center
>Author and Contacts
</h4>
112 Silent Bob(c) Oleg Puchinin
2006<br>
113 graycardinalster at gmail dot com
<br><br>
115 English translation: Evgeniy Ivanov
<br>
116 green-lord at mail dot ru