If you study the pages on this website, you will see much of the html was
generated with macros. For example <!-- macro Foot
--> expands to about 40 lines of mostly boilerplate at the bottom of each
page. The macro themselves are written in Java. I
have not so far released this code to the public.

Much of the code in my programs I create with little custom programs that I call
stompers, programs that take simple input and generate
reams of Java bubblegum housekeeping code, e.g. to set up Listeners. This is a one
shot deal. I then maintain the generated code as if I had written it by hand. With
true macro processors, you never modify the output. You change the input and re-run
the macro generation.

If the inputs have not changed, the outputs will be the same. In order to avoid
false deltas, I use untouch, to redate the files back to their original
dates.