N. E. Wirth Language Compilers

This page documents compilers that comply with a language report of Niklaus Wirth. It does not document variants, e.g. Component Pascal, INCITS/ISO/IEC-7185:1990, Oberon-2.

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

Oberon-07 Compilers compliant with an older Report

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.
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
A fairly portable compiler, runs on Windows, Debian and Debian derivatives (e.g. Ubuntu), macOS, and Raspberry Pi. It 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.
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.

Oberon-07 dormant

nickelsworth transpiler
The author indicates his work on this is done, unless others wish to contribute.
Akron's Oberon-07/11 compiler
Open-source (GPL), 32-bit compiler for Windows by Krotov Anton. An editor and some example libraries are provided. Linking is static, but it is noteable for generating binaries for other OSes (e.g. GNU/Linux). Some report that Krotov still works on this compiler, but without pointing to updates to 0.7.2. The following appears to be a patching project: https://github.com/prospero78/Oberon07ru. This appears to be an actual dev page from Akron: https://github.com/AntKrotov/oberon-07-compiler.
A minimal commercial, statically linked, (32-bit, by definition) shareware compiler from Russia, (Exact Programs). Implements classic Oberon-07 using the 2008 Report. Though the author has indicated his intent to provide an update, one has never been posted that can be found.


Implemented on ARM and FPGA between 1995 and 1999. Revised in 2007 which spawned Oberon-07.

Oberon-0 Compilers

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

Oberon Compilers

Oberon Community Platform
ETH Oberon v3, A2 (once called AOS and BlueBottle), and Oberon/F.
The Oberon System v4
Also known as Linz Oberon. This is the final version of the original Oberon as 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.

Oberon dormant

Ulm Oberon
Likely the only 3rd party, original Oberon (1988) compiler.
Oberon Script
Compiles to JavaScript.
Compiles to C