aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-10-11 11:13:02 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-10-11 11:13:02 +0300
commitb5cbb05d00e242aa653460a100715f7948396a64 (patch)
tree1d8ca8cd9b85257609a43ef719f7d16ba1018354
parentb6e09eeabb9ffa99d4d7017ebe36533b4a729da2 (diff)
downloadcflow-b5cbb05d00e242aa653460a100715f7948396a64.tar.gz
cflow-b5cbb05d00e242aa653460a100715f7948396a64.tar.bz2
Change to double-space sentence spacing in cflow.texi.
-rw-r--r--doc/cflow.texi367
1 files changed, 188 insertions, 179 deletions
diff --git a/doc/cflow.texi b/doc/cflow.texi
index 99e7bb4..82bd028 100644
--- a/doc/cflow.texi
+++ b/doc/cflow.texi
@@ -22,7 +22,7 @@
22@end direntry 22@end direntry
23@dircategory Emacs 23@dircategory Emacs
24@direntry 24@direntry
25* cflow mode: (cflow)cflow mode. Major mode for visiting cflow charts. 25* cflow mode: (cflow)cflow mode. Major mode for visiting cflow charts.
26@end direntry 26@end direntry
27@end ifinfo 27@end ifinfo
28 28
@@ -90,7 +90,16 @@ Appendices
90* Copying This Manual:: The GNU Free Documentation License. 90* Copying This Manual:: The GNU Free Documentation License.
91* Concept Index:: Index of Concepts. 91* Concept Index:: Index of Concepts.
92 92
93@detailmenu
94 --- The Detailed Node Listing ---
93 95
96Controlling Symbol Types
97
98* Syntactic classes::
99* Symbol aliases::
100* GCC Initialization::
101
102@end detailmenu
94@end menu 103@end menu
95 104
96@node Intro 105@node Intro
@@ -106,10 +115,10 @@ dependencies between various functions.
106@cindex reverse graph defined 115@cindex reverse graph defined
107@cindex reverse tree defined 116@cindex reverse tree defined
108 The program is able to produce two kind of graphs: direct 117 The program is able to produce two kind of graphs: direct
109and reverse. @dfn{Direct graph} begins with the main function 118and reverse. @dfn{Direct graph} begins with the main function
110(@code{main}), and displays recursively all functions called by it. 119(@code{main}), and displays recursively all functions called by it.
111In contrast, @dfn{reverse graph} is a set of subgraphs, charting for 120In contrast, @dfn{reverse graph} is a set of subgraphs, charting for
112each function its callers, in the reverse order. Due to their 121each function its callers, in the reverse order. Due to their
113tree-like appearance, graphs can also be called @dfn{trees}. 122tree-like appearance, graphs can also be called @dfn{trees}.
114 123
115 In addition to these two output modes, @command{cflow} is able to 124 In addition to these two output modes, @command{cflow} is able to
@@ -118,7 +127,7 @@ in the input files.
118 127
119 The utility also provides a detailed control over symbols that will 128 The utility also provides a detailed control over symbols that will
120appear in its output, allowing to omit those that are of no interest 129appear in its output, allowing to omit those that are of no interest
121to the user. The exact appearance of the output graphs is also 130to the user. The exact appearance of the output graphs is also
122configurable. 131configurable.
123 132
124@FIXME{Some notes about when the user might need the utility? For 133@FIXME{Some notes about when the user might need the utility? For
@@ -126,14 +135,14 @@ example, to get a quick acquaintance with the program, etc.}
126 135
127@FIXME{The utility should also be able to process following input file 136@FIXME{The utility should also be able to process following input file
128formats: @command{yacc} and @command{lex} sources, and object 137formats: @command{yacc} and @command{lex} sources, and object
129files. It is a good idea to add a node @samp{POSIX} discussing this.} 138files. It is a good idea to add a node @samp{POSIX} discussing this.}
130 139
131@node Quick Start 140@node Quick Start
132@chapter Simple Ways to Analyze Programs with @command{cflow}. 141@chapter Simple Ways to Analyze Programs with @command{cflow}.
133 Let's begin our acquaintance with the GNU @command{cflow} utility 142 Let's begin our acquaintance with the GNU @command{cflow} utility
134with an example. Suppose you have a simple implementation of 143with an example. Suppose you have a simple implementation of
135@command{whoami} command and you wish to obtain a graph of function 144@command{whoami} command and you wish to obtain a graph of function
136dependencies. Here is the program: 145dependencies. Here is the program:
137 146
138@smallexample 147@smallexample
139@verbatiminclude whoami.c 148@verbatiminclude whoami.c
@@ -159,12 +168,12 @@ main() <int main (int argc,char **argv) at whoami.c:26>:
159@cindex GNU Output Format described 168@cindex GNU Output Format described
160@anchor{GNU Output Format} 169@anchor{GNU Output Format}
161 This is a direct call graph showing @dfn{caller---callee} dependencies 170 This is a direct call graph showing @dfn{caller---callee} dependencies
162in the input file. Each line starts with a function name, followed by 171in the input file. Each line starts with a function name, followed by
163a pair of parentheses to indicate that it is a function. If this 172a pair of parentheses to indicate that it is a function. If this
164function is defined in one of the input files, the line continues by 173function is defined in one of the input files, the line continues by
165displaying, within a pair of angle brackets, a function 174displaying, within a pair of angle brackets, a function
166@dfn{signature} and the location of its definition. If the function 175@dfn{signature} and the location of its definition. If the function
167calls another functions, the line ends with a colon. For example, the 176calls another functions, the line ends with a colon. For example, the
168line 177line
169 178
170@smallexample 179@smallexample
@@ -173,23 +182,23 @@ main() <int main (int argc,char **argv) at whoami.c:25>:
173 182
174@noindent 183@noindent
175shows that function @code{main} is defined in file @file{whoami.c} 184shows that function @code{main} is defined in file @file{whoami.c}
176at line 25, as @code{int main (int argc, char **argv)}. Terminating 185at line 25, as @code{int main (int argc, char **argv)}. Terminating
177colon indicates that @code{main} invokes other functions. 186colon indicates that @code{main} invokes other functions.
178 187
179 The lines following this one show which functions are called by 188 The lines following this one show which functions are called by
180@code{main}. Each such line is indented by fixed amount of white space 189@code{main}. Each such line is indented by fixed amount of white space
181(by default four spaces) for each nesting level. 190(by default four spaces) for each nesting level.
182 191
183@cindex @option{--omit-symbol-names} option introduced 192@cindex @option{--omit-symbol-names} option introduced
184@cindex @option{--omit-arguments} option introduced 193@cindex @option{--omit-arguments} option introduced
185@anchor{omit signature parts} 194@anchor{omit signature parts}
186 Usually @command{cflow} prints a full function signature. However, 195 Usually @command{cflow} prints a full function signature. However,
187sometimes you may wish to omit some part of it. Several options are 196sometimes you may wish to omit some part of it. Several options are
188provided for this purpose. To print signatures without function names, 197provided for this purpose. To print signatures without function names,
189use @option{--omit-symbol-names} option. To omit argument list, use 198use @option{--omit-symbol-names} option. To omit argument list, use
190@option{--omit-arguments}. These options can be needed for a variety 199@option{--omit-arguments}. These options can be needed for a variety
191of reasons, one of them being to make the resulting graph more 200of reasons, one of them being to make the resulting graph more
192compact. To illustrate their effect, here is how would the first line of the 201compact. To illustrate their effect, here is how would the first line of the
193above graph look if you had used both @option{--omit-} options: 202above graph look if you had used both @option{--omit-} options:
194 203
195@smallexample 204@smallexample
@@ -201,12 +210,12 @@ main() <int () at whoami.c:25>:
201@cindex @option{-m} command line option introduced 210@cindex @option{-m} command line option introduced
202@anchor{start symbol} 211@anchor{start symbol}
203 By default, @command{cflow} starts outputting direct graph from 212 By default, @command{cflow} starts outputting direct graph from
204the function called @code{main}. It is convenient when analyzing a set 213the function called @code{main}. It is convenient when analyzing a set
205of input files comprising an entire @code{C} program. However, there 214of input files comprising an entire @code{C} program. However, there
206are circumstances where a user would want to see only a part of 215are circumstances where a user would want to see only a part of
207the graph starting on particular function. @command{Cflow} 216the graph starting on particular function. @command{Cflow}
208allows to select such function using @option{--main} (@option{-m}) 217allows to select such function using @option{--main} (@option{-m})
209command line option. Thus, running 218command line option. Thus, running
210 219
211@smallexample 220@smallexample
212cflow --main who_am_i whoami.c 221cflow --main who_am_i whoami.c
@@ -231,11 +240,11 @@ who_am_i() <int who_am_i (void) at whoami.c:8>:
231@cindex @option{--reverse} 240@cindex @option{--reverse}
232@cindex @option{-r} 241@cindex @option{-r}
233 In the previous chapter we have discussed @dfn{direct graphs}, 242 In the previous chapter we have discussed @dfn{direct graphs},
234displaying @i{caller---callee} dependencies. Another type of 243displaying @i{caller---callee} dependencies. Another type of
235@command{cflow} output, called @dfn{reverse graph}, charts 244@command{cflow} output, called @dfn{reverse graph}, charts
236@dfn{callee---caller} dependencies. To produce a reverse graph, run 245@dfn{callee---caller} dependencies. To produce a reverse graph, run
237@command{cflow} with @option{--reverse} (@option{-r}) command line 246@command{cflow} with @option{--reverse} (@option{-r}) command line
238option. For example, using a sample @file{whoami.c}: 247option. For example, using a sample @file{whoami.c}:
239 248
240@cindex reverse graph, example 249@cindex reverse graph, example
241@cindex reverse tree, example 250@cindex reverse tree, example
@@ -265,9 +274,9 @@ who_am_i() <int who_am_i (void) at whoami.c:8>:
265@end smallexample 274@end smallexample
266 275
267 This output consists of several subgraphs, each describing callers 276 This output consists of several subgraphs, each describing callers
268for a particular function. Thus, the first subgraph tells that the 277for a particular function. Thus, the first subgraph tells that the
269function @code{fprintf} is called from two functions: @code{who_am_i} 278function @code{fprintf} is called from two functions: @code{who_am_i}
270and @code{main}. First of them is, in turn, also called directly by 279and @code{main}. First of them is, in turn, also called directly by
271@code{main}. 280@code{main}.
272 281
273@cindex @option{--brief} command line option introduced 282@cindex @option{--brief} command line option introduced
@@ -275,8 +284,8 @@ and @code{main}. First of them is, in turn, also called directly by
275@anchor{--brief} 284@anchor{--brief}
276 The first thing that draws attention in the above output is that 285 The first thing that draws attention in the above output is that
277the subgraph starting with @code{who_am_i} function is repeated several 286the subgraph starting with @code{who_am_i} function is repeated several
278times. This is @dfn{verbose} output. To make it brief, use 287times. This is @dfn{verbose} output. To make it brief, use
279@option{--brief} (@option{-b}) command line option. For example: 288@option{--brief} (@option{-b}) command line option. For example:
280 289
281@cindex brief output, an example of 290@cindex brief output, an example of
282@smallexample 291@smallexample
@@ -310,10 +319,10 @@ expanded subgraph can be found.
310@anchor{--number} 319@anchor{--number}
311 If the output graph is large it can be tedious to find out the 320 If the output graph is large it can be tedious to find out the
312required line number (unless you use @dfn{Emacs cflow-mode}, 321required line number (unless you use @dfn{Emacs cflow-mode},
313@pxref{Emacs}). For such cases a special option 322@pxref{Emacs}). For such cases a special option
314@option{--number} (@option{-n}) is provided, which makes 323@option{--number} (@option{-n}) is provided, which makes
315@command{cflow} begin each line of the output with a @dfn{reference 324@command{cflow} begin each line of the output with a @dfn{reference
316number}, that is the ordinal number of this line in the output. With 325number}, that is the ordinal number of this line in the output. With
317this option, the above output will look like: 326this option, the above output will look like:
318 327
319@smallexample 328@smallexample
@@ -344,18 +353,18 @@ take effect for both direct and reverse flow graphs.
344@cindex POSIX Output described 353@cindex POSIX Output described
345@anchor{POSIX Output Format} 354@anchor{POSIX Output Format}
346 The output format described in previous chapters is called 355 The output format described in previous chapters is called
347@dfn{GNU Output}. Beside this, @command{cflow} is also 356@dfn{GNU Output}. Beside this, @command{cflow} is also
348able to produce output format defined in POSIX standard 357able to produce output format defined in POSIX standard
349(@url{http://www.opengroup.org/onlinepubs/009695399/utilities/cflow.html,The 358(@url{http://www.opengroup.org/onlinepubs/009695399/utilities/cflow.html,The
350Open Group Base Specifications Issue 6: cflow utility}). 359Open Group Base Specificati