]> git.draconx.ca Git - cdecl99.git/commitdiff
Use .Pp for paragraph breaks in man pages.
authorNick Bowler <nbowler@draconx.ca>
Sun, 11 Sep 2011 23:29:12 +0000 (19:29 -0400)
committerNick Bowler <nbowler@draconx.ca>
Sun, 11 Sep 2011 23:29:12 +0000 (19:29 -0400)
Blank lines are apparently invalid.

doc/man/cdecl99.1
doc/man/libcdecl.3

index 419b908eaf21763f1806014e1f575f009e8b8663..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
@@ -136,7 +136,7 @@ are defined as in C.
 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.
 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
@@ -150,7 +150,7 @@ and returns an int, returning an int.  If there is no such typedef, then this
 declares
 .Va f
 as a function that takes an int and returns an int.
 declares
 .Va f
 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
index 0bb7f9335a3188e5f735793b854d1b9abaa79161..7b6c791da7df8a50e44b80e80cddfc26a26a41d0 100644 (file)
@@ -6,14 +6,14 @@
 .Nd C library for making sense of C declarations
 .Sh SYNOPSIS
 .Fd #include <cdecl.h>
 .Nd C library for making sense of C declarations
 .Sh SYNOPSIS
 .Fd #include <cdecl.h>
-
+.Pp
 .Fd struct cdecl *cdecl_parse_decl(const char *declstr);
 .Fd struct cdecl *cdecl_parse_english(const char *english);
 .Fd void cdecl_free(struct cdecl *decl);
 .Fd struct cdecl *cdecl_parse_decl(const char *declstr);
 .Fd struct cdecl *cdecl_parse_english(const char *english);
 .Fd void cdecl_free(struct cdecl *decl);
-
+.Pp
 .Fd size_t cdecl_explain(char *buf, size_t n, struct cdecl *decl);
 .Fd size_t cdecl_declare(char *buf, size_t n, struct cdecl *decl);
 .Fd size_t cdecl_explain(char *buf, size_t n, struct cdecl *decl);
 .Fd size_t cdecl_declare(char *buf, size_t n, struct cdecl *decl);
-
+.Pp
 .Fd int cdecl_spec_kind(struct cdecl_declspec *spec);
 .Sh DESCRIPTION
 .Nm
 .Fd int cdecl_spec_kind(struct cdecl_declspec *spec);
 .Sh DESCRIPTION
 .Nm
@@ -23,7 +23,7 @@ interface only; for details such as what C language features are supported or
 the syntax of English declarations, please see the
 .Xr cdecl99 1
 manual page.
 the syntax of English declarations, please see the
 .Xr cdecl99 1
 manual page.
-
+.Pp
 .Nm
 is intended to be portable to any system with a working C implementation that
 at least makes an effort to support C99.  The library maintains no global state
 .Nm
 is intended to be portable to any system with a working C implementation that
 at least makes an effort to support C99.  The library maintains no global state
@@ -44,7 +44,7 @@ struct cdecl {
        struct cdecl_declarator *declarators;
 };
 .Ed
        struct cdecl_declarator *declarators;
 };
 .Ed
-
+.Pp
 At the top level, every declaration consists of one or more declaration
 specifiers followed by one or more full declarators; hence, the
 .Va specifiers
 At the top level, every declaration consists of one or more declaration
 specifiers followed by one or more full declarators; hence, the
 .Va specifiers
@@ -58,7 +58,7 @@ In the case of the toplevel declaration, the declaration specifiers will be
 identical for all elements of the list.  But when the same kind of list is used
 to represent function parameters, the specifiers may be different for each
 element.
 identical for all elements of the list.  But when the same kind of list is used
 to represent function parameters, the specifiers may be different for each
 element.
-
+.Pp
 There are four kinds of declaration specifiers: storage-class, function and
 type specifiers, as well as type qualifiers.  All are represented by the
 structure:
 There are four kinds of declaration specifiers: storage-class, function and
 type specifiers, as well as type qualifiers.  All are represented by the
 structure:
@@ -69,13 +69,13 @@ struct cdecl_declspec {
        char *ident;
 };
 .Ed
        char *ident;
 };
 .Ed
-
+.Pp
 When multiple declaration specifiers are present, they are represented as
 a singly-linked list, one element for each specifier.  Specifiers can appear
 in any order.  The function
 When multiple declaration specifiers are present, they are represented as
 a singly-linked list, one element for each specifier.  Specifiers can appear
 in any order.  The function
-
+.Pp
 .Fd int cdecl_spec_kind(struct cdecl_declspec *spec);
 .Fd int cdecl_spec_kind(struct cdecl_declspec *spec);
-
+.Pp
 can be used to determine what kind of specifier
 .Fa spec
 is.  The result is one of the following values:
 can be used to determine what kind of specifier
 .Fa spec
 is.  The result is one of the following values:
@@ -86,7 +86,7 @@ is.  The result is one of the following values:
 .It Dv CDECL_SPEC_QUAL Ta Type qualifier.
 .It Dv CDECL_SPEC_FUNC Ta Function specifier.
 .El
 .It Dv CDECL_SPEC_QUAL Ta Type qualifier.
 .It Dv CDECL_SPEC_FUNC Ta Function specifier.
 .El
-
+.Pp
 The following table describes all the possible types of declaration specifiers.
 .Bl -column ".Dv CDECL_TYPE_IMAGINARY"
 .It Em Em Type              Ta Em Description
 The following table describes all the possible types of declaration specifiers.
 .Bl -column ".Dv CDECL_TYPE_IMAGINARY"
 .It Em Em Type              Ta Em Description
