version 1.297, 2017/05/05 02:06:19 |
version 1.301, 2017/05/08 15:34:54 |
Line 181 static enum rofferr roff_it(ROFF_ARGS); |
|
Line 181 static enum rofferr roff_it(ROFF_ARGS); |
|
static enum rofferr roff_line_ignore(ROFF_ARGS); |
static enum rofferr roff_line_ignore(ROFF_ARGS); |
static void roff_man_alloc1(struct roff_man *); |
static void roff_man_alloc1(struct roff_man *); |
static void roff_man_free1(struct roff_man *); |
static void roff_man_free1(struct roff_man *); |
|
static enum rofferr roff_manyarg(ROFF_ARGS); |
static enum rofferr roff_nr(ROFF_ARGS); |
static enum rofferr roff_nr(ROFF_ARGS); |
static enum rofferr roff_onearg(ROFF_ARGS); |
static enum rofferr roff_onearg(ROFF_ARGS); |
static enum roff_tok roff_parse(struct roff *, char *, int *, |
static enum roff_tok roff_parse(struct roff *, char *, int *, |
Line 211 static enum rofferr roff_userdef(ROFF_ARGS); |
|
Line 212 static enum rofferr roff_userdef(ROFF_ARGS); |
|
#define ROFFNUM_WHITE (1 << 1) /* Skip whitespace in roff_evalnum(). */ |
#define ROFFNUM_WHITE (1 << 1) /* Skip whitespace in roff_evalnum(). */ |
|
|
const char *__roff_name[MAN_MAX + 1] = { |
const char *__roff_name[MAN_MAX + 1] = { |
"br", "ft", NULL, |
"br", "ft", "ll", "sp", |
|
"ta", "ti", NULL, |
"ab", "ad", "af", "aln", |
"ab", "ad", "af", "aln", |
"als", "am", "am1", "ami", |
"als", "am", "am1", "ami", |
"ami1", "as", "as1", "asciify", |
"ami1", "as", "as1", "asciify", |
Line 261 const char *__roff_name[MAN_MAX + 1] = { |
|
Line 263 const char *__roff_name[MAN_MAX + 1] = { |
|
"shc", "shift", "sizes", "so", |
"shc", "shift", "sizes", "so", |
"spacewidth", "special", "spreadwarn", "ss", |
"spacewidth", "special", "spreadwarn", "ss", |
"sty", "substring", "sv", "sy", |
"sty", "substring", "sv", "sy", |
"T&", "ta", "tc", "TE", |
"T&", "tc", "TE", |
"TH", "ti", "tkf", "tl", |
"TH", "tkf", "tl", |
"tm", "tm1", "tmc", "tr", |
"tm", "tm1", "tmc", "tr", |
"track", "transchar", "trf", "trimat", |
"track", "transchar", "trf", "trimat", |
"trin", "trnt", "troff", "TS", |
"trin", "trnt", "troff", "TS", |
Line 301 const char *__roff_name[MAN_MAX + 1] = { |
|
Line 303 const char *__roff_name[MAN_MAX + 1] = { |
|
"Fr", "Ud", "Lb", "Lp", |
"Fr", "Ud", "Lb", "Lp", |
"Lk", "Mt", "Brq", "Bro", |
"Lk", "Mt", "Brq", "Bro", |
"Brc", "%C", "Es", "En", |
"Brc", "%C", "Es", "En", |
"Dx", "%Q", "sp", |
"Dx", "%Q", "%U", "Ta", |
"%U", "Ta", "ll", NULL, |
NULL, |
"TH", "SH", "SS", "TP", |
"TH", "SH", "SS", "TP", |
"LP", "PP", "P", "IP", |
"LP", "PP", "P", "IP", |
"HP", "SM", "SB", "BI", |
"HP", "SM", "SB", "BI", |
"IB", "BR", "RB", "R", |
"IB", "BR", "RB", "R", |
"B", "I", "IR", "RI", |
"B", "I", "IR", "RI", |
"sp", "nf", "fi", |
"nf", "fi", |
"RE", "RS", "DT", "UC", |
"RE", "RS", "DT", "UC", |
"PD", "AT", "in", |
"PD", "AT", "in", |
"OP", "EX", "EE", "UR", |
"OP", "EX", "EE", "UR", |
"UE", "ll", NULL |
"UE", NULL |
}; |
}; |
const char *const *roff_name = __roff_name; |
const char *const *roff_name = __roff_name; |
|
|
static struct roffmac roffs[TOKEN_NONE] = { |
static struct roffmac roffs[TOKEN_NONE] = { |
{ roff_br, NULL, NULL, 0 }, /* br */ |
{ roff_br, NULL, NULL, 0 }, /* br */ |
{ roff_onearg, NULL, NULL, 0 }, /* ft */ |
{ roff_onearg, NULL, NULL, 0 }, /* ft */ |
|
{ roff_onearg, NULL, NULL, 0 }, /* ll */ |
|
{ roff_onearg, NULL, NULL, 0 }, /* sp */ |
|
{ roff_manyarg, NULL, NULL, 0 }, /* ta */ |
|
{ roff_onearg, NULL, NULL, 0 }, /* ti */ |
{ NULL, NULL, NULL, 0 }, /* ROFF_MAX */ |
{ NULL, NULL, NULL, 0 }, /* ROFF_MAX */ |
{ roff_unsupp, NULL, NULL, 0 }, /* ab */ |
{ roff_unsupp, NULL, NULL, 0 }, /* ab */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* ad */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* ad */ |
Line 517 static struct roffmac roffs[TOKEN_NONE] = { |
|
Line 523 static struct roffmac roffs[TOKEN_NONE] = { |
|
{ roff_line_ignore, NULL, NULL, 0 }, /* sv */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* sv */ |
{ roff_insec, NULL, NULL, 0 }, /* sy */ |
{ roff_insec, NULL, NULL, 0 }, /* sy */ |
{ roff_T_, NULL, NULL, 0 }, /* T& */ |
{ roff_T_, NULL, NULL, 0 }, /* T& */ |
{ roff_unsupp, NULL, NULL, 0 }, /* ta */ |
|
{ roff_unsupp, NULL, NULL, 0 }, /* tc */ |
{ roff_unsupp, NULL, NULL, 0 }, /* tc */ |
{ roff_TE, NULL, NULL, 0 }, /* TE */ |
{ roff_TE, NULL, NULL, 0 }, /* TE */ |
{ roff_TH, NULL, NULL, 0 }, /* TH */ |
{ roff_TH, NULL, NULL, 0 }, /* TH */ |
{ roff_unsupp, NULL, NULL, 0 }, /* ti */ |
|
{ roff_line_ignore, NULL, NULL, 0 }, /* tkf */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* tkf */ |
{ roff_unsupp, NULL, NULL, 0 }, /* tl */ |
{ roff_unsupp, NULL, NULL, 0 }, /* tl */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* tm */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* tm */ |
Line 2788 roff_onearg(ROFF_ARGS) |
|
Line 2792 roff_onearg(ROFF_ARGS) |
|
r->parse, ln, cp - buf->buf, |
r->parse, ln, cp - buf->buf, |
"%s ... %s", roff_name[tok], cp); |
"%s ... %s", roff_name[tok], cp); |
roff_word_alloc(r->man, ln, pos, buf->buf + pos); |
roff_word_alloc(r->man, ln, pos, buf->buf + pos); |
|
} |
|
|
|
n->flags |= NODE_LINE | NODE_VALID | NODE_ENDED; |
|
r->man->last = n; |
|
r->man->next = ROFF_NEXT_SIBLING; |
|
return ROFF_IGN; |
|
} |
|
|
|
static enum rofferr |
|
roff_manyarg(ROFF_ARGS) |
|
{ |
|
struct roff_node *n; |
|
char *sp, *ep; |
|
|
|
roff_elem_alloc(r->man, ln, ppos, tok); |
|
n = r->man->last; |
|
|
|
for (sp = ep = buf->buf + pos; *sp != '\0'; sp = ep) { |
|
while (*ep != '\0' && *ep != ' ') |
|
ep++; |
|
while (*ep == ' ') |
|
*ep++ = '\0'; |
|
roff_word_alloc(r->man, ln, sp - buf->buf, sp); |
} |
} |
|
|
n->flags |= NODE_LINE | NODE_VALID | NODE_ENDED; |
n->flags |= NODE_LINE | NODE_VALID | NODE_ENDED; |