Wbuild is a tool for the widget writer. It has three goals: (1) making
widget writing easier, (2) making it more object-oriented, and (3)
encouraging `literate programming'.  It does this in the same way that
yacc helps in writing compilers: it lets the programmer write code
that is close to the concepts in his head. With yacc the concept is
grammar-rules, with Wbuild it is OOP.

The input to Wbuild is an object-oriented description of a widget.
There are sections for private and public variables, methods, private
functions, etc. But all the structs, macros, header files and
functions that are needed to trick C into object-orientedness remain
hidden. Inheritance is automatic, which means that one has to write
only the code that makes a widget different from its superclass. Even
the manual is created automatically.  Documentation can be written
directly into the source. Documentation and code are formatted
together with nroff or TeX.
