-static void mparse_parse_buffer(struct mparse *, struct buf,
- const char *);
-
-static const enum mandocerr mandoclimits[MANDOCLEVEL_MAX] = {
- MANDOCERR_OK,
- MANDOCERR_WARNING,
- MANDOCERR_WARNING,
- MANDOCERR_ERROR,
- MANDOCERR_FATAL,
- MANDOCERR_MAX,
- MANDOCERR_MAX
-};
-
-static const char * const mandocerrs[MANDOCERR_MAX] = {
- "ok",
-
- "generic warning",
-
- /* related to the prologue */
- "missing .TH macro, using \"unknown 1\"",
- "lower case character in document title",
- "unknown manual section",
- "unknown manual volume or arch",
- "missing date, using today's date",
- "cannot parse date, using it verbatim",
- "prologue macros out of order",
- "duplicate prologue macro",
- "incomplete prologue, terminated by",
- "skipping prologue macro in body",
-
- /* related to document structure */
- ".so is fragile, better use ln(1)",
- "no document body",
- "content before first section header",
- "first section is not \"NAME\"",
- "bad NAME section contents",
- "sections out of conventional order",
- "duplicate section title",
- "unexpected section",
-
- /* related to macros and nesting */
- "obsolete macro",
- "skipping paragraph macro",
- "moving paragraph macro out of list",
- "skipping no-space macro",
- "blocks badly nested",
- "nested displays are not portable",
- "moving content out of list",
- ".Vt block has child macro",
- "fill mode already enabled, skipping .fi",
- "fill mode already disabled, skipping .nf",
- "line scope broken",
-
- /* related to missing macro arguments */
- "skipping empty request",
- "conditional request controls empty scope",
- "skipping empty macro",
- "argument count wrong",
- "missing display type, using -ragged",
- "list type is not the first argument",
- "missing -width in -tag list, using 8n",
- "empty head in list item",
- "empty list item",
- "missing font type",
- "missing -std argument, adding it",
-
- /* related to bad macro arguments */
- "skipping argument",
- "duplicate argument",
- "duplicate display type",
- "duplicate list type",
- "unknown AT&T UNIX version",
- "bad Boolean value",
- "unknown font",
- "unknown standard specifier",
- "bad width argument",
-
- /* related to plain text */
- "blank line in non-literal context",
- "tab in non-literal context",
- "end of line whitespace",
- "bad comment style",
- "bad escape sequence",
- "unterminated quoted string",
-
- "generic error",
-
- /* related to equations */
- "unexpected equation scope closure",
- "equation scope open on exit",
- "overlapping equation scopes",
- "unexpected end of equation",
- "equation syntax error",
-
- /* related to tables */
- "bad table syntax",
- "bad table option",
- "bad table layout",
- "no table layout cells specified",
- "no table data cells specified",
- "ignore data in cell",
- "data block still open",
- "ignoring extra data cells",
-
- "input stack limit exceeded, infinite loop?",
- "skipping bad character",
- "escaped character not allowed in a name",
- "manual name not yet set",
- "skipping text before first section header",
- "skipping unknown macro",
- "NOT IMPLEMENTED, please use groff: skipping request",
- "argument count wrong",
- "skipping invalid content in .Rs block",
- "skipping column outside column list",
- "skipping end of block that is not open",
- "missing end of block",
- "scope open on exit",
- "uname(3) system call failed",
- "request requires a numeric argument",
- "missing list type, using -item",
- "line argument(s) will be lost",
-
- "generic fatal error",
-
- "input too large",
- "not a manual",
- "column syntax is inconsistent",
- "NOT IMPLEMENTED: .Bd -file",
- "argument count wrong, violates syntax",
- "child violates parent syntax",
- "argument count wrong, violates syntax",
- "NOT IMPLEMENTED: .so with absolute path or \"..\"",
- ".so request failed",
- "no document prologue",
- "static buffer exhausted",
-
- /* system errors */
- NULL,
- "cannot stat file",
- "cannot read file",
-};
-
-static const char * const mandoclevels[MANDOCLEVEL_MAX] = {
- "SUCCESS",
- "RESERVED",
- "WARNING",
- "ERROR",
- "FATAL",
- "BADARG",
- "SYSERR"
-};