- From: Joe English <jenglish@crl.com>
- Date: Fri, 30 May 1997 11:08:39 -0700
- To: w3c-sgml-wg@w3.org
lee@sq.com wrote: > All of these uses [of parameter entities] can be achieved with a > preprocessor such as M4 if > you like, but then people can't easily exchange DTDs unless they are > all using M4. And if they are all using the exact same version of M4. Not all versions work the same way, as I have recently discovered (much to my dismay). > A preprocessor such as M4 is a much, much cleaner way of handling all of > these things, I think, and does not in any way break SGML compliance as > long as the preprocessed document is an SGML document. Perhaps a preprocessor *like* M4 would be cleaner, but certainly not M4 itself. Whenever I use M4, I include code at the beginning of each source file to undefine or redefine many of M4's builtin macros. (Run this paragraph through M4 to see why.) M4's biggest problem is that there is no lexical distinction between macro invocations (markup) and plain text (data). This leads to unpredictable results. Its second biggest problem is that the macro expansion process is too eager. ``Quoting hell'' in Tcl is nothing compared to m4. --Joe English jenglish@crl.com
Received on Friday, 30 May 1997 14:20:18 UTC