The most comprehensive list of Modula-2 compilers on the net

  [ last updated: July 18, 2012 ]

Suggestions for updates? Please ask for contact details in the Modula-2 IRC channel on freenode.


Open Source Modula-2 Compilers

Entries listed in this section are compilers made available under an open source license or released into the public domain. Compilers will not be listed in this section if no license information is available or if the open source license has been withdrawn for subsequent versions of the same software.

Compilers that are actively maintained and available:

ACK Modula-2

The Amsterdam Compiler Kit (ACK), developed at the University of Amsterdam (NL), includes a Modula-2 compiler. Target platforms are CP/M, Linux and Minix. BSD licensed.

GNU Modula-2

PIM 2/3/4 and ISO compliant Modula-2 front-end for the GNU Compiler Collection (GCC), developed and maintained at the University of Clamorgan (UK). Cross-platform, known to build and work on BSD, Linux, Mac OS X, Solaris and others. GPL licensed.

Modula2jcc

Modula-2 compiler in Java, using Flex and Slk. Graduation project. GPL licensed.

Modula-2 R10

Reference compiler for Modula-2 R10, a 2010 revision of classic Modula-2. The reference compiler is written in C and targets C and LLVM to allow bootstrapping on a wide range of architectures and operating systems. The compiler sources are licensed under a peer-review license while the language specification is under peer review. Upon completion of the review, the compiler sources will be re-licensed under a BSD-style license. As of July 2010 the compiler is still under development.

Objective Modula-2

Object oriented Modula-2 compiler based on Modula-2 R10 with language extensions for native Cocoa and GNUstep API support. Actively developed by the (non-profit) Objective Modula-2 Project. The compiler is still under development. Cross-platform. BSD licensed.

Compilers that are no longer maintained, but still available:

M2Amiga

Modula-2 compiler for the Commodore Amiga. MIT license.

M2C

PIM3/4 compliant Modula-2 to C translator for POSIX systems. Developed by Vladimir N.Makarov, but no longer maintained. GPL licensed.

M2F

PIM2 compliant Modula-2 compiler for Linux (Intel x86 only). Predecessor to GNU Modula-2. Developed at the University of Clamorgan (UK), but no longer maintained. GPL licensed.

M2toM3

PIM Modula-2 source to Modula-3 source translator developed at the University of Aachen (DE). Translation of library calls assumes Sun Modula-2 standard library. Local modules are not supported, variant records are flattened. Produces human readable output. GPL licensed.

MacLogimo

PIM Modula-2 compiler for classic MacOS (M68K only), originally developed at ETH Zurich. Copyleft license.

MacMETH

PIM Modula-2 compiler for classic MacOS (M68K), developed at ETH Zurich. Free for non-commercial use license.

Megamax Modula-2

Modula-2 compiler for Atari ST. Copyleft license.

Modula-P

Modula-2 compiler with parallel extension for AIX, Dynix, HP-UX, SunOS and Ultrix, developed at the University of Stuttgart (DE), but no longer maintained. Free for non-commercial use license.

Ulm Modula-2

PIM Modula-2 implementation for Solaris versions 2 and 8 (SPARC) and SunOS 4.1 (M68K), developed at the University of Ulm (DE), but no longer maintained. The compiler and tools are GPL licensed. The library is LGPL licensed.


Closed Source Freeware Modula-2 Compilers

Entries listed in this section are compilers made available under a commercial license but free of charge. Compilers will not be listed in this section if the license is temporary (e.g. trial version), if no license information is available or if the license has been withdrawn for subsequent versions of the same software.

Compilers that are actively maintained and available:

Aglet Modula-2

PIM2 and partially ISO compliant Modula-2 compiler for Amiga OS 4.0 (PPC). Developed by Tom Breeden. Freeware.

Gardens Point Modula-2

PIM and partially ISO compliant Modula-2 compiler for FreeBSD, Linux, Solaris and Windows/CLR. Developed at the University of Brisbane (AU). Freeware.

