version 1.157, 2014/09/28 11:32:08 |
version 1.160, 2014/10/10 15:26:29 |
|
|
/* $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 |
|
|
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 323 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_OVER, |
|
EQNPOS_SQRT, |
EQNPOS__MAX |
EQNPOS__MAX |
}; |
}; |
|
|
Line 370 struct eqn_box { |
|
Line 361 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 */ |
}; |
}; |