Lilith and Modula-2


Modula-2 Compiler Sources
Related Dissertations
Further Reading
Other Links


The programming language Modula-2 was authored by Professor Niklaus Wirth of the Institut fur Informatik of the Swiss Federal Institute of Technology (ETH) in 1979. A joint software / hardware project, in conjunction with the language development produced the advanced programmers' workstation Lilith in 1980. Software developed for the Lilith computer included a compiler, operating system, text and graphic editors and other support software:

  • ETH Report Nr 40 - The Personal Computer Lilith. Apr 1981. N. Wirth  "The Yellow Report"
    ETH Report Nr 40 (PDF file 1.5 MB)

Modula-2 Compiler Sources

Multi-Pass Modula-2 Compiler

Professor Niklaus Wirth has kindly given us permission to make the following items publicly available here:

The first Modula-2 compiler was completed in 1979 and ran on the DEC PDP-11. This is the source code of the PC version of the second Modula-2 compiler. It generates M-code for the Lilith and can be compiled and run on a PC using the M2M-PC System (see below). The following text document files are included with the sources:

  • Overview of the Modula-2 Compiler M2M
  • Files on Tape for M2M Compiler
  • The M-code interpreter (Appendix 1 of the Yellow Report)

The appendix includes a table of the M-Code instructions and the Modula-2 source of the M-Code intepreter providing a high-level definition of the Lilith computer's instruction set and architecture.

  • The M2M-PC System - v1.35 for MS-DOS. Modula Research Institute. Feb 1984
    M2M-PC v1.35 for MS-DOS (Zip file 120 KB)

The M2M-PC System is an M-code interpreter which allows the Lilith Modula-2 compiler and its output to be executed on the IBM-PC running MS-DOS 2.0 or later. It can also be run on a Windows XP system under cmd.exe. Refer to the Modula-2 Handbook for instructions on how to use the system:

  • The Modula-2 Handbook - A Guide for Modula-2 Users and Programmers. Nov 1983. Modula Research Institute 
    The Modula-2 Handbook (PDF file 1.8 MB)
Single-Pass Modula-2 Compiler
  • A Single-pass Modula-2 Compiler for Lilith, N.Wirth, Nov 1985 
    Release Notes (3 pp PDF file 166 KB) 

The third Lilith Modula-2 compiler was released in 1985. It is a single-pass compiler developed by J. Gutknecht and N. Wirth and compiles about four times faster than the earlier multi-pass compiler. An executable version of this compiler runs on the Lilith emulator EmuLith but a copy of the source code cannot currently (Jul 2009) be located.

  • MacMeth Compiler Sources. Copyright 1992 Departement Informatik ETH Zuerich
    MacMeth Compiler Sources (Zip file 202 KB)

This source code is of a version of the single-pass compiler which generates native code for the Motorola MC68000 and MC68040 microprocessors. Refer to the file copyright contained in the zip file for the relevant licensing conditions.

Two versions of the compiler are included. They correspond to the versions of the language as described in the Third (1985) and Fourth Editions (1988) of the reference:

   Programming in Modula-2, N. Wirth, published by Springer-Verlag.

These compilers are used in the Apple Macintosh Modula-2 system MacMETH. The MacMETH User Manual contains detailed operational information about the compilers:

   MacMETH 3.2. A Fast Modula-2 Language System For the Apple Macintosh - User Manual.
   Wirth, N., Gutknecht, J., Heiz, W., Schär, H.R., Seiler, H., Vetterli, C. & Fischlin, A. (1992).
   Departement Informatik ETH Zürich. 4th, completely revised edition, Release 3.2. (116 pp PDF file 732 KB)

A copy of this manual can be downloaded from the MacMeth website

Back to Contents

Related Dissertations

  • Code Generation and the Lilith Architecture, C. Jacobi. ETH Zurich, 1982.  
    Diss. ETH No 7195 (108 pp PDF file 30.5 MB)

  • Separate Compilation in Modula-2 and the Structure of the Modula-2 Compiler on the Personal Computer Lilith, L. Geissmann. ETH Zurich, 1983.  
    Diss. ETH No 7286 (64 pp PDF file 22.3 MB)

Back to Contents

Further Reading

  • Programming in Modula-2, N. Wirth, Springer-Verlag, 1982, ISBN 3-540-12206-0.

    This is the reference document for the original version of Modula-2.
  • The School of Niklaus Wirth, "The Art of Simplicity", László Böszörményi, Jürg Gutknecht, Gustav Pomberger (Eds.):  Morgan-Kaufmann 2000, ISBN 3-932588-85-1

    There are many references to Lilith and Modula-2 throughout this book, but chapters of particular interest are:

    • Medos in Retrospect
    • Lilith Meets the World of Business
    • The Chip Company that Made $100M with Modula-2
  • Modula-2 and Lilith-related Publications at the ETH Zurich Department of Computer Science

Back to Contents

Related Links

The Modula-2 Webring Navigator
List All | Random | << Previous | Next >> | Join
Copyright © 2019 CFB Software All rights reserved. Privacy Policy
ABN 20 939 391 060