=================================================================== RCS file: /cvs/mandoc/roff.h,v retrieving revision 1.41 retrieving revision 1.43 diff -u -p -r1.41 -r1.43 --- mandoc/roff.h 2017/04/24 23:06:18 1.41 +++ mandoc/roff.h 2017/05/04 17:48:29 1.43 @@ -1,4 +1,4 @@ -/* $Id: roff.h,v 1.41 2017/04/24 23:06:18 schwarze Exp $ */ +/* $Id: roff.h,v 1.43 2017/05/04 17:48:29 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2013, 2014, 2015, 2017 Ingo Schwarze @@ -16,6 +16,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +struct ohash; struct mdoc_arg; union mdoc_data; @@ -65,7 +66,9 @@ enum roff_type { }; enum roff_tok { - ROFF_ab = 0, + ROFF_br = 0, + ROFF_MAX, + ROFF_ab, ROFF_ad, ROFF_af, ROFF_aln, @@ -85,7 +88,6 @@ enum roff_tok { ROFF_boxa, ROFF_bp, ROFF_BP, - /* MAN_br, MDOC_br */ ROFF_break, ROFF_breakchar, ROFF_brnl, @@ -427,7 +429,6 @@ enum roff_tok { MDOC_En, MDOC_Dx, MDOC__Q, - MDOC_br, MDOC_sp, MDOC__U, MDOC_Ta, @@ -453,7 +454,6 @@ enum roff_tok { MAN_I, MAN_IR, MAN_RI, - MAN_br, MAN_sp, MAN_nf, MAN_fi, @@ -538,6 +538,8 @@ struct roff_man { struct roff_meta meta; /* Document meta-data. */ struct mparse *parse; /* Parse pointer. */ struct roff *roff; /* Roff parser state data. */ + struct ohash *mdocmac; /* Mdoc macro lookup table. */ + struct ohash *manmac; /* Man macro lookup table. */ const char *defos; /* Default operating system. */ struct roff_node *first; /* The first node parsed. */ struct roff_node *last; /* The last node parsed. */ @@ -569,4 +571,8 @@ struct roff_man { extern const char *const *roff_name; + void deroff(char **, const struct roff_node *); +struct ohash *roffhash_alloc(enum roff_tok, enum roff_tok); +enum roff_tok roffhash_find(struct ohash *, const char *, size_t); +void roffhash_free(struct ohash *);