@@ -124,7 +124,7 @@ member points to a C string containing the identifier.
 .It Dv CDECL_QUAL_CONST     Ta Fa const      No type qualifier.
 .It Dv CDECL_FUNC_INLINE    Ta Fa inline     No function specifier.
 .El
 .It Dv CDECL_QUAL_CONST     Ta Fa const      No type qualifier.
 .It Dv CDECL_FUNC_INLINE    Ta Fa inline     No function specifier.
 .El
-
+.Pp
 Declarators are represented by the structure:
 .Bd -literal -offset indent
 struct cdecl_declarator {
 Declarators are represented by the structure:
 .Bd -literal -offset indent
 struct cdecl_declarator {
@@ -138,7 +138,7 @@ struct cdecl_declarator {
        } u;
 };
 .Ed
        } u;
 };
 .Ed
-
+.Pp
 There are five types of declarators, distinguished by the
 .Va type
 struct member.  The union
 There are five types of declarators, distinguished by the
 .Va type
 struct member.  The union
@@ -177,7 +177,7 @@ struct cdecl_pointer {
        struct cdecl_declspec *qualifiers;
 };
 .Ed
        struct cdecl_declspec *qualifiers;
 };
 .Ed
-
+.Pp
 If the
 .Va qualifiers
 member is non-null, then it points to the first element of a singly-linked list
 If the
 .Va qualifiers
 member is non-null, then it points to the first element of a singly-linked list
@@ -189,7 +189,7 @@ struct cdecl_array {
        uintmax_t length;
 };
 .Ed
        uintmax_t length;
 };
 .Ed
-
+.Pp
 If the
 .Va vla
 member is non-null, then this declarator is a variable-length array declarator.
 If the
 .Va vla
 member is non-null, then this declarator is a variable-length array declarator.
@@ -208,7 +208,7 @@ struct cdecl_function {
        _Bool variadic;
 };
 .Ed
        _Bool variadic;
 };
 .Ed
-
+.Pp
 If
 .Va parameters
 is null, then this is a non-prototype function declarator.  Otherwise,
 If
 .Va parameters
 is null, then this is a non-prototype function declarator.  Otherwise,
@@ -221,27 +221,27 @@ otherwise).   If
 is true, then the function is variadic.
 .Sh PARSING DECLARATIONS
 To parse a declaration, the function
 is true, then the function is variadic.
 .Sh PARSING DECLARATIONS
 To parse a declaration, the function
-
+.Pp
 .Fd struct cdecl *cdecl_parse_decl(const char *declstr);
 .Fd struct cdecl *cdecl_parse_decl(const char *declstr);
-
+.Pp
 can be used.  The provided string is parsed as a C declaration.  If successful,
 this function returns a pointer to an abstract syntax tree representing the
 declaration.  If the parse fails for any reason, the function returns NULL.
 can be used.  The provided string is parsed as a C declaration.  If successful,
 this function returns a pointer to an abstract syntax tree representing the
 declaration.  If the parse fails for any reason, the function returns NULL.
-
+.Pp
 Similarly, English declarations can be parsed by using the function
 Similarly, English declarations can be parsed by using the function
-
+.Pp
 .Fd struct cdecl *cdecl_parse_english(const char *english);
 .Fd struct cdecl *cdecl_parse_english(const char *english);
-
+.Pp
 When the AST is no longer needed, it must be freed by passing it to the
 function
 When the AST is no longer needed, it must be freed by passing it to the
 function
-
+.Pp
 .Fd void cdecl_free(struct cdecl *decl);
 .Sh RENDERING DECLARATIONS
 On the other hand, the abstract syntax tree can be rendered to a string for
 output.  One can use the function
 .Fd void cdecl_free(struct cdecl *decl);
 .Sh RENDERING DECLARATIONS
 On the other hand, the abstract syntax tree can be rendered to a string for
 output.  One can use the function
-
+.Pp
 .Fd size_t cdecl_explain(char *buf, size_t n, struct cdecl *decl);
 .Fd size_t cdecl_explain(char *buf, size_t n, struct cdecl *decl);
-
+.Pp
 to format the AST pointed to by
 .Fa decl
 into something resembling English.  At most one full declarator is rendered
 to format the AST pointed to by
 .Fa decl
 into something resembling English.  At most one full declarator is rendered
@@ -249,7 +249,7 @@ in this way; for declarations with more than one full declarator, this function
 should be called on each
 .Dv struct cdecl
 in the singly-linked list.
 should be called on each
 .Dv struct cdecl
 in the singly-linked list.
-
+.Pp
 In a manner similar to that of
 .Xr snprintf 3 ,
 at most
 In a manner similar to that of
 .Xr snprintf 3 ,
 at most
@@ -269,11 +269,11 @@ were long enough, not including the '\\0' terminator.  Thus, the entire string
 was written if a value less than
 .Fa n
 is returned.
 was written if a value less than
 .Fa n
 is returned.
-
+.Pp
 Similarly, the function
 Similarly, the function
-
+.Pp
 .Fd size_t cdecl_declare(char *buf, size_t n, struct cdecl *decl);
 .Fd size_t cdecl_declare(char *buf, size_t n, struct cdecl *decl);
-
+.Pp
 will render the AST pointed to by
 .Fa decl
 into C code.
 will render the AST pointed to by
 .Fa decl
 into C code.
@@ -281,7 +281,7 @@ into C code.
 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