diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2018-12-13 11:55:46 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2018-12-13 11:55:46 +0000 |
commit | 92f8786f6ad5b622da1afc6b267a40001731571b (patch) | |
tree | 14fe0b38d0e173279a5834b1f18bcfd3efc3209e /mandoc_headers.3 | |
parent | ef2d1ed7915b0e62315dcecce1bc447b55254b7c (diff) | |
download | mandoc-92f8786f6ad5b622da1afc6b267a40001731571b.tar.gz mandoc-92f8786f6ad5b622da1afc6b267a40001731571b.tar.zst mandoc-92f8786f6ad5b622da1afc6b267a40001731571b.zip |
Cleanup, no functional change:
Split the top level parser interface out of the utility header
mandoc.h, into a new header mandoc_parse.h, for use in the main
program and in the main parser only.
Move enum mandoc_os into roff.h because struct roff_man is the
place where it is stored.
This allows removal of mandoc.h from seven files in low-level
parsers and in formatters.
Diffstat (limited to 'mandoc_headers.3')
-rw-r--r-- | mandoc_headers.3 | 110 |
1 files changed, 58 insertions, 52 deletions
diff --git a/mandoc_headers.3 b/mandoc_headers.3 index f4d15885..c728a271 100644 --- a/mandoc_headers.3 +++ b/mandoc_headers.3 @@ -84,7 +84,7 @@ Includes and provides .Fn mandoc_ohash_init . .It Qq Pa mandoc.h -Error handling utilities and top level parser interface; +Error handling, escape sequence, and character utilities; can be used everywhere. .Pp Requires @@ -96,28 +96,45 @@ Provides .Vt enum mandoc_esc , .Vt enum mandocerr , .Vt enum mandoclevel , -.Vt enum mandoc_os , the function prototype typedef .Fn mandocmsg , the function .Xr mandoc_escape 3 , -the functions described in -.Xr mchars_alloc 3 , +and the functions described in +.Xr mchars_alloc 3 . +.It Qq Pa roff.h +Common data types for all syntax trees and related functions; +can be used everywhere. +.Pp +Provides +.Vt enum mandoc_os , +.Vt enum mdoc_endbody , +.Vt enum roff_macroset , +.Vt enum roff_next , +.Vt enum roff_sec , +.Vt enum roff_tok , +.Vt enum roff_type , +.Vt struct roff_man , +.Vt struct roff_meta , +.Vt struct roff_node , +the constant array +.Va roff_name and the functions -.Fn mparse_* -described in -.Xr mandoc 3 . +.Fn deroff +and +.Fn roff_validate . .Pp -Uses the opaque type -.Vt struct mparse +Uses pointers to the types +.Vt struct ohash from -.Pa read.c -for function prototypes. -Uses the type -.Vt struct roff_man +.Pa mandoc_ohash.h +and +.Vt struct mdoc_arg +and +.Vt union mdoc_data from -.Pa roff.h -as an opaque type for function prototypes. +.Pa mdoc.h +as opaque struct members. .It Qq Pa tbl.h Data structures for the .Xr tbl 7 @@ -154,6 +171,32 @@ Provides .Vt enum eqn_post , and .Vt struct eqn_box . +.It Qq Pa mandoc_parse.h +Top level parser interface, for use in the main program +and in the main parser, but not in formatters. +.Pp +Requires +.Pa mandoc.h +for +.Vt enum mandocerr , +.Vt enum mandoclevel , +and +.Fn mandocmsg , +and +.Pa roff.h +for +.Vt enum mandoc_os . +.Pp +Uses to opaque type +.Vt struct mparse +from +.Pa read.c +for function prototypes. +Uses +.Vt struct roff_man +from +.Pa roff.h +as an opaque type for function prototypes. .It Qq Pa mandoc_xr.h Cross reference validation; intended for use in the main program and in parsers, but not in formatters. @@ -166,43 +209,6 @@ and the functions .Fn mandoc_xr_get , 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.h -for -.Vt enum mandoc_os . -.Pp -Provides -.Vt enum mdoc_endbody , -.Vt enum roff_macroset , -.Vt enum roff_next , -.Vt enum roff_sec , -.Vt enum roff_tok , -.Vt enum roff_type , -.Vt struct roff_man , -.Vt struct roff_meta , -.Vt struct roff_node , -the constant array -.Va roff_name -and the functions -.Fn deroff -and -.Fn roff_validate . -.Pp -Uses pointers to the types -.Vt struct ohash -from -.Pa mandoc_ohash.h -and -.Vt struct mdoc_arg -and -.Vt union mdoc_data -from -.Pa mdoc.h -as opaque struct members. .El .Pp The following two require |