aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mandoc_headers.3
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-12-13 11:55:46 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-12-13 11:55:46 +0000
commit92f8786f6ad5b622da1afc6b267a40001731571b (patch)
tree14fe0b38d0e173279a5834b1f18bcfd3efc3209e /mandoc_headers.3
parentef2d1ed7915b0e62315dcecce1bc447b55254b7c (diff)
downloadmandoc-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.3110
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