version 1.32, 2011/07/23 12:01:54 |
version 1.35, 2011/07/23 13:31:03 |
|
|
EQN_UNDEF, |
EQN_UNDEF, |
EQN_GFONT, |
EQN_GFONT, |
EQN_GSIZE, |
EQN_GSIZE, |
|
EQN_BACK, |
|
EQN_FWD, |
|
EQN_UP, |
|
EQN_DOWN, |
EQN__MAX |
EQN__MAX |
}; |
}; |
|
|
Line 140 static struct eqn_def *eqn_def_find(struct eqn_node *, |
|
Line 144 static struct eqn_def *eqn_def_find(struct eqn_node *, |
|
static int eqn_do_gfont(struct eqn_node *); |
static int eqn_do_gfont(struct eqn_node *); |
static int eqn_do_gsize(struct eqn_node *); |
static int eqn_do_gsize(struct eqn_node *); |
static int eqn_do_define(struct eqn_node *); |
static int eqn_do_define(struct eqn_node *); |
static int eqn_do_set(struct eqn_node *); |
static int eqn_do_ign1(struct eqn_node *); |
|
static int eqn_do_ign2(struct eqn_node *); |
static int eqn_do_undef(struct eqn_node *); |
static int eqn_do_undef(struct eqn_node *); |
static enum eqn_rest eqn_eqn(struct eqn_node *, struct eqn_box *); |
static enum eqn_rest eqn_eqn(struct eqn_node *, struct eqn_box *); |
static enum eqn_rest eqn_list(struct eqn_node *, struct eqn_box *); |
static enum eqn_rest eqn_list(struct eqn_node *, struct eqn_box *); |
Line 153 static void eqn_rewind(struct eqn_node *); |
|
Line 158 static void eqn_rewind(struct eqn_node *); |
|
|
|
static const struct eqnpart eqnparts[EQN__MAX] = { |
static const struct eqnpart eqnparts[EQN__MAX] = { |
{ { "define", 6 }, eqn_do_define }, /* EQN_DEFINE */ |
{ { "define", 6 }, eqn_do_define }, /* EQN_DEFINE */ |
{ { "set", 3 }, eqn_do_set }, /* EQN_SET */ |
{ { "set", 3 }, eqn_do_ign2 }, /* EQN_SET */ |
{ { "undef", 5 }, eqn_do_undef }, /* EQN_UNDEF */ |
{ { "undef", 5 }, eqn_do_undef }, /* EQN_UNDEF */ |
{ { "gfont", 5 }, eqn_do_gfont }, /* EQN_GFONT */ |
{ { "gfont", 5 }, eqn_do_gfont }, /* EQN_GFONT */ |
{ { "gsize", 5 }, eqn_do_gsize }, /* EQN_GSIZE */ |
{ { "gsize", 5 }, eqn_do_gsize }, /* EQN_GSIZE */ |
|
{ { "back", 4 }, eqn_do_ign1 }, /* EQN_BACK */ |
|
{ { "fwd", 3 }, eqn_do_ign1 }, /* EQN_FWD */ |
|
{ { "up", 2 }, eqn_do_ign1 }, /* EQN_UP */ |
|
{ { "down", 4 }, eqn_do_ign1 }, /* EQN_DOWN */ |
}; |
}; |
|
|
static const struct eqnstr eqnmarks[EQNMARK__MAX] = { |
static const struct eqnstr eqnmarks[EQNMARK__MAX] = { |
Line 175 static const struct eqnstr eqnfonts[EQNFONT__MAX] = { |
|
Line 184 static const struct eqnstr eqnfonts[EQNFONT__MAX] = { |
|
{ "", 0 }, /* EQNFONT_NONE */ |
{ "", 0 }, /* EQNFONT_NONE */ |
{ "roman", 5 }, /* EQNFONT_ROMAN */ |
{ "roman", 5 }, /* EQNFONT_ROMAN */ |
{ "bold", 4 }, /* EQNFONT_BOLD */ |
{ "bold", 4 }, /* EQNFONT_BOLD */ |
|
{ "fat", 3 }, /* EQNFONT_FAT */ |
{ "italic", 6 }, /* EQNFONT_ITALIC */ |
{ "italic", 6 }, /* EQNFONT_ITALIC */ |
}; |
}; |
|
|
Line 275 eqn_read(struct eqn_node **epp, int ln, |
|
Line 285 eqn_read(struct eqn_node **epp, int ln, |
|
* validate the full equation. |
* validate the full equation. |
*/ |
*/ |
|
|
if (0 == strcmp(p, ".EN")) { |
if (0 == strncmp(p, ".EN", 3)) { |
er = eqn_end(ep); |
er = eqn_end(ep); |
*epp = NULL; |
*epp = NULL; |
|
p += 3; |
|
while (' ' == *p || '\t' == *p) |
|
p++; |
|
if ('\0' == *p) |
|
return(er); |
|
mandoc_msg(MANDOCERR_ARGSLOST, ep->parse, ln, pos, NULL); |
return(er); |
return(er); |
} |
} |
|
|
Line 464 eqn_box(struct eqn_node *ep, struct eqn_box *last) |
|
Line 480 eqn_box(struct eqn_node *ep, struct eqn_box *last) |
|
return(EQN_DESCOPE); |
return(EQN_DESCOPE); |
else if (STRNEQ(start, sz, "above", 5)) |
else if (STRNEQ(start, sz, "above", 5)) |
return(EQN_DESCOPE); |
return(EQN_DESCOPE); |
|
else if (STRNEQ(start, sz, "mark", 4)) |
|
return(EQN_OK); |
|
else if (STRNEQ(start, sz, "lineup", 6)) |
|
return(EQN_OK); |
|
|
for (i = 0; i < (int)EQN__MAX; i++) { |
for (i = 0; i < (int)EQN__MAX; i++) { |
if ( ! EQNSTREQ(&eqnparts[i].str, start, sz)) |
if ( ! EQNSTREQ(&eqnparts[i].str, start, sz)) |
|
|
} |
} |
|
|
static int |
static int |
eqn_do_set(struct eqn_node *ep) |
eqn_do_ign1(struct eqn_node *ep) |
|
{ |
|
const char *start; |
|
|
|
if (NULL == (start = eqn_nextrawtok(ep, NULL))) |
|
EQN_MSG(MANDOCERR_EQNEOF, ep); |
|
else |
|
return(1); |
|
|
|
return(0); |
|
} |
|
|
|
static int |
|
eqn_do_ign2(struct eqn_node *ep) |
{ |
{ |
const char *start; |
const char *start; |
|
|