| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
found while syncing to OpenBSD
|
|
|
|
| |
list are delimited by their "aboveness" and it's superfluous.
|
| |
|
|
|
|
|
|
|
|
| |
CACM paper in an LR(1) parse (1 -> eqn_rewind()). Right now the code is
a little jungly, but will clear up as I consolidate parse components.
The AST structure will also be cleaned up, as right now it's pretty ad
hoc (this won't change the parse itself). I added the mandoc_strndup()
function will here.
|
|
|
|
| |
effect.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
these in the front-ends except for -Ttree, which will display the parsed
tree.
While here, fix that quoted strings aren't scanned for replacement parts.
|
|
|
|
| |
used for `RE'.
|
|
|
|
| |
statements in the post-handler for EQN in -mdoc and -man.
|
|
|
|
| |
the adding itself is implemented; equation data is not yet shown.
|
| |
|
|
|
|
|
| |
directives. For now this will just ignore them (except for -Ttree,
which just notes that an EQN's been accepted).
|
|
|
|
|
|
|
|
|
|
|
|
| |
always hold, which cleans up the table stuff a bit.
Second, set a "spans" value per data cell consisting of the number of
skipped TBL_CELL_SPAN layout cells.
Third, make tbl_term.c understand how to skip over spanned sections when
iterating over the header queue.
What remains is to calculate the widths of spanned cells.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for front-ends to make decisions about widths, not the back-end.
To pull this off, first make each tbl_head contain a unique index value
(0 <= index < total tbl_head elements) and remove the tbl_calc() routine
from the back-end.
Then, when encountering the first tbl_span in the front-end, dynamically
create an array of configurations (termp_tbl) keyed on each tbl_head's
unique index value. Construct the decimals and widths at this time,
then continue parsing as before.
The termp_tbl and indexes are required because we pass a const tbl AST
into the front-end.
|
|
|
|
| |
header stuff.
|
|
|
|
| |
with a little star next to the entry (yeah, this is mostly for testing).
|
|
|
|
| |
tables a little bit smarter.
|
| |
|
|
|
|
| |
Add forgotten assignment of span to -man's TBL nodes.
|
| |
|
|
|
|
|
|
|
|
|
| |
roff_getstr() family of functions into roff.c with the "first_string"
directly in struct roff. Second, pre-process each line for reserved
words in libroff, splicing and re-running a line if it has one (this
allows defined symbols to be macros). Remove term.c's invocation of the
roff_getstrn() function. Removed function documentation in roff.3 and
added roff.7 `ds' documentation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the Rostock mandoc hackathon and tested and polished since,
supporting constructs like:
.Ao Bo Ac Bc (exp breaking exp)
.Aq Bo eol Bc (imp breaking exp)
.Ao Bq Ac eol (exp breaking imp)
.Ao Bo So Bc Ac Sc (double break, inner before outer)
.Ao Bo So Ac Bc Sc (double break, outer before inner)
.Ao Bo Ac So Bc Sc (broken breaker)
.Ao Bo So Bc Do Ac Sc Dc (broken double breaker)
There are still two known issues which are tricky:
1) Breaking two identical explicit blocks (Ao Bo Bo Ac or Aq Bo Bo eol)
fails outright, triggering a bogus syntax error.
2) Breaking a block by two identical explicit blocks (Ao Ao Bo Ac Ac Bc
or Ao Ao Bq Ac Ac eol) still has a minor rendering error left:
"<ao1 <ao2 [bo ac2> ac1> bc]>" should not have the final ">".
We can fix these later in the tree, let's not grow this diff too large.
"get it in" kristaps@
|
|
|
|
| |
const struct regset pointer. No functionality.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
stringified in main.c.
Allow `An' to handle an argument and child (with a warning).
Allow `Rv' and `Ex' to work without a prior `Nm' as groff does (with a
warning).
Allow inconsistent column syntax to only raise a warning.
|
|
|
|
| |
architectures. Thanks to Joerg Sonnenberger.
|
|
|
|
| |
Removed err.h from inclusions (less main.c--still in progress).
|
| |
|
|
|
|
| |
Pushed terminal_{mdoc,man} into {mdoc,man}_term.c.
|
|
|
|
| |
Put err() functions back into front-ends (no use making it needlessly complex).
|
|
|
|
|
|
|
|
| |
next-line scope extensions possible). man.7 reflects block and line scoping,
and also includes a REFERENCE section that will be used as a template for the
big mdoc reference. Many fixes in next-line behaviour for both inline and
block macros. Added some macros for compatibility (from me.7). Corrected
quoted-literal handling for libman.
|
| |
|
| |
|
|
|
|
| |
Array boundary fixed (-W).
|
| |
|
| |
|
|
|
|
|
|
| |
Abstracted output with -T selector (default ascii).
Name change: mdocterm -> mandoc.
Re-imported tree with -Ttree.
|
|
|
|
|
|
| |
term.c -> mdocterm.c
tree.c -> mdoctree.c
Fixed/finished mmain.h.
|
|
|
|
| |
Escape-recognition term.c.
|
| |
|
|
|
|
| |
Added initial terminal-output filter (term.c).
|
| |
|
| |
|
|
Finished mdoc.3.
Broken build: mdocml.c.
|