version 1.51, 2014/03/08 15:50:41 |
version 1.53, 2014/07/02 07:10:38 |
Line 36 static void print_mdoc(const struct mdoc_node *, int); |
|
Line 36 static void print_mdoc(const struct mdoc_node *, int); |
|
static void print_span(const struct tbl_span *, int); |
static void print_span(const struct tbl_span *, int); |
|
|
|
|
/* ARGSUSED */ |
|
void |
void |
tree_mdoc(void *arg, const struct mdoc *mdoc) |
tree_mdoc(void *arg, const struct mdoc *mdoc) |
{ |
{ |
Line 44 tree_mdoc(void *arg, const struct mdoc *mdoc) |
|
Line 43 tree_mdoc(void *arg, const struct mdoc *mdoc) |
|
print_mdoc(mdoc_node(mdoc), 0); |
print_mdoc(mdoc_node(mdoc), 0); |
} |
} |
|
|
|
|
/* ARGSUSED */ |
|
void |
void |
tree_man(void *arg, const struct man *man) |
tree_man(void *arg, const struct man *man) |
{ |
{ |
Line 53 tree_man(void *arg, const struct man *man) |
|
Line 50 tree_man(void *arg, const struct man *man) |
|
print_man(man_node(man), 0); |
print_man(man_node(man), 0); |
} |
} |
|
|
|
|
static void |
static void |
print_mdoc(const struct mdoc_node *n, int indent) |
print_mdoc(const struct mdoc_node *n, int indent) |
{ |
{ |
Line 67 print_mdoc(const struct mdoc_node *n, int indent) |
|
Line 63 print_mdoc(const struct mdoc_node *n, int indent) |
|
t = p = NULL; |
t = p = NULL; |
|
|
switch (n->type) { |
switch (n->type) { |
case (MDOC_ROOT): |
case MDOC_ROOT: |
t = "root"; |
t = "root"; |
break; |
break; |
case (MDOC_BLOCK): |
case MDOC_BLOCK: |
t = "block"; |
t = "block"; |
break; |
break; |
case (MDOC_HEAD): |
case MDOC_HEAD: |
t = "block-head"; |
t = "block-head"; |
break; |
break; |
case (MDOC_BODY): |
case MDOC_BODY: |
if (n->end) |
if (n->end) |
t = "body-end"; |
t = "body-end"; |
else |
else |
t = "block-body"; |
t = "block-body"; |
break; |
break; |
case (MDOC_TAIL): |
case MDOC_TAIL: |
t = "block-tail"; |
t = "block-tail"; |
break; |
break; |
case (MDOC_ELEM): |
case MDOC_ELEM: |
t = "elem"; |
t = "elem"; |
break; |
break; |
case (MDOC_TEXT): |
case MDOC_TEXT: |
t = "text"; |
t = "text"; |
break; |
break; |
case (MDOC_TBL): |
case MDOC_TBL: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_EQN): |
case MDOC_EQN: |
break; |
break; |
default: |
default: |
abort(); |
abort(); |
Line 101 print_mdoc(const struct mdoc_node *n, int indent) |
|
Line 97 print_mdoc(const struct mdoc_node *n, int indent) |
|
} |
} |
|
|
switch (n->type) { |
switch (n->type) { |
case (MDOC_TEXT): |
case MDOC_TEXT: |
p = n->string; |
p = n->string; |
break; |
break; |
case (MDOC_BODY): |
case MDOC_BODY: |
p = mdoc_macronames[n->tok]; |
p = mdoc_macronames[n->tok]; |
break; |
break; |
case (MDOC_HEAD): |
case MDOC_HEAD: |
p = mdoc_macronames[n->tok]; |
p = mdoc_macronames[n->tok]; |
break; |
break; |
case (MDOC_TAIL): |
case MDOC_TAIL: |
p = mdoc_macronames[n->tok]; |
p = mdoc_macronames[n->tok]; |
break; |
break; |
case (MDOC_ELEM): |
case MDOC_ELEM: |
p = mdoc_macronames[n->tok]; |
p = mdoc_macronames[n->tok]; |
if (n->args) { |
if (n->args) { |
argv = n->args->argv; |
argv = n->args->argv; |
argc = n->args->argc; |
argc = n->args->argc; |
} |
} |
break; |
break; |
case (MDOC_BLOCK): |
case MDOC_BLOCK: |
p = mdoc_macronames[n->tok]; |
p = mdoc_macronames[n->tok]; |
if (n->args) { |
if (n->args) { |
argv = n->args->argv; |
argv = n->args->argv; |
argc = n->args->argc; |
argc = n->args->argc; |
} |
} |
break; |
break; |
case (MDOC_TBL): |
case MDOC_TBL: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_EQN): |
case MDOC_EQN: |
break; |
break; |
case (MDOC_ROOT): |
case MDOC_ROOT: |
p = "root"; |
p = "root"; |
break; |
break; |
default: |
default: |
Line 164 print_mdoc(const struct mdoc_node *n, int indent) |
|
Line 160 print_mdoc(const struct mdoc_node *n, int indent) |
|
putchar(' '); |
putchar(' '); |
if (MDOC_LINE & n->flags) |
if (MDOC_LINE & n->flags) |
putchar('*'); |
putchar('*'); |
printf("%d:%d", n->line, n->pos); |
printf("%d:%d", n->line, n->pos + 1); |
if (n->lastline != n->line) |
if (n->lastline != n->line) |
printf("-%d", n->lastline); |
printf("-%d", n->lastline); |
putchar('\n'); |
putchar('\n'); |
Line 176 print_mdoc(const struct mdoc_node *n, int indent) |
|
Line 172 print_mdoc(const struct mdoc_node *n, int indent) |
|
print_mdoc(n->next, indent); |
print_mdoc(n->next, indent); |
} |
} |
|
|
|
|
static void |
static void |
print_man(const struct man_node *n, int indent) |
print_man(const struct man_node *n, int indent) |
{ |
{ |
Line 186 print_man(const struct man_node *n, int indent) |
|
Line 181 print_man(const struct man_node *n, int indent) |
|
t = p = NULL; |
t = p = NULL; |
|
|
switch (n->type) { |
switch (n->type) { |
case (MAN_ROOT): |
case MAN_ROOT: |
t = "root"; |
t = "root"; |
break; |
break; |
case (MAN_ELEM): |
case MAN_ELEM: |
t = "elem"; |
t = "elem"; |
break; |
break; |
case (MAN_TEXT): |
case MAN_TEXT: |
t = "text"; |
t = "text"; |
break; |
break; |
case (MAN_BLOCK): |
case MAN_BLOCK: |
t = "block"; |
t = "block"; |
break; |
break; |
case (MAN_HEAD): |
case MAN_HEAD: |
t = "block-head"; |
t = "block-head"; |
break; |
break; |
case (MAN_BODY): |
case MAN_BODY: |
t = "block-body"; |
t = "block-body"; |
break; |
break; |
case (MAN_TAIL): |
case MAN_TAIL: |
t = "block-tail"; |
t = "block-tail"; |
break; |
break; |
case (MAN_TBL): |
case MAN_TBL: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MAN_EQN): |
case MAN_EQN: |
break; |
break; |
default: |
default: |
abort(); |
abort(); |
Line 217 print_man(const struct man_node *n, int indent) |
|
Line 212 print_man(const struct man_node *n, int indent) |
|
} |
} |
|
|
switch (n->type) { |
switch (n->type) { |
case (MAN_TEXT): |
case MAN_TEXT: |
p = n->string; |
p = n->string; |
break; |
break; |
case (MAN_ELEM): |
case MAN_ELEM: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MAN_BLOCK): |
case MAN_BLOCK: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MAN_HEAD): |
case MAN_HEAD: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MAN_TAIL): |
case MAN_TAIL: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MAN_BODY): |
case MAN_BODY: |
p = man_macronames[n->tok]; |
p = man_macronames[n->tok]; |
break; |
break; |
case (MAN_ROOT): |
case MAN_ROOT: |
p = "root"; |
p = "root"; |
break; |
break; |
case (MAN_TBL): |
case MAN_TBL: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MAN_EQN): |
case MAN_EQN: |
break; |
break; |
default: |
default: |
abort(); |
abort(); |
Line 255 print_man(const struct man_node *n, int indent) |
|
Line 250 print_man(const struct man_node *n, int indent) |
|
printf("%s (%s) ", p, t); |
printf("%s (%s) ", p, t); |
if (MAN_LINE & n->flags) |
if (MAN_LINE & n->flags) |
putchar('*'); |
putchar('*'); |
printf("%d:%d\n", n->line, n->pos); |
printf("%d:%d\n", n->line, n->pos + 1); |
} |
} |
|
|
if (n->child) |
if (n->child) |
Line 277 print_box(const struct eqn_box *ep, int indent) |
|
Line 272 print_box(const struct eqn_box *ep, int indent) |
|
|
|
t = NULL; |
t = NULL; |
switch (ep->type) { |
switch (ep->type) { |
case (EQN_ROOT): |
case EQN_ROOT: |
t = "eqn-root"; |
t = "eqn-root"; |
break; |
break; |
case (EQN_LIST): |
case EQN_LIST: |
t = "eqn-list"; |
t = "eqn-list"; |
break; |
break; |
case (EQN_SUBEXPR): |
case EQN_SUBEXPR: |
t = "eqn-expr"; |
t = "eqn-expr"; |
break; |
break; |
case (EQN_TEXT): |
case EQN_TEXT: |
t = "eqn-text"; |
t = "eqn-text"; |
break; |
break; |
case (EQN_MATRIX): |
case EQN_MATRIX: |
t = "eqn-matrix"; |
t = "eqn-matrix"; |
break; |
break; |
} |
} |
|
|
assert(t); |
assert(t); |
printf("%s(%d, %d, %d, %d, %d, \"%s\", \"%s\") %s\n", |
printf("%s(%d, %d, %d, %d, %d, \"%s\", \"%s\") %s\n", |
t, EQN_DEFSIZE == ep->size ? 0 : ep->size, |
t, EQN_DEFSIZE == ep->size ? 0 : ep->size, |
ep->pos, ep->font, ep->mark, ep->pile, |
ep->pos + 1, ep->font, ep->mark, ep->pile, |
ep->left ? ep->left : "", |
ep->left ? ep->left : "", |
ep->right ? ep->right : "", |
ep->right ? ep->right : "", |
ep->text ? ep->text : ""); |
ep->text ? ep->text : ""); |
|
|
print_box(ep->first, indent + 1); |
print_box(ep->first, indent + 1); |
print_box(ep->next, indent); |
print_box(ep->next, indent); |
Line 316 print_span(const struct tbl_span *sp, int indent) |
|
Line 311 print_span(const struct tbl_span *sp, int indent) |
|
putchar('\t'); |
putchar('\t'); |
|
|
switch (sp->pos) { |
switch (sp->pos) { |
case (TBL_SPAN_HORIZ): |
case TBL_SPAN_HORIZ: |
putchar('-'); |
putchar('-'); |
return; |
return; |
case (TBL_SPAN_DHORIZ): |
case TBL_SPAN_DHORIZ: |
putchar('='); |
putchar('='); |
return; |
return; |
default: |
default: |
Line 328 print_span(const struct tbl_span *sp, int indent) |
|
Line 323 print_span(const struct tbl_span *sp, int indent) |
|
|
|
for (dp = sp->first; dp; dp = dp->next) { |
for (dp = sp->first; dp; dp = dp->next) { |
switch (dp->pos) { |
switch (dp->pos) { |
case (TBL_DATA_HORIZ): |
case TBL_DATA_HORIZ: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (TBL_DATA_NHORIZ): |
case TBL_DATA_NHORIZ: |
putchar('-'); |
putchar('-'); |
continue; |
continue; |
case (TBL_DATA_DHORIZ): |
case TBL_DATA_DHORIZ: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (TBL_DATA_NDHORIZ): |
case TBL_DATA_NDHORIZ: |
putchar('='); |
putchar('='); |
continue; |
continue; |
default: |
default: |