]> git.draconx.ca Git - cdecl99.git/blobdiff - doc/man/cdecl99.1
Don't call cdecl_free internally.
[cdecl99.git] / doc / man / cdecl99.1
index e5f15602c67c6db86258231e6cea9479bb0a2b1c..086e772a3b7d08a82e43453fbf5d5990ceabb4b2 100644 (file)
@@ -39,7 +39,7 @@ Suppress the welcome message when starting
 Run in batch (non-interactive) mode.  Execute the commands provided on standard
 input as usual, but do not print any prompts.  Exit with status 0 if and only
 if all commands complete successfully.
 Run in batch (non-interactive) mode.  Execute the commands provided on standard
 input as usual, but do not print any prompts.  Exit with status 0 if and only
 if all commands complete successfully.
-
+.Pp
 This option implies
 .Fl -quiet .
 .It Fl i , -interactive
 This option implies
 .Fl -quiet .
 .It Fl i , -interactive
@@ -50,7 +50,7 @@ Execute
 as if it were entered at the prompt, then exit.  This option can be specified
 multiple times; all commands are run in the same order as specified on the
 command line.
 as if it were entered at the prompt, then exit.  This option can be specified
 multiple times; all commands are run in the same order as specified on the
 command line.
-
+.Pp
 This option implies
 .Fl -batch .
 .It Fl f , -file Ar file
 This option implies
 .Fl -batch .
 .It Fl f , -file Ar file
@@ -63,7 +63,7 @@ and
 are specified, any
 .Fl -file
 option is ignored.
 are specified, any
 .Fl -file
 option is ignored.
-
+.Pp
 This option implies
 .Fl -batch .
 .It Fl V , -version
 This option implies
 .Fl -batch .
 .It Fl V , -version
@@ -99,58 +99,58 @@ format is based on the one used in
 .Xr cdecl 1 ,
 and is described by the following context-free grammar.  This grammar is for
 illustrative purposes only: it is ambiguous and doesn't capture all the nuances
 .Xr cdecl 1 ,
 and is described by the following context-free grammar.  This grammar is for
 illustrative purposes only: it is ambiguous and doesn't capture all the nuances
-of the C language.  In this grammar,
-.Fa underlined words
-are nonterminals, \[*e] represents the empty string, and both
+of the C language.  In this grammar, nonterminals are represented
+.Va thusly ,
+\[*e] represents the empty string, and both
 .Li |
 and successive \[->] under the same nonterminal indicate alternation.  All
 other symbols are terminals.  The nonterminals
 .Li |
 and successive \[->] under the same nonterminal indicate alternation.  All
 other symbols are terminals.  The nonterminals
-.Fa identifier , type-specifier , type-qualifier , storage-class-specifier
+.Va identifier , type-specifier , type-qualifier , storage-class-specifier
 and
 and
-.Fa function-specifier
+.Va function-specifier
 are defined as in C.
 are defined as in C.
-.Bl -column -offset indent ".Fa english-decl" ""
-.It Fa english      Ta \[->] Ta Li declare Fa identifier Li as Fa english-decl
-.It                 Ta \[->] Ta Li type Fa english-decl
-.It Fa english-decl Ta \[->] Ta Fa sf-specs declarator
-.It Fa declarator   Ta \[->] Ta Fa qualifiers Li pointer to Fa declarator
-.It                 Ta \[->] Ta Li array Fa size Li of Fa declarator
-.It                 Ta \[->] Ta Li function Fa parameters Li returning Fa declarator
-.It                 Ta \[->] Ta Fa tq-specs
-.It Fa qualifiers   Ta \[->] Ta Fa type-qualifier qualifiers | No \[*e]
-.It Fa tq-specs     Ta \[->] Ta Fa type-qualifier tq-specs
-.It                 Ta \[->] Ta Fa type-specifier tq-specs
+.Bl -column -offset indent ".Va english-decl" ""
+.It Va english      Ta \[->] Ta Li declare Va identifier Li as Va english-decl
+.It                 Ta \[->] Ta Li type Va english-decl
+.It Va english-decl Ta \[->] Ta Va sf-specs declarator
+.It Va declarator   Ta \[->] Ta Va qualifiers Li pointer to Va declarator
+.It                 Ta \[->] Ta Li array Va size Li of Va declarator
+.It                 Ta \[->] Ta Li function Va parameters Li returning Va declarator
+.It                 Ta \[->] Ta Va tq-specs
+.It Va qualifiers   Ta \[->] Ta Va type-qualifier qualifiers | No \[*e]
+.It Va tq-specs     Ta \[->] Ta Va type-qualifier tq-specs
+.It                 Ta \[->] Ta Va type-specifier tq-specs
 .It                 Ta \[->] Ta \[*e]
 .It                 Ta \[->] Ta \[*e]