Compilers that are no longer maintained, but still available:

ADW Modula-2

Modula-2 compiler for Windows (32- and 64-bit), based on Stony Brook Modula-2. No longer maintained. Freeware.

FST Modula-2

PIM compliant Modula-2 compiler for MS-DOS, developed by Fitted Software Tools Inc. No longer maintained. Freeware.

Hochstrasser Modula-2

PIM Modula-2 compiler for CP/M (Z-80), developed by Hochstrasser AG. No longer maintained. Freeware.

MOCKA

PIM3 Modula-2 compilers for 386BSD and Linux, developed at the University of Karlsruhe (DE). No longer maintained. 386 and Linux versions are freeware. Versions for other target platforms are available as commercial products.

Strannik Modula-2

Modula-2 compiler for 32-bit Windows. No PIM and no ISO libraries. Freeware.

XDS Modula-2

ISO compliant Modula-2 compilers for Linux (x86 only) and Windows, developed by Excelsior LLC. C source code or x86 object code generation. No longer maintained but commercial support still available. Freeware.


Commercial Modula-2 Compilers

Entries listed in this section are compilers made available under a commercial license against payment of a license fee. Compilers will not be listed in this section if the availability of the software cannot be verified.

Compilers that are actively maintained and available:

Cambridge Modula-2

The Cambridge Modula-2 compiler is based on a subset of PIM4 with language extensions for embedded development. The compiler runs on MS-DOS and it generates code for M68K based embedded microcontrollers running the MINOS operating system.

Mod51 Modula-2

The Mod51 Modula-2 compiler is based on ISO Modula-2 with language extensions for embedded development following the IEC1131 standard. The compiler generates standalone code for 80C51 based microcontrollers.

Modulaware Modula-2

ISO Modula-2 compilers for OpenVMS Alpha (64-bit) and OpenVMS VAX (32-bit).

p1 Modula-2

ISO Modula-2 compilers for Mac OS X (PPC, Carbon API only) and classic MacOS (M68K and PPC). A free trial version is available.

Compilers that are no longer maintained but still available:

M2VMS

PIM3 Modula-2 compilers for OpenVMS Alpha (64-bit) and OpenVMS VAX (32-bit).

Logitech/Multiscope Modula-2

PIM3 Modula-2 compilers for MS-DOS.

MOCKA

Cross-platform PIM3 Modula-2 compiler developed at the University of Karlsruhe (DE). Target platforms are 386BSD, AIX, DEC/OSF, HP-UX, IRIX, Linux, NEWS, NeXT, PARIX, Solaris 2, SunOS 4, Ultrix and C. The 386BSD and Linux versions are available as freeware.


Modula-2 Compilers Without License

Entries listed in this section are compilers that are made available without license. Legally, use of such software without express permission from the copyright holder is UNAUTHORISED. Interested parties are advised to seek such permission before use.

Modula-2 compilers by ETH Zurich

Copyright held by the Department of Computer Science at ETH Zurich.

M2O translator by N.Wirth

PIM Modula-2 to Component Pascal translator originally developed by N.Wirth and amended by B.Treutwein to preserve comments in the generated output. No license.

Mtc translator by GMD Karlsruhe

PIM Modula-2 to C translator, developed at the University of Karlsruhe (DE). No license.

Copyright held by the German National Research Center for Computer Science (GMD).

Mtc download links:

Rowley Modula-2 for Helios by Rowley Associates

Modula-2 compiler for transputers running the Helios operating system, made available as a free binary and library sources.

Copyright held by Rowley Associates, UK.


Aborted and Discontinued Modula-2 Compilers

Entries listed in this section are open source compiler projects that have been abandoned before completion, or open source branches of commercial compilers that have been orhpaned by license withdrawal, or compilers that are no longer available.

Abandoned or aborted open source efforts:

Discontinued products:


Modula-2 Compilers of Unknown Status

Entries listed in this section are compilers that are known to exist or known to have existed but are of unknown or unverifiable status.