version 1.21, 2018/12/13 02:06:07 |
version 1.24, 2018/12/13 06:18:20 |
|
|
.Vt enum mandocerr , |
.Vt enum mandocerr , |
.Vt enum mandoclevel , |
.Vt enum mandoclevel , |
.Vt enum mandoc_os , |
.Vt enum mandoc_os , |
.Vt enum eqn_boxt , |
|
.Vt enum eqn_fontt , |
|
.Vt enum eqn_pilet , |
|
.Vt enum eqn_post , |
|
.Vt struct eqn_box , |
|
the function prototype typedef |
the function prototype typedef |
.Fn mandocmsg , |
.Fn mandocmsg , |
the function |
the function |
|
|
.Vt struct tbl_dat , |
.Vt struct tbl_dat , |
and |
and |
.Vt struct tbl_span . |
.Vt struct tbl_span . |
|
.It Qq Pa eqn.h |
|
Data structures for the |
|
.Xr eqn 7 |
|
parse tree; can be used everywhere. |
|
.Pp |
|
Requires |
|
.In sys/types.h |
|
for |
|
.Vt size_t . |
|
.Pp |
|
Provides |
|
.Vt enum eqn_boxt , |
|
.Vt enum eqn_fontt , |
|
.Vt enum eqn_post , |
|
and |
|
.Vt struct eqn_box . |
.It Qq Pa mandoc_xr.h |
.It Qq Pa mandoc_xr.h |
Cross reference validation; intended for use in the main program |
Cross reference validation; intended for use in the main program |
and in parsers, but not in formatters. |
and in parsers, but not in formatters. |
Line 156 and the functions |
|
Line 167 and the functions |
|
and |
and |
.Fn mandoc_xr_free . |
.Fn mandoc_xr_free . |
.It Qq Pa roff.h |
.It Qq Pa roff.h |
|
Common data types for all syntax trees and related functions; |
|
can be used everywhere. |
|
.Pp |
Requires |
Requires |
.Qq Pa mandoc_ohash.h |
.Qq Pa mandoc_ohash.h |
for |
for |
|
|
the constant array |
the constant array |
.Va roff_name |
.Va roff_name |
and the functions |
and the functions |
.Fn deroff , |
.Fn deroff |
.Fn roffhash_alloc , |
|
.Fn roffhash_find , |
|
.Fn roffhash_free , |
|
and |
and |
.Fn roff_validate . |
.Fn roff_validate . |
.Pp |
.Pp |
|
|
as an opaque type for function prototypes. |
as an opaque type for function prototypes. |
.Pp |
.Pp |
When this header is included, the same file should not include |
When this header is included, the same file should not include |
.Pa libman.h |
internals of different parsers. |
or |
|
.Pa libroff.h . |
|
.It Qq Pa man.h |
.It Qq Pa man.h |
Provides the functions |
Provides the functions |
.Fn man_* |
.Fn man_* |
|
|
as an opaque type for function prototypes. |
as an opaque type for function prototypes. |
.Pp |
.Pp |
When this header is included, the same file should not include |
When this header is included, the same file should not include |
.Pa libmdoc.h |
internals of different parsers. |
or |
|
.Pa libroff.h . |
|
.El |
.El |
.Ss Parser internals |
.Ss Parser internals |
Most of the following headers require inclusion of a parser interface header |
Most of the following headers require inclusion of a parser interface header |
|
|
.Pa roff.h |
.Pa roff.h |
as an opaque type for function prototypes. |
as an opaque type for function prototypes. |
.It Qq Pa roff_int.h |
.It Qq Pa roff_int.h |
|
Parser internals shared by multiple parsers. |
|
Can be used in all parsers, but not in main programs or formatters. |
|
.Pp |
Requires |
Requires |
.Qq Pa roff.h |
.Qq Pa roff.h |
for |
for |
.Vt enum roff_type . |
.Vt enum roff_type |
|
and |
|
.Vt enum roff_tok . |
.Pp |
.Pp |
Provides functions named |
Provides functions named |
.Fn roff_* |
.Fn roff_* |
to handle roff nodes and the two special functions |
to handle roff nodes, |
|
.Fn roffhash_alloc , |
|
.Fn roffhash_find , |
|
and |
|
.Fn roffhash_free , |
|
and the two special functions |
.Fn man_breakscope |
.Fn man_breakscope |
and |
and |
.Fn mdoc_argv_free |
.Fn mdoc_argv_free |
|
|
as opaque types for function prototypes. |
as opaque types for function prototypes. |
.Pp |
.Pp |
When this header is included, the same file should not include |
When this header is included, the same file should not include |
.Pa man.h , |
interfaces of different parsers. |
.Pa libman.h , |
|
or |
|
.Pa libroff.h . |
|
.It Qq Pa libman.h |
.It Qq Pa libman.h |
Requires |
Requires |
.Qq Pa roff.h |
.Qq Pa roff.h |
|
|
as opaque types for function prototypes. |
as opaque types for function prototypes. |
.Pp |
.Pp |
When this header is included, the same file should not include |
When this header is included, the same file should not include |
.Pa mdoc.h , |
interfaces of different parsers. |
.Pa libmdoc.h , |
.It Qq Pa eqn_parse.h |
or |
External interface of the |
.Pa libroff.h . |
.Xr eqn 7 |
.It Qq Pa libroff.h |
parser, for use in the |
|
.Xr roff 7 |
|
and |
|
.Xr eqn 7 |
|
parsers only. |
|
.Pp |
Requires |
Requires |
.In sys/types.h |
.In sys/types.h |
for |
for |
.Vt size_t |
.Vt size_t . |
and |
|
.Qq Pa mandoc.h |
|
for |
|
.Vt struct eqn_box . |
|
.Pp |
.Pp |
Provides |
Provides |
.Vt struct eqn_def , |
.Vt struct eqn_node |
.Vt struct eqn_node , |
and the functions |
and many functions internal to the |
.Fn eqn_alloc , |
.Xr eqn 7 |
.Fn eqn_box_new , |
parser. |
.Fn eqn_box_free , |
|
.Fn eqn_free , |
|
.Fn eqn_parse , |
|
.Fn eqn_read , |
|
and |
|
.Fn eqn_reset . |
.Pp |
.Pp |
Uses the opaque type |
Uses the opaque type |
.Vt struct mparse |
.Vt struct mparse |
from |
from |
.Pa read.c . |
.Pa read.c |
|
for function prototypes. |
|
Uses the type |
|
.Vt struct eqn_box |
|
from |
|
.Pa mandoc.h |
|
as an opaque type for function prototypes. |
|
Uses the types |
|
.Vt struct roff_node |
|
from |
|
.Pa roff.h |
|
and |
|
.Vt struct eqn_def |
|
from |
|
.Pa eqn.c |
|
as opaque struct members. |
.Pp |
.Pp |
When this header is included, the same file should not include |
When this header is included, the same file should not include |
.Pa man.h , |
internals of different parsers. |
.Pa mdoc.h , |
|
.Pa libman.h , |
|
or |
|
.Pa libmdoc.h . |
|
.It Qq Pa tbl_parse.h |
.It Qq Pa tbl_parse.h |
External interface of the |
External interface of the |
.Xr tbl 7 |
.Xr tbl 7 |
|
|
as opaque types for function prototypes. |
as opaque types for function prototypes. |
.Pp |
.Pp |
When this header is included, the same file should not include |
When this header is included, the same file should not include |
internals of a different parser. |
internals of different parsers. |
.It Qq Pa tbl_int.h |
.It Qq Pa tbl_int.h |
Internal interfaces of the |
Internal interfaces of the |
.Xr tbl 7 |
.Xr tbl 7 |