N. E. Wirth Language Compilers

This page documents Oberon compilers that comply with a language report of Niklaus Wirth. It does not document variants, e.g. Component Pascal, Oberon-2, unless those are treated as optional extensions.

Oberon-07 Compilers

Project Oberon
Wirth's reference platform since 2013, built with and including his compiler.
Chris Burrows fully complete (statically linked) compiler for the ARM, (CFB Software). Runs on Windows.
Oberon-07 compliant with the 2016 Report. Its benefit is an .exe available for Windows 64-bit. It does not appear to produce a Portable Executable, however. This was previously the AyaCompiler.
Oberon-07 to C translator.
Oberon-07 to Java bytecode compiler
Akron's Oberon-07/11 compiler
Open-source (GPL) compiler for Windows by Krotov Anton, noteable for generating binaries for other OSes. The following appears to be a patching project: https://github.com/prospero78/Oberon07ru. The original 0.7.2 page was here: https://sites.google.com/site/oberon07compiler/versii
Runs under Unix A2, and generates RISC objects that can be run with an accompanying emulator. See the Oberon Community Platform for more details on the Oberon systems (and compilers) from ETH Zürich.
An Oberon-07 to C, and other languages, translator. Goals appear to be different dialects of Oberon-07. Code comments and output are in Russian.
Vladislav Folts' (and contributors) Oberon-07 to JavaScript translator. Includes a separate mode for extensions (Eberon). Implements the 2015 Oberon Report (not dynamically loaded).
Oxford Oberon Compiler
Uses the Objective Caml runtime, but is statically linked. Though essentially an Oberon-2 compiler, version 3 includes flags with the intent of allowing a valid Oberon-07 program to compile and run correctly (but not strictly checked). Written against the 2013 Report.
Oleg N. Cher's Oberon compiler, an update of Ofront accepting different versions of Oberon, including being able to process Oberon-07 written against the final 2016 support.

Oberon-0 Compilers

Oberon-0 refers to the subset language since the 1996 edition of Compiler Construction. It was extended in the 2011 edition.

Misc Dormant Oberon Compilers

A minimal commercial, statically linked, (32-bit, by definition) shareware compiler from Russia, (Exact Programs). Implements classic Oberon-07 using the 2008 Report.
Oberon Linux Revival
A port of ETH Oberon to GNU/Linux.
The Oberon System v4
Also known as Linz Oberon. This is essentially the version of Oberon described in Reiser's book. Also see sf.net/p/oberon
This is a Linz Oberon fork for GNU/Linux with an Oberon-to-C compiler. Targets the 1992 report.

Previous compilers by N. E. Wirth

Chris Burrows' Modula-2 page
A compiler by Van Kiet Le on the DEC PDP 11/40, GT44, developed between 1975-1977. See The Module: A Tool For Structured Programming, ETH Dissertation 6153, 1978.
PL0 compiler and interpreter from N. E. Wirth's Algorithms + Data Structures = Programs (1976).
CDC 6000 Pascal
Sources of the CDC Pascal compilers, hosted by Scott Moore.
Stanford Algol-W
August 1969 code of the extended Algol-W, by one of Wirth's collaborators. See AB 24, pg. 13-17, and AB 27 pg. 4-5.
Euler IV
Wirth's Euler Translator, March 1965, for the Burroughs B5500.