help / color / mirror / Atom feed
* mandoc(3) re-write experiment time
@ 2012-08-15 15:28 Kristaps Dzonsons
  0 siblings, 0 replies; only message in thread
From: Kristaps Dzonsons @ 2012-08-15 15:28 UTC (permalink / raw)
  To: tech

[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]

Hello folks,

Enclosed is a tarball of a bare-bones mandoc(3) re-write addressing some 
long-standing issues.  DON'T PANIC!!11!!  This is just an experiment in 
design.  In short, I wanted to significantly increase roff(7) cutting 
power while redressing

  1. the illusion that roff(7) and mdoc(7)/man(7) parsing can be 
separated without severe roff(7) limitations; and

  2. the unnecessary (?) separation of mdoc(7) and man(7) ASTs, when 
man(7) could be fit into a single AST.

Some minor points are support for wchar_t, gzip'd files, recursive (and 
not reentrant) parsing, unified table routines (espie@'s ohash), and 
neatly parsed line arguments for macro handlers.

The README file lays out the file structure, general methodology, and 
implemented macros (only roff(7) right now).

If (and this is a huge, monstrous, overarching IF) this ends up being 
palatable, I'd have it produce an AST such that the front-ends could 
stay more-or-less as they are.  In other words, while I can envision a 
core re-write, the very concept of re-writing -Tascii drives me to a 
choking despair.  Somewhere in Germany, schwarze@ is filled with dread 
when I write the words "-Tascii rewrite". ;)

Anyway, over the next few weeks I'll bring in some mdoc(7) and man(7) 
support, both of which will output to a unified AST.  I'll post the 
resulting tarball here when I've done so.




[-- Attachment #2: mdocml2.tar.gz --]
[-- Type: application/x-gzip, Size: 19042 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-08-15 15:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-15 15:28 mandoc(3) re-write experiment time Kristaps Dzonsons

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).