version 1.11, 2009/06/11 20:02:37 |
version 1.15, 2009/07/06 09:21:24 |
|
|
|
|
#include "libmdoc.h" |
#include "libmdoc.h" |
|
|
/* FIXME: .Fl, .Ar, .Cd handling of `|'. */ |
|
|
|
enum mwarn { |
enum mwarn { |
WIGNE, |
WIGNE, |
WIMPBRK, |
WIMPBRK, |
Line 74 static int swarn(struct mdoc *, enum mdoc_type, int, |
|
Line 72 static int swarn(struct mdoc *, enum mdoc_type, int, |
|
/* Central table of library: who gets parsed how. */ |
/* Central table of library: who gets parsed how. */ |
|
|
const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { |
const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { |
{ NULL, 0 }, /* \" */ |
{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED }, /* Ap */ |
{ in_line_eoln, MDOC_PROLOGUE }, /* Dd */ |
{ in_line_eoln, MDOC_PROLOGUE }, /* Dd */ |
{ in_line_eoln, MDOC_PROLOGUE }, /* Dt */ |
{ in_line_eoln, MDOC_PROLOGUE }, /* Dt */ |
{ in_line_eoln, MDOC_PROLOGUE }, /* Os */ |
{ in_line_eoln, MDOC_PROLOGUE }, /* Os */ |
Line 181 const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { |
|
Line 179 const struct mdoc_macro __mdoc_macros[MDOC_MAX] = { |
|
{ obsolete, 0 }, /* Fr */ |
{ obsolete, 0 }, /* Fr */ |
{ in_line_eoln, 0 }, /* Ud */ |
{ in_line_eoln, 0 }, /* Ud */ |
{ in_line_eoln, 0 }, /* Lb */ |
{ in_line_eoln, 0 }, /* Lb */ |
{ in_line_argn, MDOC_CALLABLE | MDOC_PARSED }, /* Ap */ |
|
{ in_line, 0 }, /* Lp */ |
{ in_line, 0 }, /* Lp */ |
{ in_line, MDOC_PARSED }, /* Lk */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Lk */ |
{ in_line, MDOC_PARSED }, /* Mt */ |
{ in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Mt */ |
{ blk_part_imp, MDOC_CALLABLE | MDOC_PARSED }, /* Brq */ |
{ blk_part_imp, MDOC_CALLABLE | MDOC_PARSED }, /* Brq */ |
{ blk_part_exp, MDOC_CALLABLE | MDOC_PARSED | MDOC_EXPLICIT }, /* Bro */ |
{ blk_part_exp, MDOC_CALLABLE | MDOC_PARSED | MDOC_EXPLICIT }, /* Bro */ |
{ blk_exp_close, MDOC_EXPLICIT | MDOC_CALLABLE | MDOC_PARSED }, /* Brc */ |
{ blk_exp_close, MDOC_EXPLICIT | MDOC_CALLABLE | MDOC_PARSED }, /* Brc */ |
Line 244 pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn |
|
Line 241 pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn |
|
break; |
break; |
} |
} |
assert(p); |
assert(p); |
return(mdoc_pwarn(mdoc, line, pos, WARN_SYNTAX, p)); |
return(mdoc_pwarn(mdoc, line, pos, p)); |
} |
} |
|
|
|
|
Line 289 swarn(struct mdoc *mdoc, enum mdoc_type type, |
|
Line 286 swarn(struct mdoc *mdoc, enum mdoc_type type, |
|
return(mdoc_perr(mdoc, line, pos, |
return(mdoc_perr(mdoc, line, pos, |
"%s scope breaks %s scope of %s", |
"%s scope breaks %s scope of %s", |
tt, t, n)); |
tt, t, n)); |
return(mdoc_pwarn(mdoc, line, pos, WARN_SYNTAX, |
return(mdoc_pwarn(mdoc, line, pos, |
"%s scope breaks %s scope of %s", |
"%s scope breaks %s scope of %s", |
tt, t, n)); |
tt, t, n)); |
} |
} |
Line 813 in_line(MACRO_PROT_ARGS) |
|
Line 810 in_line(MACRO_PROT_ARGS) |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Fl): |
case (MDOC_Fl): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
|
case (MDOC_Lk): |
|
/* FALLTHROUGH */ |
case (MDOC_Ar): |
case (MDOC_Ar): |
nc = 1; |
nc = 1; |
break; |
break; |
Line 868 in_line(MACRO_PROT_ARGS) |
|
Line 867 in_line(MACRO_PROT_ARGS) |
|
if ( ! mdoc_elem_alloc(mdoc, line, ppos, |
if ( ! mdoc_elem_alloc(mdoc, line, ppos, |
tok, arg)) |
tok, arg)) |
return(0); |
return(0); |
mdoc->next = MDOC_NEXT_SIBLING; |
if ( ! rew_last(mdoc, mdoc->last)) |
|
return(0); |
} else if ( ! nc && 0 == cnt) { |
} else if ( ! nc && 0 == cnt) { |
mdoc_argv_free(arg); |
mdoc_argv_free(arg); |
if ( ! pwarn(mdoc, line, ppos, WIGNE)) |
if ( ! pwarn(mdoc, line, ppos, WIGNE)) |
Line 923 in_line(MACRO_PROT_ARGS) |
|
Line 923 in_line(MACRO_PROT_ARGS) |
|
c = mdoc_elem_alloc(mdoc, line, ppos, tok, arg); |
c = mdoc_elem_alloc(mdoc, line, ppos, tok, arg); |
if (0 == c) |
if (0 == c) |
return(0); |
return(0); |
mdoc->next = MDOC_NEXT_SIBLING; |
if ( ! rew_last(mdoc, mdoc->last)) |
|
return(0); |
} else if ( ! nc && 0 == cnt) { |
} else if ( ! nc && 0 == cnt) { |
mdoc_argv_free(arg); |
mdoc_argv_free(arg); |
if ( ! pwarn(mdoc, line, ppos, WIGNE)) |
if ( ! pwarn(mdoc, line, ppos, WIGNE)) |