=================================================================== RCS file: /cvs/mandoc/mandoc_headers.3,v retrieving revision 1.21 retrieving revision 1.24 diff -u -p -r1.21 -r1.24 --- mandoc/mandoc_headers.3 2018/12/13 02:06:07 1.21 +++ mandoc/mandoc_headers.3 2018/12/13 06:18:20 1.24 @@ -97,11 +97,6 @@ Provides .Vt enum mandocerr , .Vt enum mandoclevel , .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 .Fn mandocmsg , the function @@ -143,6 +138,22 @@ Provides .Vt struct tbl_dat , and .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 Cross reference validation; intended for use in the main program and in parsers, but not in formatters. @@ -156,6 +167,9 @@ and the functions and .Fn mandoc_xr_free . .It Qq Pa roff.h +Common data types for all syntax trees and related functions; +can be used everywhere. +.Pp Requires .Qq Pa mandoc_ohash.h for @@ -178,10 +192,7 @@ Provides the constant array .Va roff_name and the functions -.Fn deroff , -.Fn roffhash_alloc , -.Fn roffhash_find , -.Fn roffhash_free , +.Fn deroff and .Fn roff_validate . .Pp @@ -231,9 +242,7 @@ from as an opaque type for function prototypes. .Pp When this header is included, the same file should not include -.Pa libman.h -or -.Pa libroff.h . +internals of different parsers. .It Qq Pa man.h Provides the functions .Fn man_* @@ -252,9 +261,7 @@ from as an opaque type for function prototypes. .Pp When this header is included, the same file should not include -.Pa libmdoc.h -or -.Pa libroff.h . +internals of different parsers. .El .Ss Parser internals Most of the following headers require inclusion of a parser interface header @@ -293,14 +300,24 @@ from .Pa roff.h as an opaque type for function prototypes. .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 .Qq Pa roff.h for -.Vt enum roff_type . +.Vt enum roff_type +and +.Vt enum roff_tok . .Pp Provides functions named .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 and .Fn mdoc_argv_free @@ -351,10 +368,7 @@ from as opaque types for function prototypes. .Pp When this header is included, the same file should not include -.Pa man.h , -.Pa libman.h , -or -.Pa libroff.h . +interfaces of different parsers. .It Qq Pa libman.h Requires .Qq Pa roff.h @@ -376,38 +390,55 @@ from as opaque types for function prototypes. .Pp When this header is included, the same file should not include -.Pa mdoc.h , -.Pa libmdoc.h , -or -.Pa libroff.h . -.It Qq Pa libroff.h +interfaces of different parsers. +.It Qq Pa eqn_parse.h +External interface of the +.Xr eqn 7 +parser, for use in the +.Xr roff 7 +and +.Xr eqn 7 +parsers only. +.Pp Requires .In sys/types.h for -.Vt size_t -and -.Qq Pa mandoc.h -for -.Vt struct eqn_box . +.Vt size_t . .Pp Provides -.Vt struct eqn_def , -.Vt struct eqn_node , -and many functions internal to the -.Xr eqn 7 -parser. +.Vt struct eqn_node +and the functions +.Fn eqn_alloc , +.Fn eqn_box_new , +.Fn eqn_box_free , +.Fn eqn_free , +.Fn eqn_parse , +.Fn eqn_read , +and +.Fn eqn_reset . .Pp Uses the opaque type .Vt struct mparse 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 When this header is included, the same file should not include -.Pa man.h , -.Pa mdoc.h , -.Pa libman.h , -or -.Pa libmdoc.h . +internals of different parsers. .It Qq Pa tbl_parse.h External interface of the .Xr tbl 7 @@ -435,7 +466,7 @@ from as opaque types for function prototypes. .Pp 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 Internal interfaces of the .Xr tbl 7