version 1.24, 2009/03/26 16:23:22 |
version 1.25, 2009/03/27 14:56:15 |
Line 56 library parses lines of |
|
Line 56 library parses lines of |
|
.Xr mdoc 7 |
.Xr mdoc 7 |
input (and |
input (and |
.Em only |
.Em only |
mdoc) into an abstract syntax tree that generalises the semantic |
mdoc) into an abstract syntax tree (AST). |
annotation of its input. Common front-ends for |
|
.Nm |
|
are |
|
.Xr mdocterm 1 , |
|
.Xr mdoclint 1 |
|
and |
|
.Xr mdoctree 1 . |
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
In general, applications initiate a parsing sequence with |
In general, applications initiate a parsing sequence with |
Line 227 fields), its position in the tree (the |
|
Line 220 fields), its position in the tree (the |
|
.Va next |
.Va next |
and |
and |
.Va prev |
.Va prev |
fields) and type-specific data (the |
fields) and some type-specific data. |
.Va data |
|
field). |
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
The tree itself is arranged according to the following normal form, |
The tree itself is arranged according to the following normal form, |
|
|
int line; |
int line; |
|
|
line = 1; |
line = 1; |
mdoc = mdoc_alloc(NULL, NULL); |
mdoc = mdoc_alloc(NULL, 0, NULL); |
|
|
while ((buf = fgetln(fp, &len))) { |
while ((buf = fgetln(fp, &len))) { |
buf[len - 1] = '\\0'; |
buf[len - 1] = '\\0'; |