=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.42 retrieving revision 1.52 diff -u -p -r1.42 -r1.52 --- mandoc/mdoc.h 2009/03/08 20:57:35 1.42 +++ mandoc/mdoc.h 2009/03/21 13:09:29 1.52 @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.42 2009/03/08 20:57:35 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.52 2009/03/21 13:09:29 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -19,6 +19,8 @@ #ifndef MDOC_H #define MDOC_H +#include + /* * This library implements a validating scanner/parser for ``mdoc'' roff * macro documents, a.k.a. BSD manual page documents. The mdoc.c file @@ -29,8 +31,6 @@ /* What follows is a list of ALL possible macros. */ -/* TODO: Brq et al. */ - #define MDOC___ 0 #define MDOC_Dd 1 #define MDOC_Dt 2 @@ -140,7 +140,17 @@ #define MDOC_Lb 106 #define MDOC_Ap 107 #define MDOC_Lp 108 -#define MDOC_MAX 109 +#define MDOC_Lk 109 +#define MDOC_Mt 110 +#define MDOC_Brq 111 +#define MDOC_Bro 112 +#define MDOC_Brc 113 +#define MDOC__C 114 +#define MDOC_Es 115 +#define MDOC_En 116 +#define MDOC_Dx 117 +#define MDOC__Q 118 +#define MDOC_MAX 119 /* What follows is a list of ALL possible macro arguments. */ @@ -169,7 +179,8 @@ #define MDOC_Words 22 #define MDOC_Emphasis 23 #define MDOC_Symbolic 24 -#define MDOC_ARG_MAX 25 +#define MDOC_Nested 25 +#define MDOC_ARG_MAX 26 /* Warnings are either syntax or groff-compatibility. */ enum mdoc_warn { @@ -264,6 +275,7 @@ struct mdoc_node { #define MDOC_IGN_SCOPE (1 << 0) /* Ignore scope violations. */ #define MDOC_IGN_ESCAPE (1 << 1) /* Ignore bad escape sequences. */ +#define MDOC_IGN_MACRO (1 << 2) /* Ignore unknown macros. */ /* Call-backs for parse messages. */ struct mdoc_cb { @@ -289,8 +301,8 @@ void mdoc_free(struct mdoc *); /* Allocate a new parser instance. */ struct mdoc *mdoc_alloc(void *, int, const struct mdoc_cb *); -/* Set parse options. */ -void mdoc_setflags(struct mdoc *, int); +/* Gets system ready for another parse. */ +void mdoc_reset(struct mdoc *); /* Parse a single line in a stream (boolean retval). */ int mdoc_parseln(struct mdoc *, int, char *buf); @@ -309,8 +321,6 @@ int mdoc_endparse(struct mdoc *); const char *mdoc_a2att(const char *); const char *mdoc_a2lib(const char *); const char *mdoc_a2st(const char *); - -int mdoc_isdelim(const char *); __END_DECLS