-#define TBL_MSG(tblp, type, line, col) \
- (*(tblp)->msg)((type), (tblp)->data, (line), (col), NULL)
+struct eqn_node {
+ struct eqn eqn; /* syntax tree of this equation */
+ struct mparse *parse; /* main parser, for error reporting */
+ struct eqn_node *next; /* singly linked list of equations */
+ struct eqn_def *defs; /* array of definitions */
+ char *data; /* source code of this equation */
+ size_t defsz; /* number of definitions */
+ size_t sz; /* length of the source code */
+ size_t cur; /* parse point in the source code */
+ size_t rew; /* beginning of the current token */
+ int gsize; /* default point size */
+ int delim; /* in-line delimiters enabled */
+ char odelim; /* in-line opening delimiter */
+ char cdelim; /* in-line closing delimiter */
+};
+
+struct eqn_def {
+ char *key;
+ size_t keysz;
+ char *val;
+ size_t valsz;
+};
+
+__BEGIN_DECLS