=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.3 retrieving revision 1.11 diff -u -p -r1.3 -r1.11 --- mandoc/mdoc.h 2008/12/17 17:18:38 1.3 +++ mandoc/mdoc.h 2009/01/01 20:40:16 1.11 @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.3 2008/12/17 17:18:38 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.11 2009/01/01 20:40:16 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 @@ -192,26 +192,61 @@ #define MDOC_ARG_MAX 60 enum mdoc_err { - ERR_SYNTAX_QUOTE, + ERR_SYNTAX_QUOTE, /* NOTUSED */ + ERR_SYNTAX_UNQUOTE, + ERR_SYNTAX_NOPUNCT, ERR_SYNTAX_WS, - ERR_SYNTAX_ARGS, + ERR_SYNTAX_ARG, + ERR_SYNTAX_ARGFORM, + ERR_SYNTAX_ARGVAL, + ERR_SYNTAX_ARGBAD, + ERR_SYNTAX_ARGMANY, ERR_MACRO_NOTSUP, ERR_MACRO_NOTCALL, ERR_SCOPE_BREAK, + ERR_SCOPE_NOCTX, + ERR_SCOPE_NONEST, ERR_SEC_PROLOGUE, ERR_SEC_NPROLOGUE, 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_CHILD_HEAD }; +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_IGN_AFTER_BLK, + WARN_IGN_BEFORE_BLK, + WARN_IGN_OBSOLETE, WARN_SEC_OO, - WARN_ARGS_GE1 + WARN_ARGS_GE1, + WARN_ARGS_EQ0, + WARN_COMPAT_TROFF }; struct mdoc_arg { @@ -320,6 +355,8 @@ struct mdoc_meta { time_t date; #define META_TITLE_SZ (64) char title[META_TITLE_SZ]; +#define META_OS_SZ (64) + char os[META_OS_SZ]; }; struct mdoc_text { @@ -362,6 +399,7 @@ struct mdoc_node { struct mdoc_node *parent; struct mdoc_node *child; struct mdoc_node *next; + struct mdoc_node *prev; enum mdoc_type type; union mdoc_data data; };