[comp.lang.modula3] Modula-3 toolkit

mjordan@src.dec.com (Mick Jordan) (05/12/91)

The Modula-3 toolkit, a development of the otherwise defunct Olivetti
Modula-3 implemention, is now available via ftp from gatekeeper.dec.com.
The code-generation and run-time aspects of the Olivetti implementation
have been removed and the toolkit has been altered to be compatible
with the conventions assumed by the SRC compiler.  The system is made
available under the same licence terms as the SRC compiler.  In addition
the original Olivetti sources are covered by a separate,
non-restrictive, copyright notice.

The toolkit is designed to support the creation of Modula-3 program
development tools and is structured around a compiler front-end 
which uses a public Abstract Syntax Tree (AST) to represent program
source. A description of the system can be found in:

  "An Extensible Programming Environment for Modula-3", Mick Jordan,
  Proceedings of the Fourth ACM SIGSOFT Symposium on Software Development
  Environments, Software Engineering Notes, 15, 6, Dec 1990.

A number of tools are provided with the toolkit, vis:

  * A compiler front-end (syntax/semantic analysis), with optional
    checks for unused variables, uncaught exceptions, etc. The compiler
    can compile multiple sources in one invocation and compiles each
    interface once only.

  * A tool to generate skeleton modules from interfaces.

  * A tool to build parameterised interfaces and modules from a generic 
    specification. (Useful to experiment with generics in the interim).

  * A Makefile generator for Modula-3 libraries and applications.

  * A tool that is a step towards an integrated, incremental program
    development environment for Modula-3. It includes the compiler
    front end, a tool to scan the file system for source file changes
    and recompile changed (and dependent) units, a pre-linker to analyse
    a program for completeness, a primitive browser and the Makefile
    generator.

The toolkit is designed to be extensible, by virtue of the AST
and a collection of reusable compiler components. I expect to add more
tools over time, and hope that others will be motivated to do so. 

The toolkit is stored in the directory /pub/DEC/Modula-3/m3tk in the
file dist-1.0.tar.Z.  Follow the same general instructions as per SRC
Modula-3 to extract the distribution into a clean directory called, say,
'm3tk', and then read the file m3tk/dist-1.0/m3tk-install.notes.
This file is also stored in /pub/DEC/Modula-3/m3tk/README.

To make effective use of the tools you need a machine with at least
12Mb of main memory, preferably more. I run it on DECstation 3100/5100s
and it has been tested on IBM kit (thanks to Dick Orgass) and on a
Sparcstation (thanks for David Goldberg). I am reasonably confident
that it will run on other systems without problems.

Mick Jordan