version 1.158, 2014/09/28 14:05:11 |
version 1.164, 2014/10/20 19:04:45 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
Line 104 enum mandocerr { |
|
Line 104 enum mandocerr { |
|
MANDOCERR_BF_NOFONT, /* missing font type, using \fR: Bf */ |
MANDOCERR_BF_NOFONT, /* missing font type, using \fR: Bf */ |
MANDOCERR_BF_BADFONT, /* unknown font type, using \fR: Bf font */ |
MANDOCERR_BF_BADFONT, /* unknown font type, using \fR: Bf font */ |
MANDOCERR_ARG_STD, /* missing -std argument, adding it: macro */ |
MANDOCERR_ARG_STD, /* missing -std argument, adding it: macro */ |
|
MANDOCERR_EQN_NOBOX, /* missing eqn box, using "": op */ |
|
|
/* related to bad arguments */ |
/* related to bad arguments */ |
MANDOCERR_ARG_QUOTE, /* unterminated quoted argument */ |
MANDOCERR_ARG_QUOTE, /* unterminated quoted argument */ |
Line 114 enum mandocerr { |
|
Line 115 enum mandocerr { |
|
MANDOCERR_BL_SKIPW, /* skipping -width argument: Bl -type */ |
MANDOCERR_BL_SKIPW, /* skipping -width argument: Bl -type */ |
MANDOCERR_AT_BAD, /* unknown AT&T UNIX version: At version */ |
MANDOCERR_AT_BAD, /* unknown AT&T UNIX version: At version */ |
MANDOCERR_FA_COMMA, /* comma in function argument: arg */ |
MANDOCERR_FA_COMMA, /* comma in function argument: arg */ |
|
MANDOCERR_FN_PAREN, /* parenthesis in function name: arg */ |
MANDOCERR_RS_BAD, /* invalid content in Rs block: macro */ |
MANDOCERR_RS_BAD, /* invalid content in Rs block: macro */ |
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */ |
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */ |
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */ |
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */ |
Line 133 enum mandocerr { |
|
Line 135 enum mandocerr { |
|
MANDOCERR_EQNSCOPE, /* equation scope open on exit */ |
MANDOCERR_EQNSCOPE, /* equation scope open on exit */ |
MANDOCERR_EQNBADSCOPE, /* overlapping equation scopes */ |
MANDOCERR_EQNBADSCOPE, /* overlapping equation scopes */ |
MANDOCERR_EQNEOF, /* unexpected end of equation */ |
MANDOCERR_EQNEOF, /* unexpected end of equation */ |
MANDOCERR_EQNSYNT, /* equation syntax error */ |
|
|
|
/* related to tables */ |
/* related to tables */ |
MANDOCERR_TBL, /* bad table syntax */ |
MANDOCERR_TBL, /* bad table syntax */ |
Line 165 enum mandocerr { |
|
Line 166 enum mandocerr { |
|
MANDOCERR_IT_NONUM, /* skipping request without numeric argument */ |
MANDOCERR_IT_NONUM, /* skipping request without numeric argument */ |
MANDOCERR_ARG_SKIP, /* skipping all arguments: macro args */ |
MANDOCERR_ARG_SKIP, /* skipping all arguments: macro args */ |
MANDOCERR_ARG_EXCESS, /* skipping excess arguments: macro ... args */ |
MANDOCERR_ARG_EXCESS, /* skipping excess arguments: macro ... args */ |
|
MANDOCERR_DIVZERO, /* divide by zero */ |
|
|
MANDOCERR_FATAL, /* ===== start of fatal errors ===== */ |
MANDOCERR_FATAL, /* ===== start of fatal errors ===== */ |
|
|
Line 245 struct tbl_cell { |
|
Line 247 struct tbl_cell { |
|
#define TBL_CELL_EQUAL (1 << 4) /* e, E */ |
#define TBL_CELL_EQUAL (1 << 4) /* e, E */ |
#define TBL_CELL_UP (1 << 5) /* u, U */ |
#define TBL_CELL_UP (1 << 5) /* u, U */ |
#define TBL_CELL_WIGN (1 << 6) /* z, Z */ |
#define TBL_CELL_WIGN (1 << 6) /* z, Z */ |
|
#define TBL_CELL_WMAX (1 << 7) /* x, X */ |
struct tbl_head *head; |
struct tbl_head *head; |
}; |
}; |
|
|
|
|
EQN_ROOT, /* root of parse tree */ |
EQN_ROOT, /* root of parse tree */ |
EQN_TEXT, /* text (number, variable, whatever) */ |
EQN_TEXT, /* text (number, variable, whatever) */ |
EQN_SUBEXPR, /* nested `eqn' subexpression */ |
EQN_SUBEXPR, /* nested `eqn' subexpression */ |
EQN_LIST, /* subexpressions list */ |
EQN_LIST, /* list (braces, etc.) */ |
EQN_MATRIX /* matrix subexpression */ |
EQN_LISTONE, /* singleton list */ |
|
EQN_PILE, /* vertical pile */ |
|
EQN_MATRIX /* pile of piles */ |
}; |
}; |
|
|
enum eqn_markt { |
|
EQNMARK_NONE = 0, |
|
EQNMARK_DOT, |
|
EQNMARK_DOTDOT, |
|
EQNMARK_HAT, |
|
EQNMARK_TILDE, |
|
EQNMARK_VEC, |
|
EQNMARK_DYAD, |
|
EQNMARK_BAR, |
|
EQNMARK_UNDER, |
|
EQNMARK__MAX |
|
}; |
|
|
|
enum eqn_fontt { |
enum eqn_fontt { |
EQNFONT_NONE = 0, |
EQNFONT_NONE = 0, |
EQNFONT_ROMAN, |
EQNFONT_ROMAN, |
Line 334 enum eqn_fontt { |
|
Line 326 enum eqn_fontt { |
|
|
|
enum eqn_post { |
enum eqn_post { |
EQNPOS_NONE = 0, |
EQNPOS_NONE = 0, |
EQNPOS_OVER, |
|
EQNPOS_SUP, |
EQNPOS_SUP, |
EQNPOS_SUBSUP, |
EQNPOS_SUBSUP, |
EQNPOS_SUB, |
EQNPOS_SUB, |
EQNPOS_TO, |
EQNPOS_TO, |
EQNPOS_FROM, |
EQNPOS_FROM, |
EQNPOS_FROMTO, |
EQNPOS_FROMTO, |
|
EQNPOS_OVER, |
|
EQNPOS_SQRT, |
EQNPOS__MAX |
EQNPOS__MAX |
}; |
}; |
|
|
Line 371 struct eqn_box { |
|
Line 364 struct eqn_box { |
|
struct eqn_box *prev; /* node sibling */ |
struct eqn_box *prev; /* node sibling */ |
struct eqn_box *parent; /* node sibling */ |
struct eqn_box *parent; /* node sibling */ |
char *text; /* text (or NULL) */ |
char *text; /* text (or NULL) */ |
char *left; |
char *left; /* fence left-hand */ |
char *right; |
char *right; /* fence right-hand */ |
|
char *top; /* expression over-symbol */ |
|
char *bottom; /* expression under-symbol */ |
|
size_t args; /* arguments in parent */ |
|
size_t expectargs; /* max arguments in parent */ |
enum eqn_post pos; /* position of next box */ |
enum eqn_post pos; /* position of next box */ |
enum eqn_markt mark; /* a mark about the box */ |
|
enum eqn_fontt font; /* font of box */ |
enum eqn_fontt font; /* font of box */ |
enum eqn_pilet pile; /* equation piling */ |
enum eqn_pilet pile; /* equation piling */ |
}; |
}; |