=== Introduction === DDT-Tcl is a Tcl extension which improves the performance of DDT's source code generator. It is an optional component of DDT; if the extension is present, DDT will automatically use the built-in commands provided by the extension instead of the equivalent Tcl procs. At present, DDT-Tcl provides two built-in commands: "random", DDT's random number generator, and "expand", DDT's grammar expander. === Build Notes === In terms of its implementation, DDT-Tcl is a typical Tcl extension, written in vanilla C. It should build without trouble on any Tcl platform....once you've put together a working Makefile. Unfortunately, a configure script is not (yet?) provided with DDT-Tcl. Instead, the Makefile provided with the kit was tailored by hand, starting from a copy of the Makefile generated by Tk's configure script on a Digital UNIX 3.2 system. Consequently, you will need to tailor the DDT-Tcl Makefile by hand to suit your particular platform and site. On a typical UNIX system, the trickiest part will center around building the shared library. You can build DDT-Tcl as a Tcl 7.4 extension or a Tcl 7.5 extension. The only real distinction is whether DDT-Tcl should register itself as a Tcl package. If it should, you must arrange to #define TCL_PACKAGES. Since packages were introduced in Tcl 7.5, and are not normally available in Tcl 7.4, you'll typically arrange to #define TCL_PACKAGES for Tcl 7.5 only. All told, there are four possible build products: the DDT-Tcl extension as a static library (libDDT.a), the DDT-Tcl extension as a shared library (libDDT.so), a Tcl interpreter with DDT-Tcl built-in (ddt-tclsh), and a Tcl interpreter with both Tk and DDT-Tcl built-in (ddt-wish). === Installation === Installation is presently done by hand. Place the DDT-Tcl libraries and headers alongside your other Tcl extension libraries and headers (such as the ones for Tk), and place the interpreters alongside your other Tcl interpreters (such as tclsh and wish). === Further Information === For further information, please consult the DDT README file. Among other things, the DDT README file discusses the DDT mailing lists, how to report bugs, and how to contact the core DDT development team.