DYLAN Tools

d2c comes bundled with a variety of tools. Some of them are required for rebuilding d2c, like gen-makefile. Others are useful Dylan tools, like Melange and parsergen. Still others have nothing at all to do with Dylan or d2c. These tools are used by the Gwydion project for development, and we found it easiest to ship them with d2c. (Most of these tools are for making life with the RCS versioning system somewhat less painful)

elisp
This directory contains a Dylan mode for GNU Emacs and some other more trivial utilities.

mk-build-tree [-pplatforms.descr]
gen-makefile [-pplatforms.descr] [subdir]
These two scripts together comprise the entry points to the Makegen facility. This is tool which facilitates use of Make with Dylan programs, and also provides for arbitrary platform conditionalization of makefiles. Makegen uses the same platforms.descr file used by d2c to get platform specific parameters.

gen-makefile reads the file Defaults at the root of the build tree and the Makegen files in each subdirectory. Both of these files can contain arbitrary Perl code, but in practice are highly stylized. There is considerable user documentation in comments in the source. In addition to the file start comment, see the comments on the routines tagged "-- exported".

mk-build-tree creates a build tree using a source tree as a template, and populates it with Makefiles by calling gen-makefile.

Melange
Melange generates Dylan interfaces to C libraries more or less automatically by doing an analysis of the the .h header files.

parsergen
A simple LALR1 parser generator for Dylan, used by d2c and Melange.

synopsis [-exported] output-file input1 [input2..]
A tool which generates a synopsis (interface summary) of some Dylan sources. -exported means show only definitions that are exported, and - as an output-file means to use standard output..

make-exports
A tool which automatically generates Dylan module and library definition forms based on breadcrumbs in comments in the source code. See the source comments for more documentation.

versioner
This is an RCS-related tool. See also the win32-misc/ for windows RCS and unix compatibility scripts.

lisp2dylan
A program that provides a rough translation of Common Lisp into dylan.

Note: Melange and parsergen are written in Dylan. This means that you must have a working Dylan compiler in order to compile them. And you must have a compiled parsergen in order to compile the compiler. This circularity was originally bootstrapped by using Mindy, but the source distribution also includes the output Dylan files generated by these tools, so you don't actually need to run Melange and parsergen to build the system.


[ Dylan home page | mail to gwydion-group ]