=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.32 retrieving revision 1.36 diff -u -p -r1.32 -r1.36 --- mandoc/mdoc.h 2009/02/22 22:58:39 1.32 +++ mandoc/mdoc.h 2009/03/02 12:09:32 1.36 @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.32 2009/02/22 22:58:39 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.36 2009/03/02 12:09:32 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -19,6 +19,14 @@ #ifndef MDOC_H #define MDOC_H +/* + * This library implements a validating scanner/parser for ``mdoc'' roff + * macro documents, a.k.a. BSD manual page documents. The mdoc.c file + * drives the parser, while macro.c describes the macro ontologies. + * validate.c pre- and post-validates parsed macros, and action.c + * performs actions on parsed and validated macros. + */ + /* What follows is a list of ALL possible macros. */ #define MDOC___ 0 @@ -212,6 +220,7 @@ enum mdoc_att { ATT_v6, ATT_v7, ATT_32v, + ATT_V, ATT_V1, ATT_V2, ATT_V3, @@ -355,8 +364,6 @@ struct mdoc_block { /* In-line element node. */ struct mdoc_elem { - size_t sz; - char **args; size_t argc; struct mdoc_arg *argv; }; @@ -421,12 +428,13 @@ const struct mdoc_meta *mdoc_meta(const struct mdoc *) /* Signal end of parse sequence (boolean retval). */ int mdoc_endparse(struct mdoc *); +/* The following are utility functions. */ const char *mdoc_arch2a(enum mdoc_arch); - const char *mdoc_vol2a(enum mdoc_vol); - const char *mdoc_msec2a(enum mdoc_msec); - +const char *mdoc_att2a(enum mdoc_att); +enum mdoc_att mdoc_atoatt(const char *); +const char *mdoc_st2a(int); int mdoc_isdelim(const char *); __END_DECLS