A resource for the Oberon-07 language

A few years after his retirement in 1999, N. E. Wirth released electronic revisions of his books for Oberon: Programming in Modula-2, Fourth Edition as Programming In Oberon, an Oberon version of Algorithms and Data Structures, Project Oberon with a new Appendix, and Compiler Construction.

MODULE hello; (*DEE 2016-02-06/2016-08-15*)
  IMPORT Texts, Oberon;
  VAR W: Texts.Writer;
  PROCEDURE world*;
  BEGIN Texts.WriteString(W, "hello, world");
    Texts.Append(Oberon.Log, W.buf)
  END world;

BEGIN Texts.OpenWriter(W)
END hello.

ORP.Compile hello.Mod /s ~

At the end of 2007, the introduction of a new compiler design was published electronically, describing an extension of Oberon-SA (Technical Memo Nr. 2, 1998/1999), and a simplification and revision of Oberon. Later in 2008, a formal report was released based on it, revising the October 1990 Revised Oberon Report (not including the November 1990 and Reiser PIO 1992 additions and corrections). A couple months later, he revised the document on the compiler design. The compiler paper described a rewrite of the model helicopter implementation for the DEC StrongARM DS1035 and FPGA XC6200 begun in 1995, using what was now called Oberon-07.

In 2010, work on a new FPGA design led to a revision of the Oberon-07 Report in 2011 and a revision of Compiler Construction. This design was moved to the Xilinx Spartan-3 in 2013. A 1 October 2013 revision of the 2011 Report (summarized 20 November 2013), and a revision of Project Oberon (2005), now released as the Second Edition. Revisions to the 2013 Report were published in February, 10 March, and June of 2014; February and March of 2015 (the February 2014 Report was mislabeled as the October 2013 Report. The June 2014 Report was mislabeled as the March 2014 Report); and 18 March 2015, and 19 March 2015 (silently correcting an appendix oversight in the 18 March version). The 15 February 2016 Oberon Report was modified and posted 23 February 2016. The current Oberon Report is labeled 3 May 2016, posted 8 May and modified 10 May 2016.

Work continues on Compiler Construction and the code base of Project Oberon 2013.


Join us in the #oberon channel of chat.freenode.net to discuss all things related to Wirth and Oberon. Also, see Usenet: comp.lang.oberon. Finally, the ETH Oberon mailing list: https://lists.inf.ethz.ch/mailman/listinfo/oberon.