version 1.7, 2009/07/20 13:45:11 |
version 1.11, 2010/01/07 19:10:09 |
|
|
.Nd man macro compiler library |
.Nd man macro compiler library |
.\" SECTION |
.\" SECTION |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Fd #include <man.h> |
.In man.h |
.Vt extern const char * const * man_macronames; |
.Vt extern const char * const * man_macronames; |
.Ft "struct man *" |
.Ft "struct man *" |
.Fn man_alloc "void *data" "int pflags" "const struct man_cb *cb" |
.Fn man_alloc "void *data" "int pflags" "const struct man_cb *cb" |
Line 220 where capitalised non-terminals represent nodes. |
|
Line 220 where capitalised non-terminals represent nodes. |
|
.It ROOT |
.It ROOT |
\(<- mnode+ |
\(<- mnode+ |
.It mnode |
.It mnode |
\(<- ELEMENT | TEXT |
\(<- ELEMENT | TEXT | BLOCK |
|
.It BLOCK |
|
\(<- HEAD BODY |
|
.It HEAD |
|
\(<- mnode* |
|
.It BODY |
|
\(<- mnode* |
.It ELEMENT |
.It ELEMENT |
\(<- ELEMENT | TEXT* |
\(<- ELEMENT | TEXT* |
.It TEXT |
.It TEXT |
|
|
man = man_alloc(NULL, 0, NULL); |
man = man_alloc(NULL, 0, NULL); |
|
|
while ((buf = fgetln(fp, &len))) { |
while ((buf = fgetln(fp, &len))) { |
buf[len - 1] = '\\0'; |
buf[len - 1] = '\e0'; |
if ( ! man_parseln(man, line, buf)) |
if ( ! man_parseln(man, line, buf)) |
errx(1, "man_parseln"); |
errx(1, "man_parseln"); |
line++; |
line++; |