version 1.25, 2014/08/05 05:48:56 |
version 1.29, 2014/11/26 23:42:14 |
|
|
.Nm mparse_free , |
.Nm mparse_free , |
.Nm mparse_getkeep , |
.Nm mparse_getkeep , |
.Nm mparse_keep , |
.Nm mparse_keep , |
|
.Nm mparse_open , |
.Nm mparse_readfd , |
.Nm mparse_readfd , |
.Nm mparse_reset , |
.Nm mparse_reset , |
.Nm mparse_result , |
.Nm mparse_result , |
.Nm mparse_strerror , |
.Nm mparse_strerror , |
.Nm mparse_strlevel |
.Nm mparse_strlevel |
|
.Nm mparse_wait , |
.Nd mandoc macro compiler library |
.Nd mandoc macro compiler library |
.Sh LIBRARY |
.Sh LIBRARY |
.Lb libmandoc |
.Lb libmandoc |
|
|
.Fa "int options" |
.Fa "int options" |
.Fa "enum mandoclevel wlevel" |
.Fa "enum mandoclevel wlevel" |
.Fa "mandocmsg mmsg" |
.Fa "mandocmsg mmsg" |
|
.Fa "const struct mchars *mchars" |
.Fa "char *defos" |
.Fa "char *defos" |
.Fc |
.Fc |
.Ft void |
.Ft void |
|
|
.Fa "struct mparse *parse" |
.Fa "struct mparse *parse" |
.Fc |
.Fc |
.Ft "enum mandoclevel" |
.Ft "enum mandoclevel" |
|
.Fo mparse_open |
|
.Fa "struct mparse *parse" |
|
.Fa "int *fd" |
|
.Fa "const char *fname" |
|
.Fc |
|
.Ft "enum mandoclevel" |
.Fo mparse_readfd |
.Fo mparse_readfd |
.Fa "struct mparse *parse" |
.Fa "struct mparse *parse" |
.Fa "int fd" |
.Fa "int fd" |
|
|
.Fo mparse_strlevel |
.Fo mparse_strlevel |
.Fa "enum mandoclevel" |
.Fa "enum mandoclevel" |
.Fc |
.Fc |
|
.Ft "enum mandoclevel" |
|
.Fo mparse_wait |
|
.Fa "struct mparse *parse" |
|
.Fc |
.In sys/types.h |
.In sys/types.h |
.In mandoc.h |
.In mandoc.h |
.In mdoc.h |
.In mdoc.h |
Line 159 The following describes a general parse sequence: |
|
Line 172 The following describes a general parse sequence: |
|
.Bl -enum |
.Bl -enum |
.It |
.It |
initiate a parsing sequence with |
initiate a parsing sequence with |
|
.Xr mchars_alloc 3 |
|
and |
.Fn mparse_alloc ; |
.Fn mparse_alloc ; |
.It |
.It |
parse files or file descriptors with |
parse files or file descriptors with |
|
|
.Fn man_node ; |
.Fn man_node ; |
.It |
.It |
free all allocated memory with |
free all allocated memory with |
.Fn mparse_free , |
.Fn mparse_free |
|
and |
|
.Xr mchars_free 3 , |
or invoke |
or invoke |
.Fn mparse_reset |
.Fn mparse_reset |
and parse new files. |
and parse new files. |
Line 194 A fatal error, error, or warning message during parsin |
|
Line 211 A fatal error, error, or warning message during parsin |
|
A classification of an |
A classification of an |
.Vt "enum mandocerr" |
.Vt "enum mandocerr" |
as regards system operation. |
as regards system operation. |
|
.It Vt "struct mchars" |
|
An opaque pointer to a a character table. |
|
Created with |
|
.Xr mchars_alloc 3 |
|
and freed with |
|
.Xr mchars_free 3 . |
.It Vt "struct mparse" |
.It Vt "struct mparse" |
An opaque pointer to a running parse sequence. |
An opaque pointer to a running parse sequence. |
Created with |
Created with |
Line 318 A callback function to handle errors and warnings. |
|
Line 341 A callback function to handle errors and warnings. |
|
See |
See |
.Pa main.c |
.Pa main.c |
for an example. |
for an example. |
|
.It Ar mchars |
|
An opaque pointer to a a character table obtained from |
|
.Xr mchars_alloc 3 . |
.It Ar defos |
.It Ar defos |
A default string for the |
A default string for the |
.Xr mdoc 7 |
.Xr mdoc 7 |
|
|
.In mandoc.h , |
.In mandoc.h , |
implemented in |
implemented in |
.Pa read.c . |
.Pa read.c . |
|
.It Fn mparse_open |
|
If the |
|
.Fa fname |
|
ends in |
|
.Pa .gz , |
|
open with |
|
.Xr gunzip 1 ; |
|
otherwise, with |
|
.Xr open 2 . |
|
If |
|
.Xr open 2 |
|
fails, append |
|
.Pa .gz |
|
and try with |
|
.Xr gunzip 1 . |
|
Return a file descriptor open for reading in |
|
.Fa fd , |
|
or -1 on failure. |
|
It can be passed to |
|
.Fn mparse_readfd |
|
or used directly. |
|
Declared in |
|
.In mandoc.h , |
|
implemented in |
|
.Pa read.c . |
.It Fn mparse_readfd |
.It Fn mparse_readfd |
Parse a file or file descriptor. |
Parse a file or file descriptor. |
If |
If |
.Va fd |
.Va fd |
is -1, |
is -1, open |
.Va fname |
.Va fname |
is opened for reading. |
with |
|
.Fn mparse_open . |
Otherwise, |
Otherwise, |
.Va fname |
.Va fname |
is assumed to be the name associated with |
is assumed to be the name associated with |
.Va fd . |
.Va fd . |
This may be called multiple times with different parameters; however, |
Calls |
|
.Fn mparse_wait |
|
before returning. |
|
This function may be called multiple times with different parameters; however, |
.Fn mparse_reset |
.Fn mparse_reset |
should be invoked between parses. |
should be invoked between parses. |
Declared in |
Declared in |
|
|
.Pa read.c . |
.Pa read.c . |
.It Fn mparse_strlevel |
.It Fn mparse_strlevel |
Return a statically-allocated string representation of a level code. |
Return a statically-allocated string representation of a level code. |
|
Declared in |
|
.In mandoc.h , |
|
implemented in |
|
.Pa read.c . |
|
.It Fn mparse_wait |
|
Bury a |
|
.Xr gunzip 1 |
|
child process that was spawned with |
|
.Fn mparse_open . |
|
To be called after the parse sequence is complete. |
|
Not needed after |
|
.Fn mparse_readfd , |
|
but does no harm in that case, either. |
|
Returns |
|
.Dv MANDOCLEVEL_OK |
|
on success and |
|
.Dv MANDOCLEVEL_SYSERR |
|
on failure, that is, when |
|
.Xr wait 2 |
|
fails, or when |
|
.Xr gunzip 1 |
|
died from a signal or exited with non-zero status. |
Declared in |
Declared in |
.In mandoc.h , |
.In mandoc.h , |
implemented in |
implemented in |