From 858bb68c9059fe5b8f8f613dab2761233ff36ba7 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Sun, 6 Feb 2011 20:36:36 +0000 Subject: Add initial EQN support to mandoc. This parses, then throws away, data between EQ and EN roff blocks. EQN is different from TBL in that data after .EQ is unilaterally considered an equation until an .EN. Thus, there's no need to jump through hoops in having table spans and so on. This is ONLY the parse code framework in libroff. EQN is not yet passed into the backends. --- libroff.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libroff.h') diff --git a/libroff.h b/libroff.h index 9bf9bf9c..c882d487 100644 --- a/libroff.h +++ b/libroff.h @@ -43,6 +43,13 @@ struct tbl_node { struct tbl_node *next; }; +struct eqn_node { + int pos; /* invocation column */ + int line; /* invocation line */ + struct eqn eqn; + struct eqn_node *next; +}; + #define TBL_MSG(tblp, type, line, col) \ (*(tblp)->msg)((type), (tblp)->data, (line), (col), NULL) @@ -57,6 +64,10 @@ int tbl_data(struct tbl_node *, int, const char *); int tbl_cdata(struct tbl_node *, int, const char *); const struct tbl_span *tbl_span(struct tbl_node *); void tbl_end(struct tbl_node *); +struct eqn_node *eqn_alloc(int, int); +void eqn_end(struct eqn_node *); +void eqn_free(struct eqn_node *); +enum rofferr eqn_read(struct eqn_node **, int, const char *, int); __END_DECLS -- cgit