=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.6 retrieving revision 1.15 diff -u -p -r1.6 -r1.15 --- mandoc/mdoc.h 2008/12/28 23:07:04 1.6 +++ mandoc/mdoc.h 2009/01/05 17:57:08 1.15 @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.6 2008/12/28 23:07:04 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.15 2009/01/05 17:57:08 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -19,7 +19,7 @@ #ifndef MDOC_H #define MDOC_H -#define MDOC_LINEARG_MAX 9 +#define MDOC_LINEARG_MAX 8 #define MDOC___ 0 #define MDOC_Dd 1 @@ -189,11 +189,14 @@ #define MDOC_svid4 57 #define MDOC_Filled 58 #define MDOC_Words 59 -#define MDOC_ARG_MAX 60 +#define MDOC_Emphasis 60 +#define MDOC_Symbolic 61 +#define MDOC_ARG_MAX 62 enum mdoc_err { ERR_SYNTAX_QUOTE, /* NOTUSED */ ERR_SYNTAX_UNQUOTE, + ERR_SYNTAX_NOPUNCT, ERR_SYNTAX_WS, ERR_SYNTAX_ARG, ERR_SYNTAX_ARGFORM, @@ -210,17 +213,43 @@ enum mdoc_err { ERR_SEC_PROLOGUE_OO, ERR_SEC_PROLOGUE_REP, ERR_SEC_NAME, + ERR_ARGS_EQ0, + ERR_ARGS_EQ1, ERR_ARGS_GE1, - ERR_ARGS_MANY + ERR_ARGS_LE2, + ERR_ARGS_MANY, + ERR_SYNTAX_CHILDHEAD, + ERR_SYNTAX_CHILDBODY, + ERR_SYNTAX_EMPTYBODY, + ERR_SYNTAX_EMPTYHEAD, + ERR_SYNTAX_NOTEXT }; +enum mdoc_att { + ATT_DEFAULT = 0, + ATT_v1, + ATT_v2, + ATT_v3, + ATT_v4, + ATT_v5, + ATT_v6, + ATT_v7, + ATT_32v, + ATT_V1, + ATT_V2, + ATT_V3, + ATT_V4 +}; + enum mdoc_warn { WARN_SYNTAX_WS_EOLN, WARN_SYNTAX_MACLIKE, WARN_SYNTAX_ARGLIKE, WARN_SYNTAX_QUOTED, + WARN_SYNTAX_EMPTYBODY, WARN_IGN_AFTER_BLK, WARN_IGN_BEFORE_BLK, + WARN_IGN_OBSOLETE, WARN_SEC_OO, WARN_ARGS_GE1, WARN_ARGS_EQ0, @@ -237,6 +266,7 @@ enum mdoc_type { MDOC_TEXT, MDOC_ELEM, MDOC_HEAD, + MDOC_TAIL, MDOC_BODY, MDOC_BLOCK }; @@ -348,11 +378,13 @@ struct mdoc_block { }; struct mdoc_head { - size_t sz; - char **args; int tok; }; +struct mdoc_tail { + int tok; +}; + struct mdoc_body { int tok; }; @@ -370,6 +402,7 @@ union mdoc_data { struct mdoc_elem elem; struct mdoc_body body; struct mdoc_head head; + struct mdoc_tail tail; struct mdoc_block block; };