version 1.22, 2009/03/22 08:52:27 |
version 1.26, 2009/03/31 13:50:19 |
|
|
.Vt extern const char * const * mdoc_argnames; |
.Vt extern const char * const * mdoc_argnames; |
.Ft "struct mdoc *" |
.Ft "struct mdoc *" |
.Fn mdoc_alloc "void *data" "int pflags" "const struct mdoc_cb *cb" |
.Fn mdoc_alloc "void *data" "int pflags" "const struct mdoc_cb *cb" |
.Ft void |
.Ft int |
.Fn mdoc_reset "struct mdoc *mdoc" |
.Fn mdoc_reset "struct mdoc *mdoc" |
.Ft void |
.Ft void |
.Fn mdoc_free "struct mdoc *mdoc" |
.Fn mdoc_free "struct mdoc *mdoc" |
Line 56 library parses lines of |
|
Line 56 library parses lines of |
|
.Xr mdoc 7 |
.Xr mdoc 7 |
input (and |
input (and |
.Em only |
.Em only |
mdoc) into an abstract syntax tree that generalises the semantic |
mdoc) into an abstract syntax tree (AST). |
annotation of its input. Common front-ends for |
|
.Nm |
|
are |
|
.Xr mdocterm 1 , |
|
.Xr mdoclint 1 |
|
and |
|
.Xr mdoctree 1 . |
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
In general, applications initiate a parsing sequence with |
In general, applications initiate a parsing sequence with |
Line 140 Returns NULL on failure. If non-NULL, the pointer mus |
|
Line 133 Returns NULL on failure. If non-NULL, the pointer mus |
|
.It Fn mdoc_reset |
.It Fn mdoc_reset |
Reset the parser for another parse routine. After its use, |
Reset the parser for another parse routine. After its use, |
.Fn mdoc_parseln |
.Fn mdoc_parseln |
behaves as if invoked for the first time. |
behaves as if invoked for the first time. If it returns 0, memory could |
|
not be allocated. |
.\" LIST-ITEM |
.\" LIST-ITEM |
.It Fn mdoc_free |
.It Fn mdoc_free |
Free all resources of a parser. The pointer is no longer valid after |
Free all resources of a parser. The pointer is no longer valid after |
Line 227 fields), its position in the tree (the |
|
Line 221 fields), its position in the tree (the |
|
.Va next |
.Va next |
and |
and |
.Va prev |
.Va prev |
fields) and type-specific data (the |
fields) and some type-specific data. |
.Va data |
|
field). |
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
The tree itself is arranged according to the following normal form, |
The tree itself is arranged according to the following normal form, |
|
|
int line; |
int line; |
|
|
line = 1; |
line = 1; |
mdoc = mdoc_alloc(NULL, NULL); |
mdoc = mdoc_alloc(NULL, 0, NULL); |
|
|
while ((buf = fgetln(fp, &len))) { |
while ((buf = fgetln(fp, &len))) { |
buf[len - 1] = '\\0'; |
buf[len - 1] = '\\0'; |
Line 314 utility was written by |
|
Line 306 utility was written by |
|
.\" LIST-ITEM |
.\" LIST-ITEM |
.It |
.It |
The |
The |
.Sq \&Xc |
.Sq \&.Xc |
and |
and |
.Sq \&Xo |
.Sq \&.Xo |
macros aren't handled when used to span lines for the |
macros aren't handled when used to span lines for the |
.Sq \&It |
.Sq \&.It |
macro. |
macro. |
.\" LIST-ITEM |
.\" LIST-ITEM |
.It |
.It |
The |
The |
.Sq \&Bsx |
.Sq \&.Bsx |
macro doesn't yet understand version arguments. |
macro family doesn't yet understand version arguments. |
.\" LIST-ITEM |
.\" LIST-ITEM |
.It |
.It |
If not given a value, the \-offset argument to |
If not given a value, the \-offset argument to |
.Sq \&Bd |
.Sq \&.Bd |
and |
and |
.Sq \&Bl |
.Sq \&.Bl |
should by the width of |
should be the width of |
.Qq <string> . |
.Qq <string> ; |
|
instead, a value of |
|
.Li 10n |
|
is provided. |
.\" LIST-ITEM |
.\" LIST-ITEM |
.It |
.It |
Columns widths in |
Columns widths in |
.Sq \&Bl -column |
.Sq \&.Bl \-column |
should default to width |
should default to width |
.Qq <stringx> |
.Qq <stringx> |
if not included. |
if not included. |