-.It Fa sf-specs     Ta \[->] Ta Fa storage-class-specifier sf-specs
-.It                 Ta \[->] Ta Fa function-specifier sf-specs
+.It Va sf-specs     Ta \[->] Ta Va storage-class-specifier sf-specs
+.It                 Ta \[->] Ta Va function-specifier sf-specs
 .It                 Ta \[->] Ta \[*e]
 .It                 Ta \[->] Ta \[*e]
-.It Fa size         Ta \[->] Ta Fa integer | Fa identifier | Li * | No \[*e]
-.It Fa parameters   Ta \[->] Ta Po Fa param-list Pc
-.It                 Ta \[->] Ta Po Fa param-list Li , ... Pc
+.It Va size         Ta \[->] Ta Va integer | Va identifier | Li * | No \[*e]
+.It Va parameters   Ta \[->] Ta Po Va param-list Pc
+.It                 Ta \[->] Ta Po Va param-list Li , ... Pc
 .It                 Ta \[->] Ta \[*e]
 .It                 Ta \[->] Ta \[*e]
-.It Fa param-list   Ta \[->] Ta Fa parameter | Fa parameter Li , Fa param-list
-.It Fa parameter    Ta \[->] Ta Fa identifier Li as Fa english-decl
-.It                 Ta \[->] Ta Fa english-decl
+.It Va param-list   Ta \[->] Ta Va parameter | Va parameter Li , Va param-list
+.It Va parameter    Ta \[->] Ta Va identifier Li as Va english-decl
+.It                 Ta \[->] Ta Va english-decl
 .El
 .Sh RESOLVING AMBIGUITIES
 The C context-free grammar has many ambiguities regarding declarations.
 Ordinarily, these ambiguities are resolved by the context in which the
 declaration appears, such as which typedef names are currently in scope.
 .El
 .Sh RESOLVING AMBIGUITIES
 The C context-free grammar has many ambiguities regarding declarations.
 Ordinarily, these ambiguities are resolved by the context in which the
 declaration appears, such as which typedef names are currently in scope.
-
+.Pp
 For example, the meaning of the declaration
 .Ic int f(int (foo))
 depends on whether or not a typedef named
 For example, the meaning of the declaration
 .Ic int f(int (foo))
 depends on whether or not a typedef named
-.Fa foo
+.Va foo
 is in scope.  If such a typedef is in scope, this declares
 is in scope.  If such a typedef is in scope, this declares
-.Fa f
+.Va f
 as a function that takes (after adjustment) a pointer to a function that takes
 a
 as a function that takes (after adjustment) a pointer to a function that takes
 a
-.Fa foo
+.Va foo
 and returns an int, returning an int.  If there is no such typedef, then this
 declares
 and returns an int, returning an int.  If there is no such typedef, then this
 declares
-.Fa f
+.Va f
 as a function that takes an int and returns an int.
 as a function that takes an int and returns an int.
-
+.Pp
 Since
 .Nm
 isn't a C compiler, on several occasions it has to arbitrarily pick one of two
 Since
 .Nm
 isn't a C compiler, on several occasions it has to arbitrarily pick one of two
@@ -162,7 +162,7 @@ interpreted as a function which takes an int and returns an int.
 Nick Bowler <nbowler@draconx.ca>
 .Sh COPYRIGHT
 Copyright \(co 2011 Nick Bowler
 Nick Bowler <nbowler@draconx.ca>
 .Sh COPYRIGHT
 Copyright \(co 2011 Nick Bowler
-
+.Pp
 Permission is granted to copy, distribute and/or modify this manual under the
 terms of the Do What The Fuck You Want To Public License, version 2.
 .Sh SEE ALSO
 Permission is granted to copy, distribute and/or modify this manual under the
 terms of the Do What The Fuck You Want To Public License, version 2.
 .Sh SEE ALSO