Dan's noweb tools
Literate programming is a programming discipline invented by
Don Knuth,
the fundamental tenet of which is that computer programs should be
presented mainly to be read by people, not to be read by a computer.
Code and documentation are interleaved in an order most appropriate
to human comprehension.
Literate programming is a great idea, but Knuth's own LP tools, WEB
and later CWEB, are pretty Byzantine and inflexible, and very fiddly.
A few other LP tools have sprung up, and the industry standard at this
point seems to be Norman Ramsey's noweb. I like
noweb a great deal; it's very flexible and easy to use. One product
of its flexiblity is the fact that I was easily able to write a few
tools to add functionality I needed.
These tools are:
- dpp, a pretty dumb pretty printer
for C and C++, designed to make output look like CWEB.
- fu, a replacement for noweb's
finduses program, giving you the ability to specify a regular
expression for identifiers.
- noweb-outline.el, a mode
for Emacs that allows you to easily navigate the chunk tree of your
program.
Go back to Dan's home page
Last updated 17 Feb 1999