version 1.71, 2014/03/08 04:43:39 |
version 1.72, 2014/03/19 21:50:59 |
|
|
}; |
}; |
|
|
struct roff { |
struct roff { |
enum mparset parsetype; /* requested parse type */ |
|
struct mparse *parse; /* parse point */ |
struct mparse *parse; /* parse point */ |
int quick; /* skip standard macro deletion */ |
int options; /* parse options */ |
struct roffnode *last; /* leaf of stack */ |
struct roffnode *last; /* leaf of stack */ |
int rstack[RSTACK_MAX]; /* stack of !`ie' rules */ |
int rstack[RSTACK_MAX]; /* stack of !`ie' rules */ |
char control; /* control character */ |
char control; /* control character */ |
|
|
|
|
|
|
struct roff * |
struct roff * |
roff_alloc(enum mparset type, struct mparse *parse, int quick) |
roff_alloc(struct mparse *parse, int options) |
{ |
{ |
struct roff *r; |
struct roff *r; |
|
|
r = mandoc_calloc(1, sizeof(struct roff)); |
r = mandoc_calloc(1, sizeof(struct roff)); |
r->parsetype = type; |
|
r->parse = parse; |
r->parse = parse; |
r->quick = quick; |
r->options = options; |
r->rstackpos = -1; |
r->rstackpos = -1; |
|
|
roffhash_init(); |
roffhash_init(); |
|
|
{ |
{ |
const char *const *cp; |
const char *const *cp; |
|
|
if (0 == r->quick && MPARSE_MDOC != r->parsetype) |
if (0 == ((MPARSE_MDOC | MPARSE_QUICK) & r->options)) |
for (cp = __mdoc_reserved; *cp; cp++) |
for (cp = __mdoc_reserved; *cp; cp++) |
roff_setstr(r, *cp, NULL, 0); |
roff_setstr(r, *cp, NULL, 0); |
|
|
|
|
{ |
{ |
const char *const *cp; |
const char *const *cp; |
|
|
if (0 == r->quick && MPARSE_MDOC != r->parsetype) |
if (0 == (MPARSE_QUICK & r->options)) |
for (cp = __man_reserved; *cp; cp++) |
for (cp = __man_reserved; *cp; cp++) |
roff_setstr(r, *cp, NULL, 0); |
roff_setstr(r, *cp, NULL, 0); |
|